diff options
Diffstat (limited to 'src/mailman_pgp/pgp/tests')
| -rw-r--r-- | src/mailman_pgp/pgp/tests/base.py | 170 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/data/messages/inline_privkey_invalid.eml | 43 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/data/messages/inline_pubkey_invalid.eml | 30 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/data/messages/mime_privkey_invalid.eml | 59 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/data/messages/mime_pubkey_invalid.eml | 46 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_inline.py | 12 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_mime.py | 12 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_mime_multisig.py | 2 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_pgp.py | 2 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_wrapper.py | 2 |
10 files changed, 201 insertions, 177 deletions
diff --git a/src/mailman_pgp/pgp/tests/base.py b/src/mailman_pgp/pgp/tests/base.py deleted file mode 100644 index e16c95e..0000000 --- a/src/mailman_pgp/pgp/tests/base.py +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (C) 2017 Jan Jancar -# -# This file is a part of the Mailman PGP plugin. -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, either version 3 of the License, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# this program. If not, see <http://www.gnu.org/licenses/>. - -"""""" - -import os -from email import message_from_bytes -from unittest import TestCase - -from mailman.email.message import Message -from pgpy import PGPKey -from pkg_resources import resource_string - -from mailman_pgp.testing.layers import PGPLayer - - -def load_message(path): - data = resource_string('mailman_pgp.pgp.tests', - os.path.join('data', 'messages', path)) - return message_from_bytes(data, Message) - - -def load_key(path): - key, _ = PGPKey.from_blob( - resource_string('mailman_pgp.pgp.tests', - os.path.join('data', 'keys', path))) - return key - - -def payload_equal(one_msg, other_msg): - one_payload = one_msg.get_payload() - other_payload = other_msg.get_payload() - if isinstance(one_payload, list) and isinstance(other_payload, list): - if len(one_payload) != len(other_payload): - return False - for one_inner, other_inner in zip(one_payload, other_payload): - if not payload_equal(one_inner, other_inner): - return False - return True - else: - return one_payload == other_payload - - -class WrapperTestCase(TestCase): - layer = PGPLayer - wrapper = None - maxDiff = None - - def wrap(self, message): - return self.wrapper(message) - - def is_signed(self, message, signed): - wrapped = self.wrap(message) - self.assertEqual(wrapped.is_signed(), signed) - - def has_signature(self, message, has): - wrapped = self.wrap(message) - self.assertEqual(wrapped.has_signature(), has) - - def sign(self, message, key): - wrapped = self.wrap(message) - signed = wrapped.sign(key) - signed_wrapped = self.wrap(signed) - self.assertTrue(signed_wrapped.is_signed()) - - def sign_verify(self, message, priv, pub): - wrapped = self.wrap(message) - signed = wrapped.sign(priv) - signed_wrapped = self.wrap(signed) - for signature in signed_wrapped.verify(pub): - self.assertTrue(bool(signature)) - - def verify(self, message, key, valid): - wrapped = self.wrap(message) - for signature in wrapped.verify(key): - self.assertEqual(bool(signature), valid) - - def is_encrypted(self, message, encrypted): - wrapped = self.wrap(message) - self.assertEqual(wrapped.is_encrypted(), encrypted) - - def has_encryption(self, message, has): - wrapped = self.wrap(message) - self.assertEqual(wrapped.has_encryption(), has) - - def encrypt(self, message, *keys, **kwargs): - wrapped = self.wrap(message) - encrypted = wrapped.encrypt(*keys, **kwargs) - encrypted_wrapped = self.wrap(encrypted) - self.assertTrue(encrypted_wrapped.is_encrypted()) - - def encrypt_decrypt(self, message, pub, priv): - wrapped = self.wrap(message) - encrypted = wrapped.encrypt(pub) - - encrypted_wrapped = self.wrap(encrypted) - decrypted = encrypted_wrapped.decrypt(priv) - decrypted_wrapped = self.wrap(decrypted) - - self.assertFalse(decrypted_wrapped.is_encrypted()) - self.assertTrue(payload_equal(decrypted, message)) - - def decrypt(self, message, key, clear): - wrapped = self.wrap(message) - decrypted = wrapped.decrypt(key) - decrypted_wrapped = self.wrap(decrypted) - - self.assertFalse(decrypted_wrapped.is_encrypted()) - self.assertEqual(decrypted.get_payload(), clear) - - def has_keys(self, message, has_keys): - wrapped = self.wrap(message) - self.assertEqual(wrapped.has_keys(), has_keys) - - def keys(self, message, keys): - wrapped = self.wrap(message) - loaded = list(wrapped.keys()) - self.assertEqual(len(loaded), len(keys)) - - loaded_fingerprints = list(map(lambda key: key.fingerprint, loaded)) - fingerprints = list(map(lambda key: key.fingerprint, keys)) - self.assertListEqual(loaded_fingerprints, fingerprints) - - def sign_encrypt_decrypt_verify(self, message, sign_key, encrypt_key): - wrapped = self.wrap(message) - encrypted = wrapped.sign_encrypt(sign_key, encrypt_key.pubkey) - encrypted_wrapped = self.wrap(encrypted) - self.assertTrue(encrypted_wrapped.is_encrypted()) - - decrypted = encrypted_wrapped.decrypt(encrypt_key) - decrypted_wrapped = self.wrap(decrypted) - self.assertTrue(decrypted_wrapped.is_signed()) - self.assertFalse(decrypted_wrapped.is_encrypted()) - - verification = decrypted_wrapped.verify(sign_key.pubkey) - for sig in verification: - self.assertTrue(bool(sig)) - self.assertListEqual(list(decrypted_wrapped.get_signed()), - list(wrapped.get_payload())) - - def sign_then_encrypt_decrypt_verify(self, message, sign_key, encrypt_key): - wrapped = self.wrap(message) - encrypted = wrapped.sign_then_encrypt(sign_key, encrypt_key.pubkey) - encrypted_wrapped = self.wrap(encrypted) - self.assertTrue(encrypted_wrapped.is_encrypted()) - - decrypted = encrypted_wrapped.decrypt(encrypt_key) - decrypted_wrapped = self.wrap(decrypted) - self.assertTrue(decrypted_wrapped.is_signed()) - self.assertFalse(decrypted_wrapped.is_encrypted()) - - verification = decrypted_wrapped.verify(sign_key.pubkey) - for sig in verification: - self.assertTrue(bool(sig)) - self.assertListEqual(list(decrypted_wrapped.get_signed()), - list(wrapped.get_payload())) diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_privkey_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_privkey_invalid.eml new file mode 100644 index 0000000..d7d9063 --- /dev/null +++ b/src/mailman_pgp/pgp/tests/data/messages/inline_privkey_invalid.eml @@ -0,0 +1,43 @@ +To: nobody@example.org +From: RSA 1024b example <RSA-1024b@example.org> +Subject: Some subject. +Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org> +Date: Wed, 21 Jun 2017 13:50:59 +0200 +User-Agent: Mutt/1.7.2 (2016-11-26) +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI +XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk +IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB +AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3 +byi2eWeTrYKQwytUVsXIswcFcCY1FAAAAAAASqc6VJzGhvjKE9CTNJmgSjHlILMW +Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN +5zw1GIXXXXX9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/ +xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y +Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc +uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB +IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh +BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB +Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk +ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve +luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc +sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3 +L5Srf3XSo1fmuEBNr1nc5BAAAAAAAAAAAAAAAAAAen9uaGvWO0U4t/OUiIWqPjBm +XbjZWDdGKksb0cQNy13cvEBBBBBBBBBBBBBBBBBBlcbopN2wnecKOxLKK9PaLBZ6 +9wARAQABAAP+NyRiYA9p+GCCCCCCCCCCCCCCCCCCAs8x2sB8FcIh8EpSrHIw5OYz +/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm +XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY +JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W +u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t +IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u +e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg +n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM +CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC +x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlAAAAAAksgtddlC9lsVi1ijvjJCugveBh +a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6aFb/nrZxJ5Cb1dKPGixDpw= +=e2aw +-----END PGP PRIVATE KEY BLOCK----- diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey_invalid.eml new file mode 100644 index 0000000..602a2f6 --- /dev/null +++ b/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey_invalid.eml @@ -0,0 +1,30 @@ +To: nobody@example.org +From: RSA 1024b example <RSA-1024b@example.org> +Subject: Some subject. +Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org> +Date: Wed, 21 Jun 2017 13:50:59 +0200 +User-Agent: Mutt/1.7.2 (2016-11-26) +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe +9VYf0ZiBAAAAAAAAUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg +X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0 +KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI +ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE +FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH +VwKD5JXcHBj4b5QRKHEWAAAAAAAAAAAAAAAAgIMUmefdCS+yRr1iQ7zMaGRgiYkb +ye/lXpbikR9eu8E/B+IcBBBBBBBBBBBBBBBBvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx +HWkI3LH71RJp4biNBFlKCCCCCCCCCCCCCCCCAuchhNkvMnfb8TlKoc1t1lH94uno +qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq +PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa +LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb +DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5 +2KEfVbmtkULHcn5tS8prVAnU24ehT2BAAAAAAA4KkyVMnbCDuSyC112UL2WxWLWK +O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO +anA== +=4oxM +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_privkey_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_privkey_invalid.eml new file mode 100644 index 0000000..25077de --- /dev/null +++ b/src/mailman_pgp/pgp/tests/data/messages/mime_privkey_invalid.eml @@ -0,0 +1,59 @@ +To: nobody@example.org +From: RSA 1024b example <RSA-1024b@example.org> +Subject: Some subject. +Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org> +Date: Wed, 21 Jun 2017 13:50:59 +0200 +User-Agent: Mutt/1.7.2 (2016-11-26) +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="------------A851F166D50529639139DD0B" + +This is a multi-part message in MIME format. +--------------A851F166D50529639139DD0B +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 7bit + +Some other text. + +--------------A851F166D50529639139DD0B +Content-Type: application/pgp-keys; + name="0x7884B758.asc" +Content-Transfer-Encoding: 7bit +Content-Disposition: attachment; + filename="0x7884B758.asc" + +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI +XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk +IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB +AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3 +byi2eWeTrYKQwytUVsXIswcFcCY1FAAAAAAASqc6VJzGhvjKE9CTNJmgSjHlILMW +Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN +5zw1GIXXXXX9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/ +xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y +Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc +uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB +IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh +BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB +Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk +ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve +luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc +sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3 +L5Srf3XSo1fmuEBNr1nc5BAAAAAAAAAAAAAAAAAAen9uaGvWO0U4t/OUiIWqPjBm +XbjZWDdGKksb0cQNy13cvEBBBBBBBBBBBBBBBBBBlcbopN2wnecKOxLKK9PaLBZ6 +9wARAQABAAP+NyRiYA9p+GCCCCCCCCCCCCCCCCCCAs8x2sB8FcIh8EpSrHIw5OYz +/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm +XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY +JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W +u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t +IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u +e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg +n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM +CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC +x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlAAAAAAksgtddlC9lsVi1ijvjJCugveBh +a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6aFb/nrZxJ5Cb1dKPGixDpw= +=e2aw +-----END PGP PRIVATE KEY BLOCK----- + +--------------A851F166D50529639139DD0B-- diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey_invalid.eml new file mode 100644 index 0000000..eecc329 --- /dev/null +++ b/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey_invalid.eml @@ -0,0 +1,46 @@ +To: nobody@example.org +From: RSA 1024b example <RSA-1024b@example.org> +Subject: Some subject. +Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org> +Date: Wed, 21 Jun 2017 13:50:59 +0200 +User-Agent: Mutt/1.7.2 (2016-11-26) +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="------------A851F166D50529639139DD0B" + +This is a multi-part message in MIME format. +--------------A851F166D50529639139DD0B +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 7bit + +Some other text. + +--------------A851F166D50529639139DD0B +Content-Type: application/pgp-keys; + name="0x7884B758.asc" +Content-Transfer-Encoding: 7bit +Content-Disposition: attachment; + filename="0x7884B758.asc" + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe +9VYf0ZiBAAAAAAAAUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg +X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0 +KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI +ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE +FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH +VwKD5JXcHBj4b5QRKHEWAAAAAAAAAAAAAAAAgIMUmefdCS+yRr1iQ7zMaGRgiYkb +ye/lXpbikR9eu8E/B+IcBBBBBBBBBBBBBBBBvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx +HWkI3LH71RJp4biNBFlKCCCCCCCCCCCCCCCCAuchhNkvMnfb8TlKoc1t1lH94uno +qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq +PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa +LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb +DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5 +2KEfVbmtkULHcn5tS8prVAnU24ehT2BAAAAAAA4KkyVMnbCDuSyC112UL2WxWLWK +O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO +anA== +=4oxM +-----END PGP PUBLIC KEY BLOCK----- + +--------------A851F166D50529639139DD0B-- diff --git a/src/mailman_pgp/pgp/tests/test_inline.py b/src/mailman_pgp/pgp/tests/test_inline.py index e2fccb7..4009a4b 100644 --- a/src/mailman_pgp/pgp/tests/test_inline.py +++ b/src/mailman_pgp/pgp/tests/test_inline.py @@ -20,7 +20,7 @@ from parameterized import parameterized from mailman_pgp.pgp.inline import InlineWrapper -from mailman_pgp.pgp.tests.base import load_key, load_message, WrapperTestCase +from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase class InlineWrapperTestCase(WrapperTestCase): @@ -181,6 +181,10 @@ class TestKeys(InlineWrapperTestCase): (load_message('clear_multipart.eml'), False), (load_message('inline_cleartext_signed.eml'), + False), + (load_message('inline_privkey_invalid.eml'), + False), + (load_message('inline_pubkey_invalid.eml'), False) ]) def test_has_keys(self, message, has_keys): @@ -190,7 +194,11 @@ class TestKeys(InlineWrapperTestCase): (load_message('inline_privkey.eml'), [load_key('rsa_1024.priv.asc')]), (load_message('inline_pubkey.eml'), - [load_key('rsa_1024.pub.asc')]) + [load_key('rsa_1024.pub.asc')]), + (load_message('inline_privkey_invalid.eml'), + []), + (load_message('inline_pubkey_invalid.eml'), + []) ]) def test_keys(self, message, keys): self.keys(message, keys) diff --git a/src/mailman_pgp/pgp/tests/test_mime.py b/src/mailman_pgp/pgp/tests/test_mime.py index 5d983b8..883e6ca 100644 --- a/src/mailman_pgp/pgp/tests/test_mime.py +++ b/src/mailman_pgp/pgp/tests/test_mime.py @@ -20,7 +20,7 @@ from parameterized import parameterized from mailman_pgp.pgp.mime import MIMEWrapper -from mailman_pgp.pgp.tests.base import load_key, load_message, WrapperTestCase +from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase class MIMEWrapperTestCase(WrapperTestCase): @@ -144,6 +144,10 @@ class TestKeys(MIMEWrapperTestCase): True), (load_message('mime_pubkey.eml'), True), + (load_message('mime_privkey_invalid.eml'), + True), + (load_message('mime_pubkey_invalid.eml'), + True), (load_message('clear.eml'), False), (load_message('mime_signed.eml'), @@ -156,7 +160,11 @@ class TestKeys(MIMEWrapperTestCase): (load_message('mime_privkey.eml'), [load_key('rsa_1024.priv.asc')]), (load_message('mime_pubkey.eml'), - [load_key('rsa_1024.pub.asc')]) + [load_key('rsa_1024.pub.asc')]), + (load_message('mime_privkey_invalid.eml'), + []), + (load_message('mime_pubkey_invalid.eml'), + []) ]) def test_keys(self, message, keys): self.keys(message, keys) diff --git a/src/mailman_pgp/pgp/tests/test_mime_multisig.py b/src/mailman_pgp/pgp/tests/test_mime_multisig.py index 2c02a97..fe08e5b 100644 --- a/src/mailman_pgp/pgp/tests/test_mime_multisig.py +++ b/src/mailman_pgp/pgp/tests/test_mime_multisig.py @@ -19,7 +19,7 @@ from parameterized import parameterized from mailman_pgp.pgp.mime_multisig import MIMEMultiSigWrapper -from mailman_pgp.pgp.tests.base import load_key, load_message, WrapperTestCase +from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase class MultiSigWrapperTestCase(WrapperTestCase): diff --git a/src/mailman_pgp/pgp/tests/test_pgp.py b/src/mailman_pgp/pgp/tests/test_pgp.py index 6ff674d..ab2a69a 100644 --- a/src/mailman_pgp/pgp/tests/test_pgp.py +++ b/src/mailman_pgp/pgp/tests/test_pgp.py @@ -25,8 +25,8 @@ from mailman_pgp.config import config from mailman_pgp.database import mm_transaction, transaction from mailman_pgp.model.address import PGPAddress from mailman_pgp.model.list import PGPMailingList -from mailman_pgp.pgp.tests.base import load_key from mailman_pgp.testing.layers import PGPConfigLayer +from mailman_pgp.testing.pgp import load_key class TestPGP(TestCase): diff --git a/src/mailman_pgp/pgp/tests/test_wrapper.py b/src/mailman_pgp/pgp/tests/test_wrapper.py index ce206e7..eb096d3 100644 --- a/src/mailman_pgp/pgp/tests/test_wrapper.py +++ b/src/mailman_pgp/pgp/tests/test_wrapper.py @@ -18,8 +18,8 @@ """Tests for the combined wrapper.""" from parameterized import parameterized -from mailman_pgp.pgp.tests.base import load_key, load_message, WrapperTestCase from mailman_pgp.pgp.wrapper import PGPWrapper +from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase class PGPWrapperTestCase(WrapperTestCase): |
