diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-12-01 00:08:44 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-12-01 00:08:44 +0000 |
commit | f7c1d45a04bb2b024a985b8e30245d38f2bf8442 (patch) | |
tree | 4fd1d4b182c903ef16ecd3f1e2d600bbe04855b9 | |
parent | 70934194e18ed9823baa0d344e2543b982f1af73 (diff) | |
parent | b405d71a5f9562414ce6b08f7eb4556f534dd273 (diff) | |
download | python-keystoneclient-f7c1d45a04bb2b024a985b8e30245d38f2bf8442.tar.gz |
Merge "Fix missing service_catalog parameter in Client object"3.8.0
-rw-r--r-- | keystoneclient/httpclient.py | 5 | ||||
-rw-r--r-- | keystoneclient/tests/unit/v2_0/test_client.py | 8 | ||||
-rw-r--r-- | keystoneclient/tests/unit/v3/test_client.py | 8 |
3 files changed, 20 insertions, 1 deletions
diff --git a/keystoneclient/httpclient.py b/keystoneclient/httpclient.py index 9d54769..4d893c3 100644 --- a/keystoneclient/httpclient.py +++ b/keystoneclient/httpclient.py @@ -442,7 +442,10 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin): @property def service_catalog(self): """Return this client's service catalog.""" - return self.auth_ref.service_catalog + try: + return self.auth_ref.service_catalog + except AttributeError: + return None def has_service_catalog(self): """Return True if this client provides a service catalog.""" diff --git a/keystoneclient/tests/unit/v2_0/test_client.py b/keystoneclient/tests/unit/v2_0/test_client.py index 05cc075..90b6450 100644 --- a/keystoneclient/tests/unit/v2_0/test_client.py +++ b/keystoneclient/tests/unit/v2_0/test_client.py @@ -16,6 +16,7 @@ import uuid from keystoneauth1 import fixture import six +from keystoneauth1 import session as auth_session from keystoneclient.auth import token_endpoint from keystoneclient import exceptions from keystoneclient import session @@ -211,3 +212,10 @@ class KeystoneClientTest(utils.TestCase): self.assertEqual('identity', cl._adapter.service_type) self.assertEqual((2, 0), cl._adapter.version) + + def test_empty_service_catalog_param(self): + # Client().service_catalog should return None if the client is not + # authenticated + sess = auth_session.Session() + cl = client.Client(session=sess) + self.assertEqual(None, cl.service_catalog) diff --git a/keystoneclient/tests/unit/v3/test_client.py b/keystoneclient/tests/unit/v3/test_client.py index c401ba6..42004ff 100644 --- a/keystoneclient/tests/unit/v3/test_client.py +++ b/keystoneclient/tests/unit/v3/test_client.py @@ -16,6 +16,7 @@ import uuid import six +from keystoneauth1 import session as auth_session from keystoneclient.auth import token_endpoint from keystoneclient import exceptions from keystoneclient import session @@ -261,3 +262,10 @@ class KeystoneClientTest(utils.TestCase): self.assertEqual('identity', cl._adapter.service_type) self.assertEqual((3, 0), cl._adapter.version) + + def test_empty_service_catalog_param(self): + # Client().service_catalog should return None if the client is not + # authenticated + sess = auth_session.Session() + cl = client.Client(session=sess) + self.assertEqual(None, cl.service_catalog) |