summaryrefslogtreecommitdiff
path: root/src/mailman_pgp/testing/pgp.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/testing/pgp.py')
-rw-r--r--src/mailman_pgp/testing/pgp.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mailman_pgp/testing/pgp.py b/src/mailman_pgp/testing/pgp.py
index 844b708..7f207e3 100644
--- a/src/mailman_pgp/testing/pgp.py
+++ b/src/mailman_pgp/testing/pgp.py
@@ -26,6 +26,7 @@ from pgpy import PGPKey
from pkg_resources import resource_string
from mailman_pgp.testing.layers import PGPLayer
+from mailman_pgp.utils.pgp import revoc_from_blob
def load_message(path):
@@ -41,6 +42,12 @@ def load_key(path):
return key
+def load_revoc(path):
+ return revoc_from_blob(resource_string('mailman_pgp.pgp.tests',
+ os.path.join('data', 'revocs',
+ path)))
+
+
def payload_equal(one_msg, other_msg):
one_payload = one_msg.get_payload()
other_payload = other_msg.get_payload()
@@ -139,6 +146,36 @@ class WrapperTestCase(TestCase):
fingerprints = list(map(lambda key: key.fingerprint, keys))
self.assertListEqual(loaded_fingerprints, fingerprints)
+ def attach_keys(self, message, keys):
+ wrapped = self.wrap(message)
+ for key in keys:
+ attached = wrapped.attach_key(key)
+ wrapped = self.wrap(attached)
+ loaded = list(wrapped.keys())
+
+ self.assertTrue(wrapped.has_keys())
+ loaded_fingerprints = list(map(lambda key: key.fingerprint, loaded))
+ fingerprints = list(map(lambda key: key.fingerprint, keys))
+ self.assertListEqual(loaded_fingerprints, fingerprints)
+
+ def has_revocs(self, message, has_revocs):
+ wrapped = self.wrap(message)
+ self.assertEqual(wrapped.has_revocs(), has_revocs)
+
+ def is_revocs(self, message, is_revocs):
+ wrapped = self.wrap(message)
+ self.assertEqual(wrapped.is_revocs(), is_revocs)
+
+ def revocs(self, message, revocs):
+ wrapped = self.wrap(message)
+ loaded = list(wrapped.revocs())
+ self.assertEqual(len(loaded), len(revocs))
+
+ get_issuer = lambda revoc: revoc.signer
+ loaded_issuers = list(map(get_issuer, loaded))
+ issuers = list(map(get_issuer, revocs))
+ self.assertListEqual(loaded_issuers, issuers)
+
def sign_encrypt_decrypt_verify(self, message, sign_key, encrypt_key):
wrapped = self.wrap(message)
encrypted = wrapped.sign_encrypt(sign_key, encrypt_key.pubkey)