Quick fix to make end-to-end tests verify all canonicalization cases. Tests for bug #587783.
This commit is contained in:
+14
-6
@@ -62,15 +62,23 @@ class TestSignAndVerify(unittest.TestCase):
|
|||||||
|
|
||||||
def test_verifies(self):
|
def test_verifies(self):
|
||||||
# A message verifies after being signed.
|
# A message verifies after being signed.
|
||||||
sig = dkim.sign(self.message, b"test", b"example.com", self.key)
|
for header_algo in (b"simple", b"relaxed"):
|
||||||
res = dkim.verify(sig + self.message, dnsfunc=self.dnsfunc)
|
for body_algo in (b"simple", b"relaxed"):
|
||||||
self.assertTrue(res)
|
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):
|
def test_altered_body_fails(self):
|
||||||
# An altered body fails verification.
|
# An altered body fails verification.
|
||||||
sig = dkim.sign(self.message, b"test", b"example.com", self.key)
|
for header_algo in (b"simple", b"relaxed"):
|
||||||
res = dkim.verify(sig + self.message + b"foo", dnsfunc=self.dnsfunc)
|
for body_algo in (b"simple", b"relaxed"):
|
||||||
self.assertFalse(res)
|
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):
|
def test_badly_encoded_domain_fails(self):
|
||||||
# Domains should be ASCII. Bad ASCII causes verification to fail.
|
# Domains should be ASCII. Bad ASCII causes verification to fail.
|
||||||
|
|||||||
Reference in New Issue
Block a user