summaryrefslogtreecommitdiff
path: root/src/mailman/utilities/datetime.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-04-12 18:09:36 -0400
committerBarry Warsaw2011-04-12 18:09:36 -0400
commit5bb93de8db9b251a53968f0e1cf0b22d472e1a57 (patch)
treeaac85174fe3cea5e09113b9c9293fc484c773a66 /src/mailman/utilities/datetime.py
parent980e9dff9811466dcb9b44539d694b6eac32a17b (diff)
parent7c6633d17617ac60f11ff7de44160a9d804d4777 (diff)
downloadmailman-5bb93de8db9b251a53968f0e1cf0b22d472e1a57.tar.gz
mailman-5bb93de8db9b251a53968f0e1cf0b22d472e1a57.tar.zst
mailman-5bb93de8db9b251a53968f0e1cf0b22d472e1a57.zip
Diffstat (limited to 'src/mailman/utilities/datetime.py')
-rw-r--r--src/mailman/utilities/datetime.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mailman/utilities/datetime.py b/src/mailman/utilities/datetime.py
index 7e727346d..1ee727da4 100644
--- a/src/mailman/utilities/datetime.py
+++ b/src/mailman/utilities/datetime.py
@@ -36,25 +36,27 @@ __all__ = [
import datetime
+from mailman.testing import layers
+
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 layers.is_testing()
else datetime.datetime.now(tz))
def today(self):
return (self.predictable_today
- if self.testing_mode
+ if layers.is_testing()
else datetime.date.today())
@classmethod
@@ -72,3 +74,4 @@ factory = DateFactory()
factory.reset()
today = factory.today
now = factory.now
+layers.MockAndMonkeyLayer.register_reset(factory.reset)