From 91820d4997519b443d97f554f4f992d744f695d2 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Tue, 16 Dec 2014 09:25:37 -0600 Subject: [PATCH] Add fetch revocations for v3 There was no API to fetch revocations using v3. bp auth-token-use-client Change-Id: I82c5f3e475187d0961bf30b4fc71b57e288dcf09 --- keystoneclient/tests/v3/test_tokens.py | 7 +++++++ keystoneclient/v3/tokens.py | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/keystoneclient/tests/v3/test_tokens.py b/keystoneclient/tests/v3/test_tokens.py index f608d6d4a..6556a7bd6 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 85735bfc2..aa8ccaf35 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