diff options
| author | J08nY | 2017-07-28 02:46:01 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-28 02:46:01 +0200 |
| commit | f48c5d7f60e73593f347b346cdf5caedf0c05628 (patch) | |
| tree | c5e1cfd7c949a06cc6ac62f227fe275693dcce00 /src/mailman_pgp/pgp/tests/test_mime_multisig.py | |
| parent | 56b600fb0131b1c3b3ec06d85ec4810026279864 (diff) | |
| parent | f190131409ada6126977965f6607224d4d97aa84 (diff) | |
| download | mailman-pgp-f48c5d7f60e73593f347b346cdf5caedf0c05628.tar.gz mailman-pgp-f48c5d7f60e73593f347b346cdf5caedf0c05628.tar.zst mailman-pgp-f48c5d7f60e73593f347b346cdf5caedf0c05628.zip | |
Diffstat (limited to 'src/mailman_pgp/pgp/tests/test_mime_multisig.py')
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_mime_multisig.py | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/mailman_pgp/pgp/tests/test_mime_multisig.py b/src/mailman_pgp/pgp/tests/test_mime_multisig.py new file mode 100644 index 0000000..2c02a97 --- /dev/null +++ b/src/mailman_pgp/pgp/tests/test_mime_multisig.py @@ -0,0 +1,96 @@ +# 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/>. + +"""Tests for the MultiSig wrapper.""" +from parameterized import parameterized + +from mailman_pgp.pgp.mime_multisig import MIMEMultiSigWrapper +from mailman_pgp.pgp.tests.base import load_key, load_message, WrapperTestCase + + +class MultiSigWrapperTestCase(WrapperTestCase): + wrapper = MIMEMultiSigWrapper + + +class TestSigning(MultiSigWrapperTestCase): + @parameterized.expand([ + (load_message('mime_signed.eml'), + False), + (load_message('mime_signed_invalid.eml'), + False), + (load_message('mime_multisig.eml'), + True), + (load_message('mime_multisig_invalid.eml'), + True), + (load_message('clear.eml'), + False), + (load_message('clear_multipart.eml'), + False) + ]) + def test_is_signed(self, message, signed): + self.is_signed(message, signed) + + @parameterized.expand([ + (load_message('mime_signed.eml'), + False), + (load_message('mime_signed_invalid.eml'), + False), + (load_message('mime_multisig.eml'), + True), + (load_message('mime_multisig_invalid.eml'), + True), + (load_message('clear.eml'), + False), + (load_message('clear_multipart.eml'), + False) + ]) + def test_has_signature(self, message, has): + self.has_signature(message, has) + + @parameterized.expand([ + (load_message('clear.eml'), + load_key('rsa_1024.priv.asc')), + (load_message('clear_multipart.eml'), + load_key('ecc_p256.priv.asc')) + ]) + def test_sign(self, message, key): + self.sign(message, key) + + @parameterized.expand([ + (load_message('clear.eml'), + load_key('rsa_1024.priv.asc'), + load_key('rsa_1024.pub.asc')), + (load_message('clear_multipart.eml'), + load_key('ecc_p256.priv.asc'), + load_key('ecc_p256.pub.asc')), + (load_message('mime_multisig.eml'), + load_key('ecc_p256.priv.asc'), + load_key('ecc_p256.pub.asc')) + ]) + def test_sign_verify(self, message, priv, pub): + self.sign_verify(message, priv, pub) + + @parameterized.expand([ + (load_message('mime_multisig.eml'), + load_key('rsa_1024.pub.asc'), + True), + (load_message('mime_multisig_invalid.eml'), + load_key('rsa_1024.pub.asc'), + False) + ]) + def test_verify(self, message, key, valid): + self.verify(message, key, valid) |
