summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorM V P Nitesh <m.nitesh@nectechnologies.in>2017-07-17 18:08:58 +0530
committerdeepak_mourya <deepakmoriya7@gmail.com>2018-09-18 08:56:11 +0530
commiteb001733fd3c1a98027f7439b84e952f1eb2a406 (patch)
tree68ff735a1cb0b49f00da66d3f2b4e08c9283ee82 /openstackclient/tests
parent1b66ad9067cc404ebfdc8569822d226d5bffddd6 (diff)
downloadpython-openstackclient-eb001733fd3c1a98027f7439b84e952f1eb2a406.tar.gz
Now we can add description for role creation in OSC
Now user can add the description when user create's the role using OSC ``openstack role create`` command. User can add the description by adding `--description <Description>` to OSC ``openstack role create`` command. Co-Authored-By: Deepak Mourya<deepakmoriya7@gmail.com> Change-Id: I858e004c3b29c687b6a39c8a1ed5fb029eb19c67 Depends-on: I230af9cc833af13064636b5d9a7ce6334c3f6e9a Closes-Bug: #1669080
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/functional/identity/v3/common.py2
-rw-r--r--openstackclient/tests/functional/identity/v3/test_role.py25
-rw-r--r--openstackclient/tests/unit/identity/v3/fakes.py1
-rw-r--r--openstackclient/tests/unit/identity/v3/test_role.py79
4 files changed, 106 insertions, 1 deletions
diff --git a/openstackclient/tests/functional/identity/v3/common.py b/openstackclient/tests/functional/identity/v3/common.py
index 58468bc7..434bd949 100644
--- a/openstackclient/tests/functional/identity/v3/common.py
+++ b/openstackclient/tests/functional/identity/v3/common.py
@@ -32,7 +32,7 @@ class IdentityTests(base.TestCase):
'password_expires_at']
PROJECT_FIELDS = ['description', 'id', 'domain_id', 'is_domain',
'enabled', 'name', 'parent_id']
- ROLE_FIELDS = ['id', 'name', 'domain_id']
+ ROLE_FIELDS = ['id', 'name', 'domain_id', 'description']
SERVICE_FIELDS = ['id', 'enabled', 'name', 'type', 'description']
REGION_FIELDS = ['description', 'enabled', 'parent_region', 'region']
ENDPOINT_FIELDS = ['id', 'region', 'region_id', 'service_id',
diff --git a/openstackclient/tests/functional/identity/v3/test_role.py b/openstackclient/tests/functional/identity/v3/test_role.py
index fb9e0614..8e9f0f90 100644
--- a/openstackclient/tests/functional/identity/v3/test_role.py
+++ b/openstackclient/tests/functional/identity/v3/test_role.py
@@ -20,6 +20,21 @@ class RoleTests(common.IdentityTests):
def test_role_create(self):
self._create_dummy_role()
+ def test_role_create_with_description(self):
+ role_name = data_utils.rand_name('TestRole')
+ description = data_utils.rand_name('description')
+ raw_output = self.openstack(
+ 'role create '
+ '--description %(description)s '
+ '%(name)s' % {'description': description,
+ 'name': role_name})
+ role = self.parse_show_as_object(raw_output)
+ self.addCleanup(self.openstack, 'role delete %s' % role['id'])
+ items = self.parse_show(raw_output)
+ self.assert_show_fields(items, self.ROLE_FIELDS)
+ self.assertEqual(description, role['description'])
+ return role_name
+
def test_role_delete(self):
role_name = self._create_dummy_role(add_clean_up=False)
raw_output = self.openstack('role delete %s' % role_name)
@@ -88,6 +103,16 @@ class RoleTests(common.IdentityTests):
role = self.parse_show_as_object(raw_output)
self.assertEqual(new_role_name, role['name'])
+ def test_role_set_description(self):
+ role_name = self._create_dummy_role()
+ description = data_utils.rand_name("NewDescription")
+ raw_output = self.openstack('role set --description %s %s'
+ % (description, role_name))
+ self.assertEqual(0, len(raw_output))
+ raw_output = self.openstack('role show %s' % role_name)
+ role = self.parse_show_as_object(raw_output)
+ self.assertEqual(description, role['description'])
+
def test_role_add(self):
role_name = self._create_dummy_role()
username = self._create_dummy_user()
diff --git a/openstackclient/tests/unit/identity/v3/fakes.py b/openstackclient/tests/unit/identity/v3/fakes.py
index 27ee9fd0..2bca48a7 100644
--- a/openstackclient/tests/unit/identity/v3/fakes.py
+++ b/openstackclient/tests/unit/identity/v3/fakes.py
@@ -175,6 +175,7 @@ ids_for_children = [PROJECT_WITH_GRANDPARENT['id']]
role_id = 'r1'
role_name = 'roller'
+role_description = 'role description'
ROLE = {
'id': role_id,
diff --git a/openstackclient/tests/unit/identity/v3/test_role.py b/openstackclient/tests/unit/identity/v3/test_role.py
index 281d530c..14569ffa 100644
--- a/openstackclient/tests/unit/identity/v3/test_role.py
+++ b/openstackclient/tests/unit/identity/v3/test_role.py
@@ -332,6 +332,7 @@ class TestRoleCreate(TestRole):
kwargs = {
'domain': None,
'name': identity_fakes.role_name,
+ 'description': None,
}
# RoleManager.create(name=, domain=)
@@ -375,6 +376,7 @@ class TestRoleCreate(TestRole):
kwargs = {
'domain': identity_fakes.domain_id,
'name': identity_fakes.ROLE_2['name'],
+ 'description': None,
}
# RoleManager.create(name=, domain=)
@@ -391,6 +393,49 @@ class TestRoleCreate(TestRole):
)
self.assertEqual(datalist, data)
+ def test_role_create_with_description(self):
+
+ self.roles_mock.create.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(identity_fakes.ROLE_2),
+ loaded=True,
+ )
+ arglist = [
+ '--description', identity_fakes.role_description,
+ identity_fakes.ROLE_2['name'],
+ ]
+ verifylist = [
+ ('description', identity_fakes.role_description),
+ ('name', identity_fakes.ROLE_2['name']),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # In base command class ShowOne in cliff, abstract method take_action()
+ # returns a two-part tuple with a tuple of column names and a tuple of
+ # data to be shown.
+ columns, data = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'description': identity_fakes.role_description,
+ 'name': identity_fakes.ROLE_2['name'],
+ 'domain': None,
+ }
+
+ # RoleManager.create(name=, domain=)
+ self.roles_mock.create.assert_called_with(
+ **kwargs
+ )
+
+ collist = ('domain', 'id', 'name')
+ self.assertEqual(collist, columns)
+ datalist = (
+ 'd1',
+ identity_fakes.ROLE_2['id'],
+ identity_fakes.ROLE_2['name'],
+ )
+ self.assertEqual(datalist, data)
+
class TestRoleDelete(TestRole):
@@ -1057,6 +1102,7 @@ class TestRoleSet(TestRole):
# Set expected values
kwargs = {
'name': 'over',
+ 'description': None,
}
# RoleManager.update(role, name=)
self.roles_mock.update.assert_called_with(
@@ -1088,6 +1134,39 @@ class TestRoleSet(TestRole):
# Set expected values
kwargs = {
'name': 'over',
+ 'description': None,
+ }
+ # RoleManager.update(role, name=)
+ self.roles_mock.update.assert_called_with(
+ identity_fakes.ROLE_2['id'],
+ **kwargs
+ )
+ self.assertIsNone(result)
+
+ def test_role_set_description(self):
+ self.roles_mock.get.return_value = fakes.FakeResource(
+ None,
+ copy.deepcopy(identity_fakes.ROLE_2),
+ loaded=True,
+ )
+ arglist = [
+ '--name', 'over',
+ '--description', identity_fakes.role_description,
+ identity_fakes.ROLE_2['name'],
+ ]
+ verifylist = [
+ ('name', 'over'),
+ ('description', identity_fakes.role_description),
+ ('role', identity_fakes.ROLE_2['name']),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'name': 'over',
+ 'description': identity_fakes.role_description,
}
# RoleManager.update(role, name=)
self.roles_mock.update.assert_called_with(