def test_decode_header(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") name = "=?iso-8859-1?Q?Dupr=E9_Xavier?= <*****@*****.**>" res = EmailMessage.call_decode_header(name) self.assertEqual(res[0], "Dupré Xavier") res = EmailMessage.call_decode_header(name, is_email=True) self.assertEqual(res[0], "Dupré Xavier <*****@*****.**>")
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_metadata(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") data = os.path.abspath(os.path.join(os.path.dirname(__file__), "data")) meta = os.path.join(data, "e.ipynb.metadata") d2 = EmailMessage.read_metadata(meta) fLOG(d2) fLOG(type(d2)) self.assertIsInstance(d2, OrderedDict)
def test_default_filename(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") name = "d_2015-08-01_p_noreply-at-voyages-sncf-com_ii_52df24c718fdf138f997e73c383798eb.html" res = EmailMessage.interpret_default_filename(name) self.assertIsInstance(res, dict) self.assertEqual(len(res), 4) self.assertEqual(res["date"], "2015-08-01")
def test_decode_header(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") st = '"dupre [MailContact]" <*****@*****.**>, =?iso-8859-1?Q?Emmanuel_Gu=E9rin?= <*****@*****.**>' res, enc = EmailMessage.call_decode_header(st) fLOG("***", enc) fLOG("***", res) self.assertEqual(enc, "iso-8859-1") assert res.startswith('"dupre [MailContact]" <*****@*****.**>')