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
This commit is contained in:
@@ -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)
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user