diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-10-11 15:25:43 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-10-11 15:25:43 +0000 |
| commit | fda069b557f6e432b62021db5244e8fdbda42551 (patch) | |
| tree | cae5d425395c51c7a895725d94a29b86cf50735d | |
| parent | 8b585cb969a823246a36d5b2cc7eac725e378fca (diff) | |
| parent | 85bed287461036745afe6a4c623e546c52641b1e (diff) | |
| download | oslo-fda069b557f6e432b62021db5244e8fdbda42551.tar.gz oslo-fda069b557f6e432b62021db5244e8fdbda42551.tar.xz oslo-fda069b557f6e432b62021db5244e8fdbda42551.zip | |
Merge "Added is_newer_than function"
| -rw-r--r-- | openstack/common/timeutils.py | 5 | ||||
| -rw-r--r-- | tests/unit/test_timeutils.py | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/openstack/common/timeutils.py b/openstack/common/timeutils.py index 93b34fc..8600439 100644 --- a/openstack/common/timeutils.py +++ b/openstack/common/timeutils.py @@ -74,6 +74,11 @@ def is_older_than(before, seconds): return utcnow() - before > datetime.timedelta(seconds=seconds) +def is_newer_than(after, seconds): + """Return True if after is newer than seconds.""" + return after - utcnow() > datetime.timedelta(seconds=seconds) + + def utcnow_ts(): """Timestamp version of our utcnow function.""" return calendar.timegm(utcnow().timetuple()) diff --git a/tests/unit/test_timeutils.py b/tests/unit/test_timeutils.py index 7e6ae72..38ac3ed 100644 --- a/tests/unit/test_timeutils.py +++ b/tests/unit/test_timeutils.py @@ -33,6 +33,8 @@ class TimeUtilsTest(unittest.TestCase): tzinfo=utc_timezone) self.one_minute_before = datetime.datetime(1997, 8, 29, 6, 13, 0, tzinfo=iso8601.iso8601.UTC) + self.one_minute_after = datetime.datetime(1997, 8, 29, 6, 15, 0, + tzinfo=iso8601.iso8601.UTC) self.skynet_self_aware_time_perfect_str = '1997-08-29T06:14:00.000000' self.skynet_self_aware_time_perfect = datetime.datetime(1997, 8, 29, 6, 14, 0) @@ -75,6 +77,16 @@ class TimeUtilsTest(unittest.TestCase): expect_false = timeutils.is_older_than(self.one_minute_before, 61) self.assertFalse(expect_false) + def test_is_newer_than(self): + with mock.patch('datetime.datetime') as datetime_mock: + datetime_mock.utcnow.return_value = self.skynet_self_aware_time + expect_true = timeutils.is_newer_than(self.one_minute_after, 59) + self.assertTrue(expect_true) + expect_false = timeutils.is_newer_than(self.one_minute_after, 60) + self.assertFalse(expect_false) + expect_false = timeutils.is_newer_than(self.one_minute_after, 61) + self.assertFalse(expect_false) + def test_utcnow_ts(self): skynet_self_aware_timestamp = 872835240 dt = datetime.datetime.utcfromtimestamp(skynet_self_aware_timestamp) |
