summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrant Knudson <bknudson@us.ibm.com>2014-12-16 09:25:37 -0600
committerBrant Knudson <bknudson@us.ibm.com>2014-12-16 09:25:37 -0600
commit91820d4997519b443d97f554f4f992d744f695d2 (patch)
tree83c2f84fb57d007b370498cee1844cd94415c2f9
parent81e48d44ff79d58ec6b983f475ff008c9f7f3b0e (diff)
downloadpython-keystoneclient-91820d4997519b443d97f554f4f992d744f695d2.tar.gz
Add fetch revocations for v3
There was no API to fetch revocations using v3. bp auth-token-use-client Change-Id: I82c5f3e475187d0961bf30b4fc71b57e288dcf09
-rw-r--r--keystoneclient/tests/v3/test_tokens.py7
-rw-r--r--keystoneclient/v3/tokens.py11
2 files changed, 18 insertions, 0 deletions
diff --git a/keystoneclient/tests/v3/test_tokens.py b/keystoneclient/tests/v3/test_tokens.py
index f608d6d..6556a7b 100644
--- a/keystoneclient/tests/v3/test_tokens.py
+++ b/keystoneclient/tests/v3/test_tokens.py
@@ -33,3 +33,10 @@ class TokenTests(utils.TestCase):
self.stub_url('DELETE', ['/auth/tokens'], status_code=204)
self.client.tokens.revoke_token(token)
self.assertRequestHeaderEqual('X-Subject-Token', token_id)
+
+ def test_get_revoked(self):
+ sample_revoked_response = {'signed': '-----BEGIN CMS-----\nMIIB...'}
+ self.stub_url('GET', ['auth', 'tokens', 'OS-PKI', 'revoked'],
+ json=sample_revoked_response)
+ resp = self.client.tokens.get_revoked()
+ self.assertEqual(sample_revoked_response, resp)
diff --git a/keystoneclient/v3/tokens.py b/keystoneclient/v3/tokens.py
index 85735bf..aa8ccaf 100644
--- a/keystoneclient/v3/tokens.py
+++ b/keystoneclient/v3/tokens.py
@@ -34,3 +34,14 @@ class TokenManager(object):
token_id = base.getid(token)
headers = {'X-Subject-Token': token_id}
return self._client.delete('/auth/tokens', headers=headers)
+
+ def get_revoked(self):
+ """Get revoked tokens list.
+
+ :returns: A dict containing "signed" which is a CMS formatted string.
+ :rtype: dict
+
+ """
+
+ resp, body = self._client.get('/auth/tokens/OS-PKI/revoked')
+ return body