aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/mta/tests/test_personalized.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/mta/tests/test_personalized.py')
-rw-r--r--src/mailman_pgp/mta/tests/test_personalized.py33
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