summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-06 21:08:57 +0000
committerGerrit Code Review <review@openstack.org>2016-01-06 21:08:57 +0000
commitbea532248b593493419b783aeb558febed96ba3a (patch)
tree26a23d1e97c8fd6d768460e568c8942d90582cc6
parentb44de3ca161fd6bc1f50247c220e1756b056baaa (diff)
parentd3b11d674d6539a0a09e0c432983ebf172e8ad79 (diff)
downloadpython-keystoneclient-bea532248b593493419b783aeb558febed96ba3a.tar.gz
Merge "Change default endpoint for Keystone v3 to public"
-rw-r--r--keystoneclient/tests/unit/v3/test_auth.py4
-rw-r--r--keystoneclient/tests/unit/v3/test_client.py10
-rw-r--r--keystoneclient/tests/unit/v3/utils.py3
-rw-r--r--keystoneclient/v3/client.py5
4 files changed, 19 insertions, 3 deletions
diff --git a/keystoneclient/tests/unit/v3/test_auth.py b/keystoneclient/tests/unit/v3/test_auth.py
index 177eb3b..5928f8e 100644
--- a/keystoneclient/tests/unit/v3/test_auth.py
+++ b/keystoneclient/tests/unit/v3/test_auth.py
@@ -232,7 +232,7 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
self.stub_auth(json=self.TEST_RESPONSE_DICT)
self.stub_url('GET', [fake_url], json=fake_resp,
- base_url=self.TEST_ADMIN_IDENTITY_ENDPOINT)
+ base_url=self.TEST_PUBLIC_IDENTITY_ENDPOINT)
# Creating a HTTPClient not using session is deprecated.
with self.deprecations.expect_deprecations_here():
@@ -336,7 +336,7 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
self.stub_auth(json=self.TEST_RESPONSE_DICT)
self.stub_url('GET', [fake_url], json=fake_resp,
- base_url=self.TEST_ADMIN_IDENTITY_ENDPOINT)
+ base_url=self.TEST_PUBLIC_IDENTITY_ENDPOINT)
# Creating a HTTPClient not using session is deprecated.
with self.deprecations.expect_deprecations_here():
diff --git a/keystoneclient/tests/unit/v3/test_client.py b/keystoneclient/tests/unit/v3/test_client.py
index e35810e..902881f 100644
--- a/keystoneclient/tests/unit/v3/test_client.py
+++ b/keystoneclient/tests/unit/v3/test_client.py
@@ -257,3 +257,13 @@ class KeystoneClientTest(utils.TestCase):
self.assertEqual('identity', cl._adapter.service_type)
self.assertEqual((3, 0), cl._adapter.version)
+
+ def test_client_params_default_interface(self):
+ opts = {'auth': token_endpoint.Token('a', 'b'),
+ 'service_name': uuid.uuid4().hex,
+ }
+
+ sess = session.Session()
+ cl = client.Client(session=sess, **opts)
+
+ self.assertEqual('public', cl._adapter.interface)
diff --git a/keystoneclient/tests/unit/v3/utils.py b/keystoneclient/tests/unit/v3/utils.py
index fcb546e..2a02b49 100644
--- a/keystoneclient/tests/unit/v3/utils.py
+++ b/keystoneclient/tests/unit/v3/utils.py
@@ -48,6 +48,7 @@ class UnauthenticatedTestCase(utils.TestCase):
class TestCase(UnauthenticatedTestCase):
TEST_ADMIN_IDENTITY_ENDPOINT = "http://127.0.0.1:35357/v3"
+ TEST_PUBLIC_IDENTITY_ENDPOINT = "http://127.0.0.1:5000/v3"
TEST_SERVICE_CATALOG = [{
"endpoints": [{
@@ -97,7 +98,7 @@ class TestCase(UnauthenticatedTestCase):
"name": "glance"
}, {
"endpoints": [{
- "url": "http://127.0.0.1:5000/v3",
+ "url": TEST_PUBLIC_IDENTITY_ENDPOINT,
"region": "RegionOne",
"interface": "public"
}, {
diff --git a/keystoneclient/v3/client.py b/keystoneclient/v3/client.py
index 38be932..84b6ad7 100644
--- a/keystoneclient/v3/client.py
+++ b/keystoneclient/v3/client.py
@@ -187,6 +187,11 @@ EndpointPolicyManager`
def __init__(self, **kwargs):
"""Initialize a new client for the Keystone v3 API."""
+ # NOTE(Roxana Gherle): Keystone V3 APIs has no admin versus public
+ # distinction. They are both going through the same endpoint, so
+ # set a public default here instead of picking up an admin default in
+ # httpclient.HTTPClient
+ kwargs.setdefault('interface', 'public')
super(Client, self).__init__(**kwargs)
if not kwargs.get('session'):