Merge "Add version parameter to adapter."

This commit is contained in:
Jenkins
2014-09-09 14:29:29 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 2 deletions

View File

@@ -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)

View File

@@ -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)