summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuojian Shao <guojian@unitedstack.com>2015-07-17 00:32:22 +0800
committerSteve Martinelli <stevemar@ca.ibm.com>2015-07-17 19:34:16 +0000
commitff3dbddf599e1153f0961e112edbf0d35d65cf89 (patch)
treef2cab3477f1a6c27e31146b048e78285e4bece11
parent566987ecf1e437454173c4655d40b9f3ec19d678 (diff)
downloadpython-openstackclient-ff3dbddf599e1153f0961e112edbf0d35d65cf89.tar.gz
enhance tests for user v3
Change-Id: Ib17ba0cd71068ba8d7e7665160daf3ae0735971b Related-Bug: #1475357
-rw-r--r--functional/tests/identity/v3/test_identity.py2
-rw-r--r--functional/tests/identity/v3/test_user.py40
-rw-r--r--openstackclient/tests/identity/v3/test_user.py33
3 files changed, 72 insertions, 3 deletions
diff --git a/functional/tests/identity/v3/test_identity.py b/functional/tests/identity/v3/test_identity.py
index d7e72b02..cd11e200 100644
--- a/functional/tests/identity/v3/test_identity.py
+++ b/functional/tests/identity/v3/test_identity.py
@@ -96,12 +96,14 @@ class IdentityTests(test.TestCase):
'user create '
'--domain %(domain)s '
'--project %(project)s '
+ '--project-domain %(project_domain)s '
'--password %(password)s '
'--email %(email)s '
'--description %(description)s '
'--enable '
'%(name)s' % {'domain': self.domain_name,
'project': self.project_name,
+ 'project_domain': self.domain_name,
'email': email,
'password': password,
'description': description,
diff --git a/functional/tests/identity/v3/test_user.py b/functional/tests/identity/v3/test_user.py
index 69420b96..00b9bdc2 100644
--- a/functional/tests/identity/v3/test_user.py
+++ b/functional/tests/identity/v3/test_user.py
@@ -53,9 +53,43 @@ class UserTests(test_identity.IdentityTests):
'--domain %(domain)s '
'%(name)s' % {'domain': self.domain_name,
'name': new_username})
- new_user = self.parse_show_as_object(raw_output)
- self.assertEqual(user['id'], new_user['id'])
- self.assertEqual(new_email, new_user['email'])
+ updated_user = self.parse_show_as_object(raw_output)
+ self.assertEqual(user['id'], updated_user['id'])
+ self.assertEqual(new_email, updated_user['email'])
+
+ def test_user_set_default_project_id(self):
+ username = self._create_dummy_user()
+ project_name = self._create_dummy_project()
+ # get original user details
+ raw_output = self.openstack('user show '
+ '--domain %(domain)s '
+ '%(name)s' % {'domain': self.domain_name,
+ 'name': username})
+ user = self.parse_show_as_object(raw_output)
+ # update user
+ raw_output = self.openstack('user set '
+ '--project %(project)s '
+ '--project-domain %(project_domain)s '
+ '%(id)s' % {'project': project_name,
+ 'project_domain':
+ self.domain_name,
+ 'id': user['id']})
+ self.assertEqual(0, len(raw_output))
+ # get updated user details
+ raw_output = self.openstack('user show '
+ '--domain %(domain)s '
+ '%(name)s' % {'domain': self.domain_name,
+ 'name': username})
+ updated_user = self.parse_show_as_object(raw_output)
+ # get project details
+ raw_output = self.openstack('project show '
+ '--domain %(domain)s '
+ '%(name)s' % {'domain': self.domain_name,
+ 'name': project_name})
+ project = self.parse_show_as_object(raw_output)
+ # check updated user details
+ self.assertEqual(user['id'], updated_user['id'])
+ self.assertEqual(project['id'], updated_user['default_project_id'])
def test_user_show(self):
username = self._create_dummy_user()
diff --git a/openstackclient/tests/identity/v3/test_user.py b/openstackclient/tests/identity/v3/test_user.py
index bdde25a2..76d5f834 100644
--- a/openstackclient/tests/identity/v3/test_user.py
+++ b/openstackclient/tests/identity/v3/test_user.py
@@ -956,6 +956,39 @@ class TestUserSet(TestUser):
**kwargs
)
+ def test_user_set_project_domain(self):
+ arglist = [
+ '--project', identity_fakes.project_id,
+ '--project-domain', identity_fakes.domain_id,
+ identity_fakes.user_name,
+ ]
+ verifylist = [
+ ('name', None),
+ ('password', None),
+ ('email', None),
+ ('project', identity_fakes.project_id),
+ ('project_domain', identity_fakes.domain_id),
+ ('enable', False),
+ ('disable', False),
+ ('user', identity_fakes.user_name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # DisplayCommandBase.take_action() returns two tuples
+ self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'enabled': True,
+ 'default_project': identity_fakes.project_id,
+ }
+ # UserManager.update(user, name=, domain=, project=, password=,
+ # email=, description=, enabled=, default_project=)
+ self.users_mock.update.assert_called_with(
+ identity_fakes.user_id,
+ **kwargs
+ )
+
def test_user_set_enable(self):
arglist = [
'--enable',