diff options
| author | Guojian Shao <guojian@unitedstack.com> | 2015-07-16 23:23:45 +0800 |
|---|---|---|
| committer | Guojian Shao <guojian@unitedstack.com> | 2015-07-16 23:26:11 +0800 |
| commit | 7b32ec003babec2c6d052146baf2951e465454f5 (patch) | |
| tree | ea22dc9bc7e7c0ef5f26de3ac7d4e20e9af4ac40 /openstackclient/tests | |
| parent | 37c83e6231dcfb2f0f4d28f13f78ac2dc170b768 (diff) | |
| download | python-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.py | 62 |
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, |
