summaryrefslogtreecommitdiffstats
path: root/tests/test_backend.py
diff options
context:
space:
mode:
authorJamie Lennox <jlennox@redhat.com>2013-05-03 14:04:09 +1000
committerJamie Lennox <jlennox@redhat.com>2013-05-21 10:14:12 +1000
commitff76a1b5cd3308cfb0ce936800364e27413ed946 (patch)
tree537b430171ca5405eed0ba7b0e2f7ce98ab15315 /tests/test_backend.py
parent8d2b8e6457d5ae0ed1136091cb8c143a96abd614 (diff)
downloadkeystone-ff76a1b5cd3308cfb0ce936800364e27413ed946.tar.gz
keystone-ff76a1b5cd3308cfb0ce936800364e27413ed946.tar.xz
keystone-ff76a1b5cd3308cfb0ce936800364e27413ed946.zip
Implement Token Flush via keystone-manage.
Creates a cli entry 'token_flush' which removes all expired tokens. Fixes: bug 1032633 Implements: blueprint keystone-manage-token-flush Change-Id: I47eab99b577ff9e9ee74fee08e18fd07c4af5aad
Diffstat (limited to 'tests/test_backend.py')
-rw-r--r--tests/test_backend.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_backend.py b/tests/test_backend.py
index 613aaedc..dd9bc91b 100644
--- a/tests/test_backend.py
+++ b/tests/test_backend.py
@@ -2188,6 +2188,32 @@ class TokenTests(object):
self.check_list_revoked_tokens([self.delete_token()
for x in xrange(2)])
+ def test_flush_expired_token(self):
+ token_id = uuid.uuid4().hex
+ expire_time = timeutils.utcnow() - datetime.timedelta(minutes=1)
+ data = {'id_hash': token_id, 'id': token_id, 'a': 'b',
+ 'expires': expire_time,
+ 'trust_id': None,
+ 'user': {'id': 'testuserid'}}
+ data_ref = self.token_api.create_token(token_id, data)
+ data_ref.pop('user_id')
+ self.assertDictEqual(data_ref, data)
+
+ token_id = uuid.uuid4().hex
+ expire_time = timeutils.utcnow() + datetime.timedelta(minutes=1)
+ data = {'id_hash': token_id, 'id': token_id, 'a': 'b',
+ 'expires': expire_time,
+ 'trust_id': None,
+ 'user': {'id': 'testuserid'}}
+ data_ref = self.token_api.create_token(token_id, data)
+ data_ref.pop('user_id')
+ self.assertDictEqual(data_ref, data)
+
+ self.token_api.flush_expired_tokens()
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertEqual(len(tokens), 1)
+ self.assertIn(token_id, tokens)
+
class TrustTests(object):
def create_sample_trust(self, new_id):