summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-09 14:29:29 +0000
committerGerrit Code Review <review@openstack.org>2014-09-09 14:29:29 +0000
commita9367009ad3ab1da003bb5e43d1ae1e3ecfee2a3 (patch)
tree9afcce95a58b09f2c515a78a01daf8ed8c1d5ba2
parent50fa6f097e597d32e774ea9e4e43be4219cca5b9 (diff)
parent0e6171904385550972b3a961e9cb1614403312dc (diff)
downloadpython-keystoneclient-a9367009ad3ab1da003bb5e43d1ae1e3ecfee2a3.tar.gz
Merge "Add version parameter to adapter."
-rw-r--r--keystoneclient/adapter.py6
-rw-r--r--keystoneclient/tests/test_session.py6
2 files changed, 10 insertions, 2 deletions
diff --git a/keystoneclient/adapter.py b/keystoneclient/adapter.py
index 605b1ec..b5687b9 100644
--- a/keystoneclient/adapter.py
+++ b/keystoneclient/adapter.py
@@ -27,7 +27,7 @@ class Adapter(object):
@utils.positional()
def __init__(self, session, service_type=None, service_name=None,
interface=None, region_name=None, endpoint_override=None,
- auth=None, user_agent=None):
+ version=None, auth=None, user_agent=None):
"""Create a new adapter.
:param Session session: The session object to wrap.
@@ -37,6 +37,7 @@ class Adapter(object):
:param str region_name: The default region_name for URL discovery.
:param str endpoint_override: Always use this endpoint URL for requests
for this client.
+ :param tuple version: The version that this API targets.
:param auth.BaseAuthPlugin auth: An auth plugin to use instead of the
session one.
:param str user_agent: The User-Agent string to set.
@@ -47,6 +48,7 @@ class Adapter(object):
self.interface = interface
self.region_name = region_name
self.endpoint_override = endpoint_override
+ self.version = version
self.user_agent = user_agent
self.auth = auth
@@ -61,6 +63,8 @@ class Adapter(object):
endpoint_filter.setdefault('interface', self.interface)
if self.region_name:
endpoint_filter.setdefault('region_name', self.region_name)
+ if self.version:
+ endpoint_filter.setdefault('version', self.version)
if self.endpoint_override:
kwargs.setdefault('endpoint_override', self.endpoint_override)
diff --git a/keystoneclient/tests/test_session.py b/keystoneclient/tests/test_session.py
index c225ae1..2b90b73 100644
--- a/keystoneclient/tests/test_session.py
+++ b/keystoneclient/tests/test_session.py
@@ -548,6 +548,7 @@ class AdapterTest(utils.TestCase):
INTERFACE = uuid.uuid4().hex
REGION_NAME = uuid.uuid4().hex
USER_AGENT = uuid.uuid4().hex
+ VERSION = uuid.uuid4().hex
TEST_URL = CalledAuthPlugin.ENDPOINT
@@ -563,7 +564,8 @@ class AdapterTest(utils.TestCase):
service_name=self.SERVICE_NAME,
interface=self.INTERFACE,
region_name=self.REGION_NAME,
- user_agent=self.USER_AGENT)
+ user_agent=self.USER_AGENT,
+ version=self.VERSION)
resp = adpt.get('/')
self.assertEqual(resp.text, response)
@@ -576,6 +578,8 @@ class AdapterTest(utils.TestCase):
auth.endpoint_arguments['interface'])
self.assertEqual(self.REGION_NAME,
auth.endpoint_arguments['region_name'])
+ self.assertEqual(self.VERSION,
+ auth.endpoint_arguments['version'])
self.assertTrue(auth.get_token_called)
self.assertRequestHeaderEqual('User-Agent', self.USER_AGENT)