diff options
author | Jamie Lennox <jamielennox@redhat.com> | 2014-08-29 11:23:28 +1000 |
---|---|---|
committer | Jamie Lennox <jamielennox@redhat.com> | 2014-09-01 10:49:12 +1000 |
commit | 0e6171904385550972b3a961e9cb1614403312dc (patch) | |
tree | 4b9b135789d2901cbe3b50c8bf37d2d7380cc7b6 | |
parent | 22a93fceb40fd289e5c5d91d1b1b10e40b0a0ae9 (diff) | |
download | python-keystoneclient-0e6171904385550972b3a961e9cb1614403312dc.tar.gz |
Add version parameter to adapter.
The version parameter was left out of adapter previously because setting
a version number triggers discovery and I felt that it was not ready for
the other services.
However if it isn't set then it won't be used and we may as well
implement it here once rather than have the individual services that do
support it override it themselves.
Change-Id: I707380a01175dc19b59de32cbb8fd2bb123d7335
-rw-r--r-- | keystoneclient/adapter.py | 6 | ||||
-rw-r--r-- | keystoneclient/tests/test_session.py | 6 |
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) |