aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/tests/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/pgp/tests/base.py')
-rw-r--r--src/mailman_pgp/pgp/tests/base.py49
1 files changed, 37 insertions, 12 deletions
diff --git a/src/mailman_pgp/pgp/tests/base.py b/src/mailman_pgp/pgp/tests/base.py
index ccdf7dd..8a5473d 100644
--- a/src/mailman_pgp/pgp/tests/base.py
+++ b/src/mailman_pgp/pgp/tests/base.py
@@ -41,27 +41,52 @@ class WrapperTestCase(TestCase):
wrapped = self.wrapper(message)
self.assertEqual(wrapped.is_signed(), signed)
+ def sign(self, message, key):
+ wrapped = self.wrapper(message)
+ signed = wrapped.sign(key)
+ signed_wrapped = self.wrapper(signed)
+ self.assertTrue(signed_wrapped.is_signed())
+
+ def sign_verify(self, message, priv, pub):
+ wrapped = self.wrapper(message)
+ signed = wrapped.sign(priv)
+ signed_wrapped = self.wrapper(signed)
+ for signature in signed_wrapped.verify(pub):
+ self.assertTrue(bool(signature))
+
def verify(self, message, key, valid):
wrapped = self.wrapper(message)
- verified = False
- try:
- verified = bool(wrapped.verify(key))
- except:
- pass
- self.assertEqual(verified, valid)
+ for signature in wrapped.verify(key):
+ self.assertEqual(bool(signature), valid)
def is_encrypted(self, message, encrypted):
wrapped = self.wrapper(message)
self.assertEqual(wrapped.is_encrypted(), encrypted)
+ def encrypt(self, message, *keys, **kwargs):
+ wrapped = self.wrapper(message)
+ encrypted = wrapped.encrypt(*keys, **kwargs)
+ encrypted_wrapped = self.wrapper(encrypted)
+ self.assertTrue(encrypted_wrapped.is_encrypted())
+
+ def encrypt_decrypt(self, message, pub, priv):
+ wrapped = self.wrapper(message)
+ encrypted = wrapped.encrypt(pub)
+
+ encrypted_wrapped = self.wrapper(encrypted)
+ decrypted = encrypted_wrapped.decrypt(priv)
+ decrypted_wrapped = self.wrapper(decrypted)
+
+ self.assertFalse(decrypted_wrapped.is_encrypted())
+ self.assertEqual(decrypted.get_payload(), message.get_payload())
+
def decrypt(self, message, key, clear):
wrapped = self.wrapper(message)
- decrypted = None
- try:
- decrypted = wrapped.decrypt(key).message
- except:
- pass
- self.assertEqual(decrypted, bytearray(clear, 'latin-1'))
+ decrypted = wrapped.decrypt(key)
+ decrypted_wrapped = self.wrapper(decrypted)
+
+ self.assertFalse(decrypted_wrapped.is_encrypted())
+ self.assertEqual(decrypted.get_payload(), clear)
def has_keys(self, message, has_keys):
wrapped = self.wrapper(message)