def test_parse_with_parts(self): """Test MailJson.parse() with parts""" mail = load_mail("5.txt") mj = MailJson(mail) mj.include_parts = True mj.include_attachments = False data = mj.parse_mail() part_content = data['parts'][0]['content'] content_begin = '*GDG DevFest 2014' self.assertTrue(part_content.startswith(content_begin))
def test_parse_with_attachments(self): """Test MailJson.parse() with attachments""" mail = load_mail("5.txt") mj = MailJson(mail) mj.include_parts = False mj.include_attachments = True data = mj.parse_mail() attachment_content = data['attachments'][0]['content'] content_begin = 'iVBORw0KGgoAAAANSUhEUgAAAvoAAAD8CAYAAAAG2QDhAABAAElE' self.assertTrue(attachment_content.startswith(content_begin))
def test_parse_with_filters(self): """Test MailJson.parse() with filters""" mail = load_mail("2.txt") mj = MailJson(mail) mj.include_parts = False data = mj.parse_mail() with self.assertRaises(KeyError): p = data['parts'] mj = MailJson(load_mail("5.txt")) mj.include_attachments = False data = mj.parse_mail() with self.assertRaises(KeyError): a = data['attachments'] mj = MailJson(mail) mj.include_headers = ("to", ) data = mj.parse_mail() self.assertEqual(data['headers']['to'], '<*****@*****.**>') self.assertEqual(data['parsed_headers']['to'][0]['email'], "*****@*****.**") with self.assertRaises(KeyError): f = data['headers']['from']