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.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/mailman_pgp/pgp/tests/base.py b/src/mailman_pgp/pgp/tests/base.py
index 7d63602..b07fdf9 100644
--- a/src/mailman_pgp/pgp/tests/base.py
+++ b/src/mailman_pgp/pgp/tests/base.py
@@ -16,6 +16,7 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
""""""
+import unittest
from email import message_from_file
from pgpy import PGPKey
@@ -33,5 +34,36 @@ def load_key(path):
return key
-class PGPTestCase():
- pass
+class WrapperTestCase(unittest.TestCase):
+ wrapper = None
+
+ def is_signed(self, message, signed):
+ wrapped = self.wrapper(message)
+ self.assertEqual(wrapped.is_signed(), signed)
+
+ def verify(self, message, key, valid):
+ wrapped = self.wrapper(message)
+ self.assertEqual(bool(wrapped.verify(key)), valid)
+
+ def is_encrypted(self, message, encrypted):
+ wrapped = self.wrapper(message)
+ self.assertEqual(wrapped.is_encrypted(), encrypted)
+
+ def decrypt(self, message, key, clear):
+ wrapped = self.wrapper(message)
+ self.assertEqual(wrapped.decrypt(key).message,
+ bytearray(clear, 'latin-1'))
+
+ def has_keys(self, message, has_keys):
+ wrapped = self.wrapper(message)
+ self.assertEqual(wrapped.has_keys(), has_keys)
+
+ def keys(self, message, keys):
+ wrapped = self.wrapper(message)
+ loaded = list(wrapped.keys())
+ loaded_fingerprints = list(map(lambda key: key.fingerprint, loaded))
+
+ self.assertEqual(len(loaded), len(keys))
+
+ fingerprints = list(map(lambda key: key.fingerprint, keys))
+ self.assertListEqual(loaded_fingerprints, fingerprints)