diff --git a/oslo_utils/timeutils.py b/oslo_utils/timeutils.py index 94b728da..9e15c120 100644 --- a/oslo_utils/timeutils.py +++ b/oslo_utils/timeutils.py @@ -143,8 +143,8 @@ def utcnow_ts(microsecond=False): return timestamp -def utcnow(): - """Overridable version of utils.utcnow. +def utcnow(with_timezone=False): + """Overridable version of utils.utcnow that can return a TZ-aware datetime. See :py:class:`oslo_utils.fixture.TimeFixture`. @@ -154,6 +154,8 @@ def utcnow(): return utcnow.override_time.pop(0) except AttributeError: return utcnow.override_time + if with_timezone: + return datetime.datetime.now(tz=iso8601.iso8601.UTC) return datetime.datetime.utcnow() diff --git a/tests/test_timeutils.py b/tests/test_timeutils.py index fdfab2cc..bc13a31c 100644 --- a/tests/test_timeutils.py +++ b/tests/test_timeutils.py @@ -185,6 +185,9 @@ class TimeUtilsTest(test_base.BaseTestCase): self.assertTrue(timeutils.utcnow()) + self.assertEqual(timeutils.utcnow(True).tzinfo, + iso8601.iso8601.UTC) + def test_advance_time_delta(self): timeutils.set_time_override(self.one_minute_before) timeutils.advance_time_delta(datetime.timedelta(seconds=60))