summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-11-25 11:30:20 +0000
committerGerrit Code Review <review@openstack.org>2014-11-25 11:30:20 +0000
commitd8c15a967b638f6c1099172724ebb8018f9ff460 (patch)
tree9b835d74b7eae40a840857c6cbe6175945755533
parent6d797aaced6334fa405c623bc5ba01207c4d5e33 (diff)
parentbdaf4b80675fe4c5c4fe0c618f24bdeece34adf1 (diff)
downloadpython-ceilometerclient-d8c15a967b638f6c1099172724ebb8018f9ff460.tar.gz
Merge "Fix wrong initialization of AuthPlugin for keystone v3"
-rw-r--r--ceilometerclient/client.py8
-rw-r--r--ceilometerclient/tests/test_client.py41
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)