aboutsummaryrefslogtreecommitdiff
path: root/src/mailman_pgp/pgp/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman_pgp/pgp/tests')
-rw-r--r--src/mailman_pgp/pgp/tests/data/messages/inline_revoc.eml19
-rw-r--r--src/mailman_pgp/pgp/tests/data/messages/inline_revoc_multipart.eml30
-rw-r--r--src/mailman_pgp/pgp/tests/data/messages/mime_revoc.eml35
-rw-r--r--src/mailman_pgp/pgp/tests/data/revocs/dsa_elgamal_1024.revoc.asc8
-rw-r--r--src/mailman_pgp/pgp/tests/data/revocs/ecc_curve25519.revoc.asc8
-rw-r--r--src/mailman_pgp/pgp/tests/data/revocs/ecc_p256.revoc.asc8
-rw-r--r--src/mailman_pgp/pgp/tests/data/revocs/ecc_secp256k1.revoc.asc8
-rw-r--r--src/mailman_pgp/pgp/tests/data/revocs/rsa_1024.revoc.asc9
-rw-r--r--src/mailman_pgp/pgp/tests/test_inline.py43
-rw-r--r--src/mailman_pgp/pgp/tests/test_mime.py48
-rw-r--r--src/mailman_pgp/pgp/tests/test_wrapper.py38
11 files changed, 251 insertions, 3 deletions
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_revoc.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_revoc.eml
new file mode 100644
index 0000000..f215777
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_revoc.eml
@@ -0,0 +1,19 @@
+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-----
+Comment: This is a revocation certificate
+
+iLYEIAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWYClvgIdAgAKCRBH8QwI
+eIS3WLpBBADCUtyYmI2Z8DCOnKUW4nRjHc3ZVMoZJlwceJCWhSybBrnjo6LWzvBy
+eKke4qHlh+jmSk3/Qyio6vYzvicOayDwhr0s/1X26MiYorthfiCQOg2WQ0YiRuMC
+/Ml8rukvBTRGvXikcIuBw5MFqCWsWI7ExPKaaresnHaCn37KF0A6hw==
+=4oku
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_revoc_multipart.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_revoc_multipart.eml
new file mode 100644
index 0000000..a1052d6
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_revoc_multipart.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: multipart/mixed; boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iLYEIAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWYClvgIdAgAKCRBH8QwI
+eIS3WLpBBADCUtyYmI2Z8DCOnKUW4nRjHc3ZVMoZJlwceJCWhSybBrnjo6LWzvBy
+eKke4qHlh+jmSk3/Qyio6vYzvicOayDwhr0s/1X26MiYorthfiCQOg2WQ0YiRuMC
+/Ml8rukvBTRGvXikcIuBw5MFqCWsWI7ExPKaaresnHaCn37KF0A6hw==
+=4oku
+-----END PGP PUBLIC KEY BLOCK-----
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Some cleartext.
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs-- \ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_revoc.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_revoc.eml
new file mode 100644
index 0000000..e1055a3
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_revoc.eml
@@ -0,0 +1,35 @@
+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-----
+Comment: This is a revocation certificate
+
+iLYEIAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWYClvgIdAgAKCRBH8QwI
+eIS3WLpBBADCUtyYmI2Z8DCOnKUW4nRjHc3ZVMoZJlwceJCWhSybBrnjo6LWzvBy
+eKke4qHlh+jmSk3/Qyio6vYzvicOayDwhr0s/1X26MiYorthfiCQOg2WQ0YiRuMC
+/Ml8rukvBTRGvXikcIuBw5MFqCWsWI7ExPKaaresnHaCn37KF0A6hw==
+=4oku
+-----END PGP PUBLIC KEY BLOCK-----
+
+--------------A851F166D50529639139DD0B--
diff --git a/src/mailman_pgp/pgp/tests/data/revocs/dsa_elgamal_1024.revoc.asc b/src/mailman_pgp/pgp/tests/data/revocs/dsa_elgamal_1024.revoc.asc
new file mode 100644
index 0000000..80b002e
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/revocs/dsa_elgamal_1024.revoc.asc
@@ -0,0 +1,8 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iGAEIBECACAWIQRR5fGEErwNQ8nevZPDzAoGOEHHpwUCWYCmxwIdAgAKCRDDzAoG
+OEHHp+nYAJwM095Qv9qxaMfqx8xSLD5eKeExgQCeNA5z7zZZcgtUTTqW/o4baX6D
+X8E=
+=vVlH
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/revocs/ecc_curve25519.revoc.asc b/src/mailman_pgp/pgp/tests/data/revocs/ecc_curve25519.revoc.asc
new file mode 100644
index 0000000..df7d593
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/revocs/ecc_curve25519.revoc.asc
@@ -0,0 +1,8 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iHgEIBYIACAWIQQFsA605escSIQh4V/6me+juNPIugUCWYCmggIdAgAKCRD6me+j
+uNPIuuVxAP4mr8PXnLIzqdysvMo5Mo0QbIck6NgO/rOJC4Kj/tGjyQD/QMo4ON/1
+cxzD068xWtlDpPYjtPBFuNYrLOPDYvqjGAg=
+=0TTd
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/revocs/ecc_p256.revoc.asc b/src/mailman_pgp/pgp/tests/data/revocs/ecc_p256.revoc.asc
new file mode 100644
index 0000000..9571cd2
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/revocs/ecc_p256.revoc.asc
@@ -0,0 +1,8 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iHgEIBMIACAWIQSyKLDm+5ZVhlrf0j03k3IFvhWo0AUCWYCmZAIdAgAKCRA3k3IF
+vhWo0HAZAP9qFHrB6d+hNpYDT9jVCDIURh8Ml711hi8zsDhSkRZ4yAEAgzlmzjPZ
+VhgcOemgbYTKO7Kj8q61KpVP9oZ9l7Z4c/I=
+=ZZsy
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/revocs/ecc_secp256k1.revoc.asc b/src/mailman_pgp/pgp/tests/data/revocs/ecc_secp256k1.revoc.asc
new file mode 100644
index 0000000..e91a62a
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/revocs/ecc_secp256k1.revoc.asc
@@ -0,0 +1,8 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iHgEIBMIACAWIQRi7dSuUMnX5cDo6nvIw1p/AFOkvwUCWYCmEwIdAgAKCRDIw1p/
+AFOkv5zZAQDiOzuQWpL2cvm+Jz4XyeLWebiOe7zirM9oMP03rmzQxgD/UIzBnqq9
+iy6oREDvbNw1sCB8/90ihlkB3iM8eOW9iSk=
+=lj1I
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/revocs/rsa_1024.revoc.asc b/src/mailman_pgp/pgp/tests/data/revocs/rsa_1024.revoc.asc
new file mode 100644
index 0000000..ddb8974
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/revocs/rsa_1024.revoc.asc
@@ -0,0 +1,9 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: This is a revocation certificate
+
+iLYEIAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWYClvgIdAgAKCRBH8QwI
+eIS3WLpBBADCUtyYmI2Z8DCOnKUW4nRjHc3ZVMoZJlwceJCWhSybBrnjo6LWzvBy
+eKke4qHlh+jmSk3/Qyio6vYzvicOayDwhr0s/1X26MiYorthfiCQOg2WQ0YiRuMC
+/Ml8rukvBTRGvXikcIuBw5MFqCWsWI7ExPKaaresnHaCn37KF0A6hw==
+=4oku
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/test_inline.py b/src/mailman_pgp/pgp/tests/test_inline.py
index 7f82ab4..d9f8c8a 100644
--- a/src/mailman_pgp/pgp/tests/test_inline.py
+++ b/src/mailman_pgp/pgp/tests/test_inline.py
@@ -20,7 +20,8 @@
from parameterized import parameterized
from mailman_pgp.pgp.inline import InlineWrapper
-from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase
+from mailman_pgp.testing.pgp import (
+ load_key, load_message, load_revoc, WrapperTestCase)
class InlineWrapperTestCase(WrapperTestCase):
@@ -219,6 +220,46 @@ class TestKeys(InlineWrapperTestCase):
self.keys(message, keys)
+class TestRevocs(InlineWrapperTestCase):
+ @parameterized.expand([
+ (load_message('inline_revoc.eml'),
+ True),
+ (load_message('inline_revoc_multipart.eml'),
+ True)
+ ])
+ def test_has_revocs(self, message, has_revocs):
+ self.has_revocs(message, has_revocs)
+
+ @parameterized.expand([
+ (load_message('inline_revoc.eml'),
+ True),
+ (load_message('inline_revoc_multipart.eml'),
+ False)
+ ])
+ def test_is_revocs(self, message, is_revocs):
+ self.is_revocs(message, is_revocs)
+
+ @parameterized.expand([
+ (load_message('inline_revoc.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),)),
+ (load_message('inline_revoc_multipart.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),))
+ ])
+ def test_revocs(self, message, revocs):
+ self.revocs(message, revocs)
+
+ @parameterized.expand([
+ (load_message('clear.eml'),
+ [load_revoc('rsa_1024.revoc.asc'),
+ load_revoc('ecc_p256.revoc.asc')]),
+ (load_message('clear_multipart.eml'),
+ [load_revoc('rsa_1024.revoc.asc'),
+ load_revoc('ecc_p256.revoc.asc')])
+ ])
+ def test_attach_revocs(self, message, revocs):
+ self.attach_revocs(message, revocs)
+
+
class TestCombined(InlineWrapperTestCase):
@parameterized.expand([
(load_message('clear.eml'),
diff --git a/src/mailman_pgp/pgp/tests/test_mime.py b/src/mailman_pgp/pgp/tests/test_mime.py
index 78c9e71..e9951cf 100644
--- a/src/mailman_pgp/pgp/tests/test_mime.py
+++ b/src/mailman_pgp/pgp/tests/test_mime.py
@@ -20,7 +20,8 @@
from parameterized import parameterized
from mailman_pgp.pgp.mime import MIMEWrapper
-from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase
+from mailman_pgp.testing.pgp import (
+ load_key, load_message, load_revoc, WrapperTestCase)
class MIMEWrapperTestCase(WrapperTestCase):
@@ -178,6 +179,51 @@ class TestKeys(MIMEWrapperTestCase):
def test_keys(self, message, keys):
self.keys(message, keys)
+ @parameterized.expand([
+ (load_message('clear.eml'),
+ [load_key('rsa_1024.priv.asc'),
+ load_key('ecc_p256.priv.asc')]),
+ (load_message('clear_multipart.eml'),
+ [load_key('rsa_1024.priv.asc'),
+ load_key('ecc_p256.priv.asc')])
+ ])
+ def test_attach_keys(self, message, keys):
+ self.attach_keys(message, keys)
+
+
+class TestRevocs(MIMEWrapperTestCase):
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ True)
+ ])
+ def test_has_revocs(self, message, has_revocs):
+ self.has_revocs(message, has_revocs)
+
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ False)
+ ])
+ def test_is_revocs(self, message, is_revocs):
+ self.is_revocs(message, is_revocs)
+
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),))
+ ])
+ def test_revocs(self, message, revocs):
+ self.revocs(message, revocs)
+
+ @parameterized.expand([
+ (load_message('clear.eml'),
+ [load_revoc('rsa_1024.revoc.asc'),
+ load_revoc('ecc_p256.revoc.asc')]),
+ (load_message('clear_multipart.eml'),
+ [load_revoc('rsa_1024.revoc.asc'),
+ load_revoc('ecc_p256.revoc.asc')])
+ ])
+ def test_attach_revocs(self, message, revocs):
+ self.attach_revocs(message, revocs)
+
class TestCombined(MIMEWrapperTestCase):
@parameterized.expand([
diff --git a/src/mailman_pgp/pgp/tests/test_wrapper.py b/src/mailman_pgp/pgp/tests/test_wrapper.py
index f1f7621..b9c157a 100644
--- a/src/mailman_pgp/pgp/tests/test_wrapper.py
+++ b/src/mailman_pgp/pgp/tests/test_wrapper.py
@@ -22,7 +22,8 @@ from mailman_pgp.pgp.inline import InlineWrapper
from mailman_pgp.pgp.mime import MIMEWrapper
from mailman_pgp.pgp.mime_multisig import MIMEMultiSigWrapper
from mailman_pgp.pgp.wrapper import PGPWrapper
-from mailman_pgp.testing.pgp import load_key, load_message, WrapperTestCase
+from mailman_pgp.testing.pgp import (
+ load_key, load_message, load_revoc, WrapperTestCase)
class PGPWrapperTestCase(WrapperTestCase):
@@ -180,6 +181,41 @@ class TestKeys(PGPWrapperTestCase):
self.keys(message, keys)
+class TestRevocs(PGPWrapperTestCase):
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ True),
+ (load_message('inline_revoc.eml'),
+ True),
+ (load_message('inline_revoc_multipart.eml'),
+ True)
+ ])
+ def test_has_revocs(self, message, has_revocs):
+ self.has_revocs(message, has_revocs)
+
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ False),
+ (load_message('inline_revoc.eml'),
+ True),
+ (load_message('inline_revoc_multipart.eml'),
+ False)
+ ])
+ def test_is_revocs(self, message, is_revocs):
+ self.is_revocs(message, is_revocs)
+
+ @parameterized.expand([
+ (load_message('mime_revoc.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),)),
+ (load_message('inline_revoc.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),)),
+ (load_message('inline_revoc_multipart.eml'),
+ (load_revoc('rsa_1024.revoc.asc'),))
+ ])
+ def test_revocs(self, message, revocs):
+ self.revocs(message, revocs)
+
+
class TestCombined(PGPWrapperTestCase):
@parameterized.expand([
(load_message('clear.eml'),