blob: 9ebf933dcbf0c6a13406791f86b5c5575d73a070 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
import unittest
import textwrap
import copy
import pickle
from email import policy
from email import message_from_string
from email.headerregistry import HeaderRegistry
from test.test_email import TestEmailBase
class TestPickleCopyHeader(TestEmailBase):
unstructured = HeaderRegistry()('subject', 'this is a test')
def test_deepcopy_unstructured(self):
h = copy.deepcopy(self.unstructured)
self.assertEqual(str(h), str(self.unstructured))
def test_pickle_unstructured(self):
p = pickle.dumps(self.unstructured)
h = pickle.loads(p)
self.assertEqual(str(h), str(self.unstructured))
address = HeaderRegistry()('from', 'frodo@mordor.net')
def test_deepcopy_address(self):
h = copy.deepcopy(self.address)
self.assertEqual(str(h), str(self.address))
def test_pickle_address(self):
p = pickle.dumps(self.address)
h = pickle.loads(p)
self.assertEqual(str(h), str(self.address))
class TestPickleCopyMessage(TestEmailBase):
testmsg = message_from_string(textwrap.dedent("""\
From: frodo@mordor.net
To: bilbo@underhill.org
Subject: help
I think I forgot the ring.
"""), policy=policy.default)
def test_deepcopy(self):
msg2 = copy.deepcopy(self.testmsg)
self.assertEqual(msg2.as_string(), self.testmsg.as_string())
def test_pickle(self):
p = pickle.dumps(self.testmsg)
msg2 = pickle.loads(p)
self.assertEqual(msg2.as_string(), self.testmsg.as_string())
if __name__ == '__main__':
unittest.main()
|