diff options
| author | Barry Warsaw | 2011-04-01 18:51:29 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2011-04-01 18:51:29 -0400 |
| commit | 33ad44bc97f08df71f227f6f2a006e770a75c353 (patch) | |
| tree | ef369d5dc968372d824cbe50421a1f5331461149 /src/mailman/utilities/datetime.py | |
| parent | dee26f391da59c68a23f8fb960dff9ebd879e916 (diff) | |
| download | mailman-33ad44bc97f08df71f227f6f2a006e770a75c353.tar.gz mailman-33ad44bc97f08df71f227f6f2a006e770a75c353.tar.zst mailman-33ad44bc97f08df71f227f6f2a006e770a75c353.zip | |
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) |
