diff options
Diffstat (limited to 'src/mailman/utilities/datetime.py')
| -rw-r--r-- | src/mailman/utilities/datetime.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mailman/utilities/datetime.py b/src/mailman/utilities/datetime.py index 7e727346d..9dcd21f1e 100644 --- a/src/mailman/utilities/datetime.py +++ b/src/mailman/utilities/datetime.py @@ -36,25 +36,27 @@ __all__ = [ import datetime +from mailman.testing.layers import MockAndMonkeyLayer + class DateFactory: """A factory for today() and now() that works with testing.""" - # Set to True to produce predictable dates and times. - testing_mode = False # The predictable time. predictable_now = None predictable_today = None def now(self, tz=None): + # We can't automatically fast-forward because some tests require us to + # stay on the same day for a while, e.g. autorespond.txt. return (self.predictable_now - if self.testing_mode + if MockAndMonkeyLayer.testing_mode else datetime.datetime.now(tz)) def today(self): return (self.predictable_today - if self.testing_mode + if MockAndMonkeyLayer.testing_mode else datetime.date.today()) @classmethod @@ -72,3 +74,4 @@ factory = DateFactory() factory.reset() today = factory.today now = factory.now +MockAndMonkeyLayer.register_reset(factory.reset) |
