summaryrefslogtreecommitdiff
path: root/novaclient/tests/unit/test_shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'novaclient/tests/unit/test_shell.py')
-rw-r--r--novaclient/tests/unit/test_shell.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/novaclient/tests/unit/test_shell.py b/novaclient/tests/unit/test_shell.py
index 86047923..122f0727 100644
--- a/novaclient/tests/unit/test_shell.py
+++ b/novaclient/tests/unit/test_shell.py
@@ -16,6 +16,7 @@ import distutils.version as dist_version
import re
import sys
+import ddt
import fixtures
from keystoneauth1 import fixture
import mock
@@ -35,7 +36,11 @@ FAKE_ENV = {'OS_USERNAME': 'username',
'OS_PASSWORD': 'password',
'OS_TENANT_NAME': 'tenant_name',
'OS_AUTH_URL': 'http://no.where/v2.0',
- 'OS_COMPUTE_API_VERSION': '2'}
+ 'OS_COMPUTE_API_VERSION': '2',
+ 'OS_PROJECT_DOMAIN_ID': 'default',
+ 'OS_PROJECT_DOMAIN_NAME': 'default',
+ 'OS_USER_DOMAIN_ID': 'default',
+ 'OS_USER_DOMAIN_NAME': 'default'}
FAKE_ENV2 = {'OS_USER_ID': 'user_id',
'OS_PASSWORD': 'password',
@@ -349,6 +354,7 @@ class ParserTest(utils.TestCase):
self.assertTrue(args.tic_tac)
+@ddt.ddt
class ShellTest(utils.TestCase):
_msg_no_tenant_project = ("You must provide a project name or project"
@@ -521,6 +527,23 @@ class ShellTest(utils.TestCase):
else:
self.fail('CommandError not raised')
+ @ddt.data(
+ (None, 'project_domain_id', FAKE_ENV['OS_PROJECT_DOMAIN_ID']),
+ ('OS_PROJECT_DOMAIN_ID', 'project_domain_id', ''),
+ (None, 'project_domain_name', FAKE_ENV['OS_PROJECT_DOMAIN_NAME']),
+ ('OS_PROJECT_DOMAIN_NAME', 'project_domain_name', ''),
+ (None, 'user_domain_id', FAKE_ENV['OS_USER_DOMAIN_ID']),
+ ('OS_USER_DOMAIN_ID', 'user_domain_id', ''),
+ (None, 'user_domain_name', FAKE_ENV['OS_USER_DOMAIN_NAME']),
+ ('OS_USER_DOMAIN_NAME', 'user_domain_name', '')
+ )
+ @ddt.unpack
+ def test_basic_attributes(self, exclude, client_arg, env_var):
+ self.make_env(exclude=exclude, fake_env=FAKE_ENV)
+ self.shell('list')
+ client_kwargs = self.mock_client.call_args_list[0][1]
+ self.assertEqual(env_var, client_kwargs[client_arg])
+
@requests_mock.Mocker()
def test_nova_endpoint_type(self, m_requests):
self.make_env(fake_env=FAKE_ENV3)