summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Willey <todd@ansolabs.com>2010-07-26 23:49:49 -0400
committerTodd Willey <todd@ansolabs.com>2010-07-26 23:49:49 -0400
commit74ce3aef4dafca8b0fc6bf0404725afdefe335ec (patch)
tree1678449c19d09a656812229ad2c5f1a8753482f6
parent7588ae06e8d6a7d526b12e0f15f3e5be522f16d0 (diff)
downloadnova-74ce3aef4dafca8b0fc6bf0404725afdefe335ec.tar.gz
nova-74ce3aef4dafca8b0fc6bf0404725afdefe335ec.tar.xz
nova-74ce3aef4dafca8b0fc6bf0404725afdefe335ec.zip
Give SessionToken an is_expired method
-rw-r--r--nova/compute/model.py5
-rw-r--r--nova/tests/model_unittest.py11
2 files changed, 16 insertions, 0 deletions
diff --git a/nova/compute/model.py b/nova/compute/model.py
index 7335d2c79..bae93b6c1 100644
--- a/nova/compute/model.py
+++ b/nova/compute/model.py
@@ -288,6 +288,11 @@ class SessionToken(datastore.BasicModel):
expires = time + diff
self['expiry'] = expires.strftime(utils.TIME_FORMAT)
+ def is_expired(self):
+ now = datetime.datetime.utcnow()
+ expires = utils.parse_isotime(self['expiry'])
+ return expires <= now
+
if __name__ == "__main__":
import doctest
diff --git a/nova/tests/model_unittest.py b/nova/tests/model_unittest.py
index 10d3016f8..88ba5e6e9 100644
--- a/nova/tests/model_unittest.py
+++ b/nova/tests/model_unittest.py
@@ -279,3 +279,14 @@ class ModelTestCase(test.TrialTestCase):
instance = yield model.SessionToken.generate("testuser")
inst = model.SessionToken.lookup(instance.identifier)
self.assert_(inst)
+
+ @defer.inlineCallbacks
+ def test_session_token_is_expired_when_expired(self):
+ instance = yield model.SessionToken.generate("testuser")
+ instance['expiry'] = datetime.utcnow().strftime(utils.TIME_FORMAT)
+ self.assert_(instance.is_expired())
+
+ @defer.inlineCallbacks
+ def test_session_token_is_expired_when_not_expired(self):
+ instance = yield model.SessionToken.generate("testuser")
+ self.assertFalse(instance.is_expired())