diff options
Diffstat (limited to 'src/mailman_pgp/pgp/tests/base.py')
| -rw-r--r-- | src/mailman_pgp/pgp/tests/base.py | 36 |
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) |
