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