diff --git a/evennia/utils/tests/test_validatorfuncs.py b/evennia/utils/tests/test_validatorfuncs.py index 78a6af8aa6..30231c5e65 100644 --- a/evennia/utils/tests/test_validatorfuncs.py +++ b/evennia/utils/tests/test_validatorfuncs.py @@ -54,18 +54,18 @@ class TestValidatorFuncs(TestCase): with self.assertRaises(ValueError): validatorfuncs.duration(d) - # def test_future_ok(self): - # year = int(datetime.datetime.utcnow().strftime("%Y")) - # for f in [f'Jan 2 12:00 {year+1}', f'Dec 31 00:00 {year+1}']: - # self.assertTrue( - # isinstance(validatorfuncs.future(f, from_tz=pytz.UTC), - # datetime.timedelta)) + def test_future_ok(self): + year = int(datetime.datetime.utcnow().strftime("%Y")) + for f in [f'Jan 2 12:00 {year+1}', f'Dec 31 00:00 {year+1}']: + self.assertTrue( + isinstance(validatorfuncs.future(f, from_tz=pytz.UTC), + datetime.datetime)) - # def test_future_raises_ValueError(self): - # year = int(datetime.datetime.utcnow().strftime("%Y")) - # for f in [f'Jan 2 12:00 {year-1}', f'Dec 31 00:00 {year-1}']: - # with self.assertRaises(ValueError): - # validatorfuncs.future(f, from_tz=pytz.UTC) + def test_future_raises_ValueError(self): + year = int(datetime.datetime.utcnow().strftime("%Y")) + for f in [f'Jan 2 12:00 {year-1}', f'Dec 31 00:00 {year-1}']: + with self.assertRaises(ValueError): + validatorfuncs.future(f, from_tz=pytz.UTC) def test_signed_integer_ok(self): for si in ['123', '4567890', '001', '-123', '-45', '0']: diff --git a/evennia/utils/validatorfuncs.py b/evennia/utils/validatorfuncs.py index b4b9162e62..0245d2a5af 100644 --- a/evennia/utils/validatorfuncs.py +++ b/evennia/utils/validatorfuncs.py @@ -121,7 +121,7 @@ def duration(entry, option_key="Duration", **kwargs): def future(entry, option_key="Future Datetime", from_tz=None, **kwargs): time = datetime(entry, option_key, from_tz=from_tz) - if time < _dt.datetime.utcnow(): + if time < _dt.datetime.utcnow().replace(tzinfo=_dt.timezone.utc): raise ValueError(f"That {option_key} is in the past! Must give a Future datetime!") return time