summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorGuojian Shao <guojian@unitedstack.com>2015-07-16 23:23:45 +0800
committerGuojian Shao <guojian@unitedstack.com>2015-07-16 23:26:11 +0800
commit7b32ec003babec2c6d052146baf2951e465454f5 (patch)
treeea22dc9bc7e7c0ef5f26de3ac7d4e20e9af4ac40 /openstackclient/tests
parent37c83e6231dcfb2f0f4d28f13f78ac2dc170b768 (diff)
downloadpython-openstackclient-7b32ec003babec2c6d052146baf2951e465454f5.tar.gz
add --project-domain option for user v3
user v3 create/set only support --project option, we need --project-domain to prevent collisions between project names exist. Change-Id: I2d62e5b9bb6df4c5c5a9542514faf2e4365bb18b Closes-Bug: #1475357
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/identity/v3/test_user.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/openstackclient/tests/identity/v3/test_user.py b/openstackclient/tests/identity/v3/test_user.py
index 18fe9016..bdde25a2 100644
--- a/openstackclient/tests/identity/v3/test_user.py
+++ b/openstackclient/tests/identity/v3/test_user.py
@@ -320,6 +320,68 @@ class TestUserCreate(TestUser):
)
self.assertEqual(datalist, data)
+ def test_user_create_project_domain(self):
+ # Return the new project
+ self.projects_mock.get.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(identity_fakes.PROJECT_2),
+ loaded=True,
+ )
+ # Set up to return an updated user
+ USER_2 = copy.deepcopy(identity_fakes.USER)
+ USER_2['default_project_id'] = identity_fakes.PROJECT_2['id']
+ self.users_mock.create.return_value = fakes.FakeResource(
+ None,
+ USER_2,
+ loaded=True,
+ )
+
+ arglist = [
+ '--project', identity_fakes.PROJECT_2['name'],
+ '--project-domain', identity_fakes.PROJECT_2['domain_id'],
+ identity_fakes.user_name,
+ ]
+ verifylist = [
+ ('project', identity_fakes.PROJECT_2['name']),
+ ('project_domain', identity_fakes.PROJECT_2['domain_id']),
+ ('enable', False),
+ ('disable', False),
+ ('name', identity_fakes.user_name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # DisplayCommandBase.take_action() returns two tuples
+ columns, data = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'name': identity_fakes.user_name,
+ 'default_project': identity_fakes.PROJECT_2['id'],
+ 'description': None,
+ 'domain': None,
+ 'email': None,
+ 'enabled': True,
+ 'password': None,
+ }
+ # UserManager.create(name=, domain=, project=, password=, email=,
+ # description=, enabled=, default_project=)
+ self.users_mock.create.assert_called_with(
+ **kwargs
+ )
+
+ collist = ('default_project_id', 'domain_id', 'email',
+ 'enabled', 'id', 'name')
+ self.assertEqual(collist, columns)
+ datalist = (
+ identity_fakes.PROJECT_2['id'],
+ identity_fakes.domain_id,
+ identity_fakes.user_email,
+ True,
+ identity_fakes.user_id,
+ identity_fakes.user_name,
+ )
+ self.assertEqual(datalist, data)
+
def test_user_create_domain(self):
arglist = [
'--domain', identity_fakes.domain_name,