summaryrefslogtreecommitdiffstats
path: root/tests/test_backend_memcache.py
diff options
context:
space:
mode:
authorBrian Waldon <bcwaldon@gmail.com>2012-02-08 16:08:08 -0800
committerBrian Waldon <bcwaldon@gmail.com>2012-02-14 14:18:50 -0800
commit71436dbf188b3ff1c576fcd54b992530aac98b6c (patch)
tree98c28015635a15ab497e84fa5a0a73c8e484615d /tests/test_backend_memcache.py
parent1ed067cb5791585bb02644a4a3827b6640324a95 (diff)
downloadkeystone-71436dbf188b3ff1c576fcd54b992530aac98b6c.tar.gz
keystone-71436dbf188b3ff1c576fcd54b992530aac98b6c.tar.xz
keystone-71436dbf188b3ff1c576fcd54b992530aac98b6c.zip
Add token expiration
* Config option token.expiration defines amount of time tokens should be valid * Fixes bug 928545 Change-Id: I3dff7a1ebf03bb44fc6e5247f976baea0581de08
Diffstat (limited to 'tests/test_backend_memcache.py')
-rw-r--r--tests/test_backend_memcache.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/tests/test_backend_memcache.py b/tests/test_backend_memcache.py
index b320b1f9..05ef2107 100644
--- a/tests/test_backend_memcache.py
+++ b/tests/test_backend_memcache.py
@@ -1,5 +1,7 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
+import datetime
+import time
import uuid
import memcache
@@ -25,15 +27,17 @@ class MemcacheClient(object):
def get(self, key):
"""Retrieves the value for a key or None."""
self.check_key(key)
- try:
- return self.cache[key]
- except KeyError:
+ obj = self.cache.get(key)
+ now = time.mktime(datetime.datetime.now().timetuple())
+ if obj and (obj[1] == 0 or obj[1] > now):
+ return obj[0]
+ else:
raise exception.TokenNotFound(token_id=key)
- def set(self, key, value):
+ def set(self, key, value, time=0):
"""Sets the value for a key."""
self.check_key(key)
- self.cache[key] = value
+ self.cache[key] = (value, time)
return True
def delete(self, key):