Merge "Fixes bug with Client function not setting up SSL params"
This commit is contained in:
commit
e727d22bf1
@ -215,14 +215,29 @@ class AuthPlugin(auth.BaseAuthPlugin):
|
|||||||
raise exceptions.AuthPluginOptionsMissing(missing_opts)
|
raise exceptions.AuthPluginOptionsMissing(missing_opts)
|
||||||
|
|
||||||
|
|
||||||
def Client(version, *args, **kwargs):
|
def _adjust_kwargs(kwargs):
|
||||||
module = utils.import_versioned_module(version, 'client')
|
client_kwargs = {
|
||||||
client_class = getattr(module, 'Client')
|
'username': kwargs.get('os_username'),
|
||||||
kwargs['token'] = kwargs.get('token') or kwargs.get('auth_token')
|
'password': kwargs.get('os_password'),
|
||||||
return client_class(*args, **kwargs)
|
'tenant_id': kwargs.get('os_tenant_id'),
|
||||||
|
'tenant_name': kwargs.get('os_tenant_name'),
|
||||||
|
'auth_url': kwargs.get('os_auth_url'),
|
||||||
|
'region_name': kwargs.get('os_region_name'),
|
||||||
|
'service_type': kwargs.get('os_service_type'),
|
||||||
|
'endpoint_type': kwargs.get('os_endpoint_type'),
|
||||||
|
'cacert': kwargs.get('os_cacert'),
|
||||||
|
'cert_file': kwargs.get('os_cert'),
|
||||||
|
'key_file': kwargs.get('os_key'),
|
||||||
|
'token': kwargs.get('os_token') or kwargs.get('os_auth_token'),
|
||||||
|
'user_domain_name': kwargs.get('os_user_domain_name'),
|
||||||
|
'user_domain_id': kwargs.get('os_user_domain_id'),
|
||||||
|
'project_domain_name': kwargs.get('os_project_domain_name'),
|
||||||
|
'project_domain_id': kwargs.get('os_project_domain_id'),
|
||||||
|
}
|
||||||
|
|
||||||
|
client_kwargs.update(kwargs)
|
||||||
|
client_kwargs['token'] = kwargs.get('token') or kwargs.get('auth_token')
|
||||||
|
|
||||||
def _adjust_params(kwargs):
|
|
||||||
timeout = kwargs.get('timeout')
|
timeout = kwargs.get('timeout')
|
||||||
if timeout is not None:
|
if timeout is not None:
|
||||||
timeout = int(timeout)
|
timeout = int(timeout)
|
||||||
@ -241,7 +256,17 @@ def _adjust_params(kwargs):
|
|||||||
key = kwargs.get('key_file')
|
key = kwargs.get('key_file')
|
||||||
if cert and key:
|
if cert and key:
|
||||||
cert = cert, key
|
cert = cert, key
|
||||||
return {'verify': verify, 'cert': cert, 'timeout': timeout}
|
|
||||||
|
client_kwargs.update({'verify': verify, 'cert': cert, 'timeout': timeout})
|
||||||
|
return client_kwargs
|
||||||
|
|
||||||
|
|
||||||
|
def Client(version, *args, **kwargs):
|
||||||
|
client_kwargs = _adjust_kwargs(kwargs)
|
||||||
|
|
||||||
|
module = utils.import_versioned_module(version, 'client')
|
||||||
|
client_class = getattr(module, 'Client')
|
||||||
|
return client_class(*args, **client_kwargs)
|
||||||
|
|
||||||
|
|
||||||
def get_client(version, **kwargs):
|
def get_client(version, **kwargs):
|
||||||
@ -275,29 +300,7 @@ def get_client(version, **kwargs):
|
|||||||
"""
|
"""
|
||||||
endpoint = kwargs.get('os_endpoint') or kwargs.get('ceilometer_url')
|
endpoint = kwargs.get('os_endpoint') or kwargs.get('ceilometer_url')
|
||||||
|
|
||||||
cli_kwargs = {
|
return Client(version, endpoint, **kwargs)
|
||||||
'username': kwargs.get('os_username'),
|
|
||||||
'password': kwargs.get('os_password'),
|
|
||||||
'tenant_id': kwargs.get('os_tenant_id'),
|
|
||||||
'tenant_name': kwargs.get('os_tenant_name'),
|
|
||||||
'auth_url': kwargs.get('os_auth_url'),
|
|
||||||
'region_name': kwargs.get('os_region_name'),
|
|
||||||
'service_type': kwargs.get('os_service_type'),
|
|
||||||
'endpoint_type': kwargs.get('os_endpoint_type'),
|
|
||||||
'cacert': kwargs.get('os_cacert'),
|
|
||||||
'cert_file': kwargs.get('os_cert'),
|
|
||||||
'key_file': kwargs.get('os_key'),
|
|
||||||
'token': kwargs.get('os_token') or kwargs.get('os_auth_token'),
|
|
||||||
'user_domain_name': kwargs.get('os_user_domain_name'),
|
|
||||||
'user_domain_id': kwargs.get('os_user_domain_id'),
|
|
||||||
'project_domain_name': kwargs.get('os_project_domain_name'),
|
|
||||||
'project_domain_id': kwargs.get('os_project_domain_id'),
|
|
||||||
}
|
|
||||||
|
|
||||||
cli_kwargs.update(kwargs)
|
|
||||||
cli_kwargs.update(_adjust_params(cli_kwargs))
|
|
||||||
|
|
||||||
return Client(version, endpoint, **cli_kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
def get_auth_plugin(endpoint, **kwargs):
|
def get_auth_plugin(endpoint, **kwargs):
|
||||||
|
@ -42,9 +42,6 @@ class ClientTest(utils.BaseTestCase):
|
|||||||
|
|
||||||
return client.get_client(api_version, **env)
|
return client.get_client(api_version, **env)
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
super(ClientTest, self).setUp()
|
|
||||||
|
|
||||||
def test_client_version(self):
|
def test_client_version(self):
|
||||||
c1 = self.create_client(env=FAKE_ENV, api_version=1)
|
c1 = self.create_client(env=FAKE_ENV, api_version=1)
|
||||||
self.assertIsInstance(c1, v1client.Client)
|
self.assertIsInstance(c1, v1client.Client)
|
||||||
@ -94,7 +91,7 @@ class ClientTest(utils.BaseTestCase):
|
|||||||
'project_domain_id': None,
|
'project_domain_id': None,
|
||||||
}
|
}
|
||||||
with mock.patch('ceilometerclient.client.AuthPlugin') as auth_plugin:
|
with mock.patch('ceilometerclient.client.AuthPlugin') as auth_plugin:
|
||||||
self.create_client(env, api_version=2)
|
self.create_client(env, api_version=2, endpoint='http://no.where')
|
||||||
auth_plugin.assert_called_with(**expected)
|
auth_plugin.assert_called_with(**expected)
|
||||||
|
|
||||||
def test_client_with_auth_plugin(self):
|
def test_client_with_auth_plugin(self):
|
||||||
@ -149,3 +146,13 @@ class ClientTest(utils.BaseTestCase):
|
|||||||
client = self.create_client(env)
|
client = self.create_client(env)
|
||||||
self.assertEqual(('/path/to/cert', '/path/to/keycert'),
|
self.assertEqual(('/path/to/cert', '/path/to/keycert'),
|
||||||
client.client.cert)
|
client.client.cert)
|
||||||
|
|
||||||
|
|
||||||
|
class ClientTest2(ClientTest):
|
||||||
|
@staticmethod
|
||||||
|
def create_client(env, api_version=2, endpoint=None, exclude=[]):
|
||||||
|
env = dict((k, v) for k, v in env.items()
|
||||||
|
if k not in exclude)
|
||||||
|
|
||||||
|
# Run the same tests with direct instantiation of the Client
|
||||||
|
return client.Client(api_version, endpoint, **env)
|
||||||
|
Loading…
Reference in New Issue
Block a user