diff options
Diffstat (limited to 'src/mailman/runners/tests/test_archiver.py')
| -rw-r--r-- | src/mailman/runners/tests/test_archiver.py | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/src/mailman/runners/tests/test_archiver.py b/src/mailman/runners/tests/test_archiver.py index ca09de9fa..6f5804cae 100644 --- a/src/mailman/runners/tests/test_archiver.py +++ b/src/mailman/runners/tests/test_archiver.py @@ -36,6 +36,7 @@ from mailman.config import config from mailman.interfaces.archiver import IArchiver from mailman.runners.archive import ArchiveRunner from mailman.testing.helpers import ( + configuration, make_testable_runner, specialized_message_from_string as mfs) from mailman.testing.layers import ConfigLayer @@ -43,30 +44,6 @@ from mailman.utilities.datetime import RFC822_DATE_FMT, factory, now -# This helper will set up a specific archiver as appropriate for a specific -# test. It assumes the setUp() will just disable all archivers. -def archiver(name, enable=False, clobber=None, skew=None): - def decorator(func): - def wrapper(*args, **kws): - config_name = 'archiver {0}'.format(name) - section = """ - [archiver.{0}] - enable: {1} - clobber_date: {2} - clobber_skew: {3} - """.format(name, - 'yes' if enable else 'no', - clobber, skew) - config.push(config_name, section) - try: - return func(*args, **kws) - finally: - config.pop(config_name) - return wrapper - return decorator - - - class DummyArchiver: implements(IArchiver) name = 'dummy' @@ -126,7 +103,7 @@ First post! def tearDown(self): config.pop('dummy') - @archiver('dummy', enable=True) + @configuration('archiver.dummy', enable='yes') def test_archive_runner(self): # Ensure that the archive runner ends up archiving the message. self._archiveq.enqueue( @@ -141,7 +118,7 @@ First post! archived = message_from_file(fp) self.assertEqual(archived['message-id'], '<first>') - @archiver('dummy', enable=True) + @configuration('archiver.dummy', enable='yes') def test_archive_runner_with_dated_message(self): # Date headers don't throw off the archiver runner. self._msg['Date'] = now(strip_tzinfo=False).strftime(RFC822_DATE_FMT) @@ -158,7 +135,7 @@ First post! self.assertEqual(archived['message-id'], '<first>') self.assertEqual(archived['date'], 'Mon, 01 Aug 2005 07:49:23 +0000') - @archiver('dummy', enable=True, clobber='never') + @configuration('archiver.dummy', enable='yes', clobber_date='never') def test_clobber_date_never(self): # Even if the Date header is insanely off from the received time of # the message, if clobber_date is 'never', the header is not clobbered. @@ -176,7 +153,7 @@ First post! self.assertEqual(archived['message-id'], '<first>') self.assertEqual(archived['date'], 'Mon, 01 Aug 2005 07:49:23 +0000') - @archiver('dummy', enable=True) + @configuration('archiver.dummy', enable='yes') def test_clobber_dateless(self): # A message with no Date header will always get clobbered. self.assertEqual(self._msg['date'], None) @@ -195,7 +172,7 @@ First post! self.assertEqual(archived['message-id'], '<first>') self.assertEqual(archived['date'], 'Mon, 01 Aug 2005 07:49:23 +0000') - @archiver('dummy', enable=True, clobber='always') + @configuration('archiver.dummy', enable='yes', clobber_date='always') def test_clobber_date_always(self): # The date always gets clobbered with the current received time. self._msg['Date'] = now(strip_tzinfo=False).strftime(RFC822_DATE_FMT) @@ -216,7 +193,8 @@ First post! self.assertEqual(archived['x-original-date'], 'Mon, 01 Aug 2005 07:49:23 +0000') - @archiver('dummy', enable=True, clobber='maybe', skew='1d') + @configuration('archiver.dummy', + enable='yes', clobber_date='maybe', clobber_skew='1d') def test_clobber_date_maybe_when_insane(self): # The date is clobbered if it's farther off from now than its skew # period. @@ -238,7 +216,8 @@ First post! self.assertEqual(archived['x-original-date'], 'Mon, 01 Aug 2005 07:49:23 +0000') - @archiver('dummy', enable=True, clobber='maybe', skew='10d') + @configuration('archiver.dummy', + enable='yes', clobber_date='maybe', clobber_skew='10d') def test_clobber_date_maybe_when_sane(self): # The date is not clobbered if it's nearer to now than its skew # period. |
