diff options
Diffstat (limited to 'src/mailman_pgp/mta/tests')
| -rw-r--r-- | src/mailman_pgp/mta/tests/test_personalized.py | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/mailman_pgp/mta/tests/test_personalized.py b/src/mailman_pgp/mta/tests/test_personalized.py index 5550c4d..d9d0132 100644 --- a/src/mailman_pgp/mta/tests/test_personalized.py +++ b/src/mailman_pgp/mta/tests/test_personalized.py @@ -30,6 +30,7 @@ from mailman_pgp.mta.personalized import PGPPersonalizedDelivery from mailman_pgp.pgp.tests.base import load_key from mailman_pgp.pgp.wrapper import PGPWrapper from mailman_pgp.testing.layers import PGPConfigLayer +from mailman_pgp.utils.pgp import verifies class PersonalizedDeliveryTester(PGPPersonalizedDelivery): @@ -85,9 +86,14 @@ Subject: test self.assertEqual(len(agent.deliveries), 1) out_msg = agent.deliveries[0][1] - wrapped = PGPWrapper(out_msg) - self.assertTrue(wrapped.is_encrypted()) - decrypted = wrapped.decrypt(self.anne_key) + out_wrapped = PGPWrapper(out_msg) + self.assertTrue(out_wrapped.is_encrypted()) + + decrypted = out_wrapped.decrypt(self.list_key) + wrapped = PGPWrapper(decrypted) + self.assertTrue(wrapped.is_signed()) + + decrypted = out_wrapped.decrypt(self.anne_key) wrapped = PGPWrapper(decrypted) self.assertTrue(wrapped.is_signed()) @@ -104,9 +110,14 @@ Subject: test self.assertEqual(len(agent.deliveries), 1) out_msg = agent.deliveries[0][1] - wrapped = PGPWrapper(out_msg) - self.assertTrue(wrapped.is_encrypted()) - decrypted = wrapped.decrypt(self.anne_key) + out_wrapped = PGPWrapper(out_msg) + self.assertTrue(out_wrapped.is_encrypted()) + + decrypted = out_wrapped.decrypt(self.list_key) + wrapped = PGPWrapper(decrypted) + self.assertFalse(wrapped.is_signed()) + + decrypted = out_wrapped.decrypt(self.anne_key) wrapped = PGPWrapper(decrypted) self.assertFalse(wrapped.is_signed()) @@ -125,6 +136,7 @@ Subject: test out_msg = agent.deliveries[0][1] wrapped = PGPWrapper(out_msg) self.assertTrue(wrapped.is_signed()) + self.assertTrue(verifies(wrapped.verify(self.list_key.pubkey))) def test_none(self): with transaction(): @@ -142,3 +154,12 @@ Subject: test wrapped = PGPWrapper(out_msg) self.assertFalse(wrapped.is_signed()) self.assertFalse(wrapped.is_encrypted()) + + def test_no_pgp_list(self): + ordinary_list = create_list('ordinary@example.com') + msgdata = dict(recipients=['anne@example.org']) + agent = PersonalizedDeliveryTester() + refused = agent.deliver(ordinary_list, self.msg, msgdata) + + self.assertEqual(len(refused), 0) + self.assertEqual(len(agent.deliveries), 1)
\ No newline at end of file |
