diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-11-25 11:30:20 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-11-25 11:30:20 +0000 |
commit | d8c15a967b638f6c1099172724ebb8018f9ff460 (patch) | |
tree | 9b835d74b7eae40a840857c6cbe6175945755533 | |
parent | 6d797aaced6334fa405c623bc5ba01207c4d5e33 (diff) | |
parent | bdaf4b80675fe4c5c4fe0c618f24bdeece34adf1 (diff) | |
download | python-ceilometerclient-d8c15a967b638f6c1099172724ebb8018f9ff460.tar.gz |
Merge "Fix wrong initialization of AuthPlugin for keystone v3"
-rw-r--r-- | ceilometerclient/client.py | 8 | ||||
-rw-r--r-- | ceilometerclient/tests/test_client.py | 41 |
2 files changed, 42 insertions, 7 deletions
diff --git a/ceilometerclient/client.py b/ceilometerclient/client.py index 73772be..8762a98 100644 --- a/ceilometerclient/client.py +++ b/ceilometerclient/client.py @@ -261,6 +261,10 @@ def get_client(version, **kwargs): 'cert_file': kwargs.get('os_cert'), 'key_file': kwargs.get('os_key'), 'token': 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) @@ -279,5 +283,9 @@ def get_auth_plugin(endpoint, **kwargs): username=kwargs.get('username'), password=kwargs.get('password'), tenant_name=kwargs.get('tenant_name'), + user_domain_name=kwargs.get('user_domain_name'), + user_domain_id=kwargs.get('user_domain_id'), + project_domain_name=kwargs.get('project_domain_name'), + project_domain_id=kwargs.get('project_domain_id') ) return auth_plugin diff --git a/ceilometerclient/tests/test_client.py b/ceilometerclient/tests/test_client.py index 02735c5..3594f3a 100644 --- a/ceilometerclient/tests/test_client.py +++ b/ceilometerclient/tests/test_client.py @@ -20,13 +20,17 @@ from ceilometerclient.tests import utils from ceilometerclient.v1 import client as v1client from ceilometerclient.v2 import client as v2client -FAKE_ENV = {'username': 'username', - 'password': 'password', - 'tenant_name': 'tenant_name', - 'auth_url': 'http://no.where', - 'ceilometer_url': 'http://no.where', - 'auth_plugin': 'fake_auth', - 'token': '1234'} +FAKE_ENV = { + 'username': 'username', + 'password': 'password', + 'tenant_name': 'tenant_name', + 'auth_url': 'http://no.where', + 'ceilometer_url': 'http://no.where', + 'auth_plugin': 'fake_auth', + 'token': '1234', + 'user_domain_name': 'default', + 'project_domain_name': 'default', +} class ClientTest(utils.BaseTestCase): @@ -69,6 +73,29 @@ class ClientTest(utils.BaseTestCase): c = self.create_client(env, api_version=2, endpoint='fake_endpoint') self.assertIsInstance(c.auth_plugin, client.AuthPlugin) + def test_client_without_auth_plugin_keystone_v3(self): + env = FAKE_ENV.copy() + del env['auth_plugin'] + expected = { + 'username': 'username', + 'endpoint': None, + 'tenant_name': 'tenant_name', + 'service_type': None, + 'token': '1234', + 'endpoint_type': None, + 'auth_url': 'http://no.where', + 'tenant_id': None, + 'cacert': None, + 'password': 'password', + 'user_domain_name': 'default', + 'user_domain_id': None, + 'project_domain_name': 'default', + 'project_domain_id': None, + } + with mock.patch('ceilometerclient.client.AuthPlugin') as auth_plugin: + self.create_client(env, api_version=2) + auth_plugin.assert_called_with(**expected) + def test_client_with_auth_plugin(self): c = self.create_client(FAKE_ENV, api_version=2) self.assertIsInstance(c.auth_plugin, str) |