diff options
| -rw-r--r-- | src/mailman_pgp/archivers/tests/test_maildir.py | 12 | ||||
| -rw-r--r-- | src/mailman_pgp/archivers/tests/test_mbox.py | 12 | ||||
| -rw-r--r-- | src/mailman_pgp/model/tests/test_list.py | 13 | ||||
| -rw-r--r-- | src/mailman_pgp/rules/signature.py | 2 | ||||
| -rw-r--r-- | src/mailman_pgp/rules/tests/test_signature.py | 2 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/tests/test_base.py | 6 |
6 files changed, 26 insertions, 21 deletions
diff --git a/src/mailman_pgp/archivers/tests/test_maildir.py b/src/mailman_pgp/archivers/tests/test_maildir.py index 25fc194..876b2c9 100644 --- a/src/mailman_pgp/archivers/tests/test_maildir.py +++ b/src/mailman_pgp/archivers/tests/test_maildir.py @@ -18,6 +18,7 @@ """""" import os import unittest +from contextlib import ExitStack from mailbox import Maildir from tempfile import TemporaryDirectory @@ -25,10 +26,10 @@ from mailman.app.lifecycle import create_list from mailman.testing.helpers import specialized_message_from_string as mfs from mailman_pgp.archivers.local_maildir import LocalMaildirArchiver -from mailman_pgp.config import config from mailman_pgp.database import mm_transaction from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp.mime import MIMEWrapper +from mailman_pgp.testing.config import patch_config from mailman_pgp.testing.layers import PGPConfigLayer from mailman_pgp.testing.pgp import load_key @@ -65,10 +66,11 @@ but the water deserves to be swum. LocalMaildirArchiver.archive_message(ordinary, self.msg) def test_archives(self): - with TemporaryDirectory() as maildir_dir: - self.addCleanup(config.set, 'archiving', 'maildir_dir', - config.get('archiving', 'maildir_dir')) - config.set('archiving', 'maildir_dir', maildir_dir) + with ExitStack() as res: + maildir_dir = res.enter_context(TemporaryDirectory()) + res.enter_context(patch_config('archiving', 'maildir_dir', + maildir_dir)) + LocalMaildirArchiver.archive_message(self.mlist, self.msg) list_dir = os.path.join(maildir_dir, self.mlist.fqdn_listname) diff --git a/src/mailman_pgp/archivers/tests/test_mbox.py b/src/mailman_pgp/archivers/tests/test_mbox.py index 50b7113..8af2b77 100644 --- a/src/mailman_pgp/archivers/tests/test_mbox.py +++ b/src/mailman_pgp/archivers/tests/test_mbox.py @@ -18,6 +18,7 @@ """""" import os import unittest +from contextlib import ExitStack from mailbox import mbox from tempfile import TemporaryDirectory @@ -25,10 +26,10 @@ from mailman.app.lifecycle import create_list from mailman.testing.helpers import specialized_message_from_string as mfs from mailman_pgp.archivers.local_mbox import LocalMailboxArchiver -from mailman_pgp.config import config from mailman_pgp.database import mm_transaction from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp.mime import MIMEWrapper +from mailman_pgp.testing.config import patch_config from mailman_pgp.testing.layers import PGPConfigLayer from mailman_pgp.testing.pgp import load_key @@ -65,10 +66,11 @@ but the water deserves to be swum. LocalMailboxArchiver.archive_message(ordinary, self.msg) def test_archives(self): - with TemporaryDirectory() as mailbox_dir: - self.addCleanup(config.set, 'archiving', 'mailbox_dir', - config.get('archiving', 'mailbox_dir')) - config.set('archiving', 'mailbox_dir', mailbox_dir) + with ExitStack() as res: + mailbox_dir = res.enter_context(TemporaryDirectory()) + res.enter_context(patch_config('archiving', 'mailbox_dir', + mailbox_dir)) + LocalMailboxArchiver.archive_message(self.mlist, self.msg) list_dir = os.path.join(mailbox_dir, self.mlist.fqdn_listname) diff --git a/src/mailman_pgp/model/tests/test_list.py b/src/mailman_pgp/model/tests/test_list.py index 9bb0a4e..eb43355 100644 --- a/src/mailman_pgp/model/tests/test_list.py +++ b/src/mailman_pgp/model/tests/test_list.py @@ -16,6 +16,8 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """""" +import shutil +import unittest from os.path import exists from unittest import TestCase @@ -23,9 +25,9 @@ from mailman.app.lifecycle import create_list from mailman.interfaces.listmanager import IListManager from zope.component import getUtility -from mailman_pgp.config import config from mailman_pgp.database import mm_transaction from mailman_pgp.model.list import PGPMailingList +from mailman_pgp.testing.config import patch_config from mailman_pgp.testing.layers import PGPConfigLayer from mailman_pgp.testing.pgp import load_key @@ -50,9 +52,11 @@ class TestPGPMailingList(TestCase): getUtility(IListManager).delete(self.mlist) self.assertFalse(exists(key_path)) + @patch_config('keypairs', 'shred_command', 'shred') + @unittest.skipIf(shutil.which('shred') is None, 'No shred command.') def test_shred_key_command(self): - self.addCleanup(config.set, 'keypairs', 'shred_command', '') - config.set('keypairs', 'shred_command', 'shred') + # This really just hopes that the test env has some coreutils, that + # provide `shred` command with this behaviour. key_path = PGPMailingList.for_list(self.mlist).key_path with open(key_path, 'rb') as f: before = f.read() @@ -61,9 +65,8 @@ class TestPGPMailingList(TestCase): after = f.read() self.assertNotEqual(before, after) + @patch_config('keypairs', 'shred', 'no') def test_delete_key(self): - self.addCleanup(config.set, 'keypairs', 'shred', 'yes') - config.set('keypairs', 'shred', 'no') key_path = PGPMailingList.for_list(self.mlist).key_path getUtility(IListManager).delete(self.mlist) self.assertFalse(exists(key_path)) diff --git a/src/mailman_pgp/rules/signature.py b/src/mailman_pgp/rules/signature.py index 2e1728b..0805d1b 100644 --- a/src/mailman_pgp/rules/signature.py +++ b/src/mailman_pgp/rules/signature.py @@ -36,7 +36,7 @@ from mailman_pgp.model.sighash import PGPSigHash from mailman_pgp.pgp.wrapper import PGPWrapper from mailman_pgp.utils.email import get_email from mailman_pgp.utils.moderation import record_action -from mailman_pgp.utils.pgp import hashes, verifies, expired, revoked +from mailman_pgp.utils.pgp import expired, hashes, revoked, verifies @public diff --git a/src/mailman_pgp/rules/tests/test_signature.py b/src/mailman_pgp/rules/tests/test_signature.py index 45dbf21..73dbb6c 100644 --- a/src/mailman_pgp/rules/tests/test_signature.py +++ b/src/mailman_pgp/rules/tests/test_signature.py @@ -32,7 +32,7 @@ from zope.component import getUtility from zope.event import notify from mailman_pgp.chains.default import PGPChain -from mailman_pgp.config import mm_config, config +from mailman_pgp.config import mm_config from mailman_pgp.database import mm_transaction, transaction from mailman_pgp.model.address import PGPAddress from mailman_pgp.model.list import PGPMailingList diff --git a/src/mailman_pgp/styles/tests/test_base.py b/src/mailman_pgp/styles/tests/test_base.py index 6bb56f7..50d9981 100644 --- a/src/mailman_pgp/styles/tests/test_base.py +++ b/src/mailman_pgp/styles/tests/test_base.py @@ -18,9 +18,9 @@ from unittest import TestCase from mailman.app.lifecycle import create_list -from mailman_pgp.config import config from mailman_pgp.model.list import PGPMailingList from mailman_pgp.styles.base import PGPStyle +from mailman_pgp.testing.config import patch_config from mailman_pgp.testing.layers import PGPConfigLayer @@ -44,10 +44,8 @@ class TestBaseStyle(TestCase): # Test another apply doesn't fail base_style.apply(mlist) + @patch_config('keypairs', 'autogenerate', 'no') def test_autogenerate(self): - self.addCleanup(config.set, 'keypairs', 'autogenerate', 'no') - config.set('keypairs', 'autogenerate', 'yes') - # Create with default style. mlist = create_list('test@example.com') # Manually apply base PGPStyle. |
