def test_alterative(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_ALT) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.context["email"]["bodies"]), 1)
def test_alterative(self): msg = mail.MailRequest("", "", "", EXAMPLE_ALT) make_email(msg, self.inbox) email = models.Email.objects.get() message_object = make_message(email) new_msg = mail.MailRequest("", "", "", str(message_object)) self.assertEqual(len(msg.keys()), len(new_msg.keys())) self.assertEqual(len(list(msg.walk())), len(list(new_msg.walk())))
def test_make_email(self): inbox = factories.InboxFactory() message = MailRequest("locahost", "test@localhost", str(inbox), TEST_MSG) make_email(message, inbox) self.assertEqual(models.Email.objects.count(), 1) self.assertEqual(models.PartList.objects.count(), 6) bodies = [str(part.body.data) for part in models.PartList.objects.select_related("body").order_by("level", "lft")] self.assertEqual(bodies, BODIES)
def test_bad_css(self): """This test uses an example email that causes issue #47""" msg = mail.MailRequest("", "", "", EXAMPLE_PREMAILER_BROKEN_CSS) make_email(msg, self.inbox) email = models.Email.objects.get() message_object = make_message(email) new_msg = mail.MailRequest("", "", "", str(message_object)) self.assertEqual(len(msg.keys()), len(new_msg.keys())) self.assertEqual(len(list(msg.walk())), len(list(new_msg.walk())))
def test_signed_forwarded_digest(self): msg = mail.MailRequest("", "", "", EXAMPLE_SIGNED_FORWARDED_DIGEST) make_email(msg, self.inbox) self.email = models.Email.objects.get() email = models.Email.objects.get() message_object = make_message(email) new_msg = mail.MailRequest("", "", "", str(message_object)) self.assertEqual(len(msg.keys()), len(new_msg.keys())) self.assertEqual(len(list(msg.walk())), len(list(new_msg.walk())))
def test_bad_css(self): """This test uses an example email that causes issue #47""" self.msg = mail.MailRequest("", "", "", EXAMPLE_PREMAILER_BROKEN_CSS) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.context["email"]["bodies"]), 1) self.assertNotIn("Part of this message could not be parsed - it may not display correctly", response.content)
def test_make_email(self): inbox = factories.InboxFactory() message = MailRequest("locahost", "test@localhost", str(inbox), TEST_MSG) make_email(message, inbox) self.assertEqual(models.Email.objects.count(), 1) self.assertEqual(models.PartList.objects.count(), 6) bodies = [six.binary_type(part.body.data) for part in models.PartList.objects.select_related("body").order_by("level", "lft")] self.assertEqual(bodies, BODIES)
def test_premime(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_PREMIME_EMAIL) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) self.assertEqual(self.email.parts.all().count(), 1) self.assertEqual(len(response.context["email"]["bodies"]), 1) self.assertEqual(response.context["email"]["bodies"][0], "<pre>Hi,\n\nHow are you?\n\nThanks,\nTest\n</pre>")
def test_bad_css(self): """This test uses an example email that causes issue #47""" self.msg = mail.MailRequest("", "", "", EXAMPLE_PREMAILER_BROKEN_CSS) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.context["email"]["bodies"]), 1) self.assertNotIn("Part of this message could not be parsed - it may not display correctly", response.content.decode("utf-8"))
def test_digest(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_DIGEST) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) # this email should display all leaves leaf_part_count = len([i for i in self.email.get_parts() if i.is_leaf_node()]) self.assertEqual(len(response.context["email"]["bodies"]), leaf_part_count)
def test_signed_forwarded_digest(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_SIGNED_FORWARDED_DIGEST) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) leaf_part_count = len([i for i in self.email.parts.all() if i.is_leaf_node()]) self.assertEqual(leaf_part_count, 12) self.assertEqual(len(response.context["email"]["bodies"]), 1) self.assertEqual(response.context["email"]["bodies"][0], "<pre>Hello\n</pre>")
def test_digest(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_DIGEST) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) # this email should display all leaves leaf_part_count = len([i for i in self.email.parts.all() if i.is_leaf_node() and i.content_type != "application/pgp-signature"]) self.assertEqual(len(response.context["email"]["bodies"]), leaf_part_count)
def test_signed_forwarded_digest(self): self.msg = mail.MailRequest("", "", "", EXAMPLE_SIGNED_FORWARDED_DIGEST) make_email(self.msg, self.inbox) self.email = models.Email.objects.get() response = self.client.get(self.get_url()) self.assertEqual(response.status_code, 200) leaf_part_count = len([i for i in self.email.get_parts() if i.is_leaf_node()]) self.assertEqual(leaf_part_count, 12) self.assertEqual(len(response.context["email"]["bodies"]), 1) self.assertEqual(response.context["email"]["bodies"][0], "<pre>Hello\n</pre>")