summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2012-09-06 11:54:04 -0400
committerAdam Young <ayoung@redhat.com>2012-09-06 16:33:17 -0400
commit150413cc4ba8ec854cf6fa30efeb7a653ad5e17a (patch)
tree7f2762e8e02fe45e2b2851f44bbba1788f7853cd /tests
parentfd6d2f1b1184c5b8da1ded3a560ef57795863fb5 (diff)
downloadkeystone-150413cc4ba8ec854cf6fa30efeb7a653ad5e17a.tar.gz
keystone-150413cc4ba8ec854cf6fa30efeb7a653ad5e17a.tar.xz
keystone-150413cc4ba8ec854cf6fa30efeb7a653ad5e17a.zip
List tokens for memcached backend
Creates and updates an index of tokens in a memcache entry keyed by the user id Bug 1046905 Change-Id: If11d6b87b0a8ae5f8349f1ebb31790e943c70fbf
Diffstat (limited to 'tests')
-rw-r--r--tests/test_backend.py40
-rw-r--r--tests/test_backend_memcache.py5
2 files changed, 39 insertions, 6 deletions
diff --git a/tests/test_backend.py b/tests/test_backend.py
index e142c9ab..dd843808 100644
--- a/tests/test_backend.py
+++ b/tests/test_backend.py
@@ -612,7 +612,8 @@ class IdentityTests(object):
class TokenTests(object):
def test_token_crud(self):
token_id = uuid.uuid4().hex
- data = {'id': token_id, 'id_hash': token_id, 'a': 'b'}
+ data = {'id': token_id, 'a': 'b',
+ 'user': {'id': 'testuserid'}}
data_ref = self.token_api.create_token(token_id, data)
expires = data_ref.pop('expires')
self.assertTrue(isinstance(expires, datetime.datetime))
@@ -629,6 +630,34 @@ class TokenTests(object):
self.assertRaises(exception.TokenNotFound,
self.token_api.delete_token, token_id)
+ def create_token_sample_data(self):
+ token_id = uuid.uuid4().hex
+ data = {'id': token_id, 'a': 'b',
+ 'user': {'id': 'testuserid'}}
+ self.token_api.create_token(token_id, data)
+ return token_id
+
+ def test_token_list(self):
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertEquals(len(tokens), 0)
+ token_id1 = self.create_token_sample_data()
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertEquals(len(tokens), 1)
+ self.assertIn(token_id1, tokens)
+ token_id2 = self.create_token_sample_data()
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertEquals(len(tokens), 2)
+ self.assertIn(token_id2, tokens)
+ self.assertIn(token_id1, tokens)
+ self.token_api.delete_token(token_id1)
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertIn(token_id2, tokens)
+ self.assertNotIn(token_id1, tokens)
+ self.token_api.delete_token(token_id2)
+ tokens = self.token_api.list_tokens('testuserid')
+ self.assertNotIn(token_id2, tokens)
+ self.assertNotIn(token_id1, tokens)
+
def test_get_token_404(self):
self.assertRaises(exception.TokenNotFound,
self.token_api.get_token,
@@ -643,7 +672,8 @@ class TokenTests(object):
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}
+ 'expires': expire_time,
+ 'user': {'id': 'testuserid'}}
data_ref = self.token_api.create_token(token_id, data)
self.assertDictEqual(data_ref, data)
self.assertRaises(exception.TokenNotFound,
@@ -651,7 +681,8 @@ class TokenTests(object):
def test_null_expires_token(self):
token_id = uuid.uuid4().hex
- data = {'id': token_id, 'id_hash': token_id, 'a': 'b', 'expires': None}
+ data = {'id': token_id, 'id_hash': token_id, 'a': 'b', 'expires': None,
+ 'user': {'id': 'testuserid'}}
data_ref = self.token_api.create_token(token_id, data)
self.assertDictEqual(data_ref, data)
new_data_ref = self.token_api.get_token(token_id)
@@ -664,7 +695,8 @@ class TokenTests(object):
def delete_token(self):
token_id = uuid.uuid4().hex
- data = {'id_hash': token_id, 'id': token_id, 'a': 'b'}
+ data = {'id_hash': token_id, 'id': token_id, 'a': 'b',
+ 'user': {'id': 'testuserid'}}
data_ref = self.token_api.create_token(token_id, data)
self.token_api.delete_token(token_id)
self.assertRaises(
diff --git a/tests/test_backend_memcache.py b/tests/test_backend_memcache.py
index 613cec1e..884a94ac 100644
--- a/tests/test_backend_memcache.py
+++ b/tests/test_backend_memcache.py
@@ -36,7 +36,7 @@ class MemcacheClient(object):
def add(self, key, value):
if self.get(key):
return False
- self.set(key, value)
+ return self.set(key, value)
def append(self, key, value):
existing_value = self.get(key)
@@ -80,6 +80,7 @@ class MemcacheToken(test.TestCase, test_backend.TokenTests):
def test_get_unicode(self):
token_id = unicode(uuid.uuid4().hex)
- data = {'id': token_id, 'a': 'b'}
+ data = {'id': token_id, 'a': 'b',
+ 'user': {'id': 'testuserid'}}
self.token_api.create_token(token_id, data)
self.token_api.get_token(token_id)