def test_box_mock(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") data = os.path.abspath(os.path.join(os.path.dirname(__file__), "data")) box = MailBoxMock(data, b"unittestunittest", fLOG) box.login() folders = box.folders() assert len(folders) == 1 fLOG(folders) mails = list(box.enumerate_mails_in_folder("trav")) box.logout() fLOG(len(mails)) assert len(mails) > 0 mail0 = mails[0] # fLOG(mail0) bin = mail0.as_bytes() ema = EmailMessage.create_from_bytes(bin) d0 = mail0.to_dict() d1 = ema.to_dict() self.assertEqual(d0["Subject"], d1["Subject"]) render = EmailMessageRenderer() html, css = render.render( "__LOC__", mail0, file_css="example_css.css", attachments=None) assert "example_css.css" in html # fLOG(css) fLOG(html) assert "<tr><th>Date</th><td>Sat, 1 Aug 2015 11:40:50 +0200 (CEST)</td></tr>" in html
def test_box_mock_render(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") data = os.path.abspath(os.path.join(os.path.dirname(__file__), "data")) temp = get_temp_folder(__file__, "temp_render_mock_list_mail") box = MailBoxMock(data, b"unittestunittest", fLOG) box.login() folders = box.folders() assert len(folders) == 1 fLOG(folders) mails = list(box.enumerate_mails_in_folder("trav")) box.logout() email_render = EmailMessageRenderer() def tempf(message, location, prev_mail, next_mail): email_render.render(location, message, None, file_css="mail_style.css", prev_mail=prev_mail, next_mail=next_mail) return "" mails = list((m, tempf) for m in mails) render = EmailMessageListRenderer( title="list of mails", email_renderer=email_render, fLOG=fLOG) res = render.render(iter=mails, location=temp) render.flush() # fLOG(res[0]) if '<a href="d_2015-08-01_p_noreply-at-voyages-sncf-com_ii_8de6a63addb7c03407bc6f0caabd967e.html">2015/08/01 -\n Voyages-sncf.com</a>' not in res[0]: raise Exception(res[0])
def test_box_mock_write(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") data = os.path.abspath(os.path.join(os.path.dirname(__file__), "data")) temp = get_temp_folder(__file__, "temp_write_mock_list_mail") box = MailBoxMock(data, b"unittestunittest", fLOG) box.login() folders = box.folders() assert len(folders) == 1 fLOG(folders) mails = list(box.enumerate_mails_in_folder("trav")) box.logout() email_render = EmailMessageRenderer() render = EmailMessageListRenderer( title="list of mails", email_renderer=email_render, fLOG=fLOG) res = render.write(iter=mails, location=temp, filename="essai.html") render.flush() with open(res[0], "r", encoding="utf8") as f: content = f.read() if '<a href="d_2015-12-20_p_noreply-at-voyages-sncf-com_ii_1bb6fa70421145bed927e00c5e292277.html">2015/12/20 -\n Voyages-sncf.com</a>' not in content: raise Exception(content) if 'list of mails</h1>' not in content: raise Exception(content) allfiles = render.BufferWrite.listfiles() assert len(allfiles) > 0 allfiles.sort() with open(allfiles[0], "r", encoding="utf8") as f: content = f.read() if '<a href="d_2015-08-01_p_noreply-at-voyages-sncf-com_ii_8de6a63addb7c03407bc6f0caabd967e.html"><--</a>' not in content: raise Exception(content)