summaryrefslogtreecommitdiff
path: root/tests/mail
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mail')
-rw-r--r--tests/mail/tests.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/mail/tests.py b/tests/mail/tests.py
index 3fb1a47bc7..301e589409 100644
--- a/tests/mail/tests.py
+++ b/tests/mail/tests.py
@@ -1,5 +1,6 @@
import mimetypes
import os
+import pickle
import shutil
import socket
import sys
@@ -654,6 +655,23 @@ class MailTests(MailTestsMixin, SimpleTestCase):
self.assertIn(html_content, msg.message().as_string())
+ def test_alternatives_and_attachment_serializable(self):
+ html_content = "<p>This is <strong>html</strong></p>"
+ mime_type = "text/html"
+
+ msg = EmailMultiAlternatives(alternatives=[(html_content, mime_type)])
+ msg.attach("test.txt", "This is plain text.", "plain/text")
+
+ # Alternatives and attachments can be serialized.
+ restored = pickle.loads(pickle.dumps(msg))
+
+ self.assertEqual(restored.subject, msg.subject)
+ self.assertEqual(restored.body, msg.body)
+ self.assertEqual(restored.from_email, msg.from_email)
+ self.assertEqual(restored.to, msg.to)
+ self.assertEqual(restored.alternatives, msg.alternatives)
+ self.assertEqual(restored.attachments, msg.attachments)
+
def test_none_body(self):
msg = EmailMessage("subject", None, "from@example.com", ["to@example.com"])
self.assertEqual(msg.body, "")