From 19b554212efb9b544c50a820b15518991a3d9ba7 Mon Sep 17 00:00:00 2001 From: William Grant Date: Sat, 4 Jun 2011 13:46:57 +1000 Subject: [PATCH] Quick fix to make end-to-end tests verify all canonicalization cases. Tests for bug #587783. --- dkim/tests/test_dkim.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/dkim/tests/test_dkim.py b/dkim/tests/test_dkim.py index ec23e22..9fee36f 100644 --- a/dkim/tests/test_dkim.py +++ b/dkim/tests/test_dkim.py @@ -62,15 +62,23 @@ class TestSignAndVerify(unittest.TestCase): def test_verifies(self): # A message verifies after being signed. - sig = dkim.sign(self.message, b"test", b"example.com", self.key) - res = dkim.verify(sig + self.message, dnsfunc=self.dnsfunc) - self.assertTrue(res) + for header_algo in (b"simple", b"relaxed"): + for body_algo in (b"simple", b"relaxed"): + sig = dkim.sign( + self.message, b"test", b"example.com", self.key, + canonicalize=(header_algo, body_algo)) + res = dkim.verify(sig + self.message, dnsfunc=self.dnsfunc) + self.assertTrue(res) def test_altered_body_fails(self): # An altered body fails verification. - sig = dkim.sign(self.message, b"test", b"example.com", self.key) - res = dkim.verify(sig + self.message + b"foo", dnsfunc=self.dnsfunc) - self.assertFalse(res) + for header_algo in (b"simple", b"relaxed"): + for body_algo in (b"simple", b"relaxed"): + sig = dkim.sign( + self.message, b"test", b"example.com", self.key) + res = dkim.verify( + sig + self.message + b"foo", dnsfunc=self.dnsfunc) + self.assertFalse(res) def test_badly_encoded_domain_fails(self): # Domains should be ASCII. Bad ASCII causes verification to fail.