diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-09-09 13:12:22 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-09-09 13:12:22 +0000 |
commit | 50fa6f097e597d32e774ea9e4e43be4219cca5b9 (patch) | |
tree | 30c9cedec0498530b317bab491010af986924acb | |
parent | 0823039e30dfb46e63f4d1533982b47fa333c940 (diff) | |
parent | 0fa062ea984bdcd5469361e4bd4b69a2f62e4915 (diff) | |
download | python-keystoneclient-50fa6f097e597d32e774ea9e4e43be4219cca5b9.tar.gz |
Merge "Handle invalidate in identity plugins correctly"
-rw-r--r-- | keystoneclient/auth/identity/base.py | 7 | ||||
-rw-r--r-- | keystoneclient/tests/auth/test_identity_common.py | 12 |
2 files changed, 17 insertions, 2 deletions
diff --git a/keystoneclient/auth/identity/base.py b/keystoneclient/auth/identity/base.py index 4b02f94..172655d 100644 --- a/keystoneclient/auth/identity/base.py +++ b/keystoneclient/auth/identity/base.py @@ -134,8 +134,11 @@ class BaseIdentityPlugin(base.BaseAuthPlugin): invalidate. This means that it makes sense to try again. If nothing happens returns False to indicate give up. """ - self.auth_ref = None - return True + if self.auth_ref: + self.auth_ref = None + return True + + return False def get_endpoint(self, session, service_type=None, interface=None, region_name=None, service_name=None, version=None, diff --git a/keystoneclient/tests/auth/test_identity_common.py b/keystoneclient/tests/auth/test_identity_common.py index b8ff8da..371fd18 100644 --- a/keystoneclient/tests/auth/test_identity_common.py +++ b/keystoneclient/tests/auth/test_identity_common.py @@ -209,6 +209,18 @@ class CommonIdentityTests(object): s = session.Session(auth=a) self.assertIs(expired_auth_ref, a.get_access(s)) + def test_invalidate(self): + a = self.create_auth_plugin() + s = session.Session(auth=a) + + # trigger token fetching + s.get_token() + + self.assertTrue(a.auth_ref) + self.assertTrue(a.invalidate()) + self.assertIsNone(a.auth_ref) + self.assertFalse(a.invalidate()) + class V3(CommonIdentityTests, utils.TestCase): |