1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import unittest
20
21 from dkim.canonicalization import (
22 CanonicalizationPolicy,
23 InvalidCanonicalizationPolicyError,
24 Simple,
25 Relaxed,
26 )
27
28
34
35
45
46
47 -class TestSimpleAlgorithmBody(BaseCanonicalizationTest):
48
49 func = staticmethod(Simple.canonicalize_body)
50
52 self.assertCanonicalForm(
53 b'Foo \tbar \r\n',
54 b'Foo \tbar \r\n\r\n')
55
56 - def test_adds_crlf(self):
57 self.assertCanonicalForm(
58 b'Foo bar\r\n',
59 b'Foo bar')
60
62 self.assertCanonicalForm(
63 b'\r\n',
64 b'')
65
67 self.assertCanonicalForm(
68 b'\r\n',
69 b'\r\n')
70
72 self.assertCanonicalForm(
73 b'\r\n',
74 b'\r\n\r\n')
75
76
78
79 func = staticmethod(Relaxed.canonicalize_headers)
80
82 self.assertCanonicalForm(
83 [(b'foo', b'Bar\r\n'), (b'baz', b'Foo\r\n')],
84 [(b'Foo', b'Bar\r\n'), (b'BaZ', b'Foo\r\n')])
85
90
95
97 self.assertCanonicalForm(
98 [(b'foo', b'Bar baz\r\n')],
99 [(b'Foo ', b' Bar \t baz \r\n')])
100
101
102 -class TestRelaxedAlgorithmBody(BaseCanonicalizationTest):
103
104 func = staticmethod(Relaxed.canonicalize_body)
105
107 self.assertCanonicalForm(
108 b'Foo\r\nbar\r\n',
109 b'Foo \t\r\nbar\r\n')
110
112 self.assertCanonicalForm(
113 b'Foo bar\r\n',
114 b'Foo \t bar\r\n')
115
117 self.assertCanonicalForm(
118 b'Foo\r\nbar\r\n',
119 b'Foo\r\nbar\r\n\r\n\r\n')
120
121 - def test_adds_crlf(self):
122 self.assertCanonicalForm(
123 b'Foo bar\r\n',
124 b'Foo bar')
125
126 - def test_empty_body(self):
127 self.assertCanonicalForm(
128 b'',
129 b'')
130
132 self.assertCanonicalForm(
133 b'',
134 b'\r\n')
135
137 self.assertCanonicalForm(
138 b'',
139 b'\r\n\r\n')
140
141
175
176
195
196
198 from unittest import TestLoader
199 return TestLoader().loadTestsFromName(__name__)
200