From 979b3fc495fe9f07488a537623185f7a0db18052 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Mon, 15 Dec 2014 17:19:03 -0600 Subject: [PATCH] Add fetch revocations for v2.0 There was no API to fetch revocations using v2.0. bp auth-token-use-client Change-Id: Ica5aae5b9075180223268fb6b2ef11e00dfd057f --- keystoneclient/tests/v2_0/test_tokens.py | 7 +++++++ keystoneclient/v2_0/tokens.py | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/keystoneclient/tests/v2_0/test_tokens.py b/keystoneclient/tests/v2_0/test_tokens.py index 688972bd7..335127390 100644 --- a/keystoneclient/tests/v2_0/test_tokens.py +++ b/keystoneclient/tests/v2_0/test_tokens.py @@ -160,3 +160,10 @@ class TokenTests(utils.TestCase): self.assertIsInstance(token_ref, tokens.Token) self.assertEqual(token_fixture.token_id, token_ref.id) self.assertEqual(token_fixture.expires_str, token_ref.expires) + + def test_get_revoked(self): + sample_revoked_response = {'signed': '-----BEGIN CMS-----\nMIIB...'} + self.stub_url('GET', ['tokens', 'revoked'], + json=sample_revoked_response) + resp = self.client.tokens.get_revoked() + self.assertEqual(sample_revoked_response, resp) diff --git a/keystoneclient/v2_0/tokens.py b/keystoneclient/v2_0/tokens.py index fb487384a..ed1c07e33 100644 --- a/keystoneclient/v2_0/tokens.py +++ b/keystoneclient/v2_0/tokens.py @@ -72,3 +72,13 @@ class TokenManager(base.Manager): def endpoints(self, token): return self._get("/tokens/%s/endpoints" % base.getid(token), "token") + + def get_revoked(self): + """Returns the revoked tokens response. + + The response will be a dict containing 'signed' which is a CMS-encoded + document. + + """ + resp, body = self.client.get('/tokens/revoked') + return body