Merge "Pass kwargs through to the adapter"

This commit is contained in:
Jenkins 2015-01-05 01:28:02 +00:00 committed by Gerrit Code Review
commit 2494e0fc6f
3 changed files with 50 additions and 4 deletions
novaclient

@ -720,11 +720,11 @@ def _construct_http_client(username=None, password=None, project_id=None,
auth_token=None, cacert=None, tenant_id=None,
user_id=None, connection_pool=False, session=None,
auth=None, user_agent='python-novaclient',
**kwargs):
interface=None, **kwargs):
if session:
return SessionClient(session=session,
auth=auth,
interface=endpoint_type,
interface=interface or endpoint_type,
service_type=service_type,
region_name=region_name,
service_name=service_name,

@ -0,0 +1,45 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import uuid
from keystoneclient import session
from novaclient.tests import utils
from novaclient.v1_1 import client
class ClientTest(utils.TestCase):
def test_adapter_properties(self):
# sample of properties, there are many more
user_agent = uuid.uuid4().hex
endpoint_override = uuid.uuid4().hex
s = session.Session()
c = client.Client(session=s,
user_agent=user_agent,
endpoint_override=endpoint_override)
self.assertEqual(user_agent, c.client.user_agent)
self.assertEqual(endpoint_override, c.client.endpoint_override)
def test_passing_interface(self):
endpoint_type = uuid.uuid4().hex
interface = uuid.uuid4().hex
s = session.Session()
c = client.Client(session=s,
interface=interface,
endpoint_type=endpoint_type)
self.assertEqual(interface, c.client.interface)

@ -103,7 +103,7 @@ class Client(object):
auth_system='keystone', auth_plugin=None, auth_token=None,
cacert=None, tenant_id=None, user_id=None,
connection_pool=False, session=None, auth=None,
completion_cache=None):
completion_cache=None, **kwargs):
# FIXME(comstud): Rename the api_key argument above when we
# know it's not being used as keyword argument
@ -192,7 +192,8 @@ class Client(object):
cacert=cacert,
connection_pool=connection_pool,
session=session,
auth=auth)
auth=auth,
**kwargs)
self.completion_cache = completion_cache