summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorTom Cocozzello <tjcocozz@us.ibm.com>2015-12-09 10:08:16 -0600
committerTom Cocozzello <tjcocozz@us.ibm.com>2016-01-27 18:13:32 +0000
commit3a48989eb02187f384cfbf7bb7cd55502741fc68 (patch)
treee007c0540ff85f8bcf3856f66847509e6e6423fb /openstackclient/tests
parent1f378a06746cbf828cff27c29f9b1d0ddadfcce6 (diff)
downloadpython-openstackclient-3a48989eb02187f384cfbf7bb7cd55502741fc68.tar.gz
Return names in list role assignments
Utilize the new include names functionality added to list role assignments (GET /role_assignments?include_names=True). Which will return the names of the entities instead of their IDs. Change-Id: I6dc03baf61ef9354a8a259a9f17ff47ce1665ce7 Depends-On: I4aa77c08660a0cbd021502155938a46121ca76ef Closes-Bug: #1479569 Implements: blueprint list-assignment-with-names
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/identity/v3/fakes.py29
-rw-r--r--openstackclient/tests/identity/v3/test_role_assignment.py96
2 files changed, 118 insertions, 7 deletions
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py
index 9fe341ed..59b08973 100644
--- a/openstackclient/tests/identity/v3/fakes.py
+++ b/openstackclient/tests/identity/v3/fakes.py
@@ -314,6 +314,22 @@ ASSIGNMENT_WITH_PROJECT_ID_AND_USER_ID = {
'role': {'id': role_id},
}
+ASSIGNMENT_WITH_PROJECT_ID_AND_USER_ID_INCLUDE_NAMES = {
+ 'scope': {
+ 'project': {
+ 'domain': {'id': domain_id,
+ 'name': domain_name},
+ 'id': project_id,
+ 'name': project_name}},
+ 'user': {
+ 'domain': {'id': domain_id,
+ 'name': domain_name},
+ 'id': user_id,
+ 'name': user_name},
+ 'role': {'id': role_id,
+ 'name': role_name},
+}
+
ASSIGNMENT_WITH_PROJECT_ID_AND_USER_ID_INHERITED = {
'scope': {'project': {'id': project_id},
'OS-INHERIT:inherited_to': 'projects'},
@@ -333,6 +349,19 @@ ASSIGNMENT_WITH_DOMAIN_ID_AND_USER_ID = {
'role': {'id': role_id},
}
+ASSIGNMENT_WITH_DOMAIN_ID_AND_USER_ID_INCLUDE_NAMES = {
+ 'scope': {
+ 'domain': {'id': domain_id,
+ 'name': domain_name}},
+ 'user': {
+ 'domain': {'id': domain_id,
+ 'name': domain_name},
+ 'id': user_id,
+ 'name': user_name},
+ 'role': {'id': role_id,
+ 'name': role_name},
+}
+
ASSIGNMENT_WITH_DOMAIN_ID_AND_USER_ID_INHERITED = {
'scope': {'domain': {'id': domain_id},
'OS-INHERIT:inherited_to': 'projects'},
diff --git a/openstackclient/tests/identity/v3/test_role_assignment.py b/openstackclient/tests/identity/v3/test_role_assignment.py
index 5723a334..067a9537 100644
--- a/openstackclient/tests/identity/v3/test_role_assignment.py
+++ b/openstackclient/tests/identity/v3/test_role_assignment.py
@@ -96,7 +96,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
role=None,
user=None,
project=None,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -143,6 +144,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', False),
('inherited', False),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -156,7 +158,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=None,
role=None,
effective=False,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -203,6 +206,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', False),
('inherited', False),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -216,7 +220,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=None,
role=None,
user=None,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -263,6 +268,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', False),
('inherited', False),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -276,7 +282,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=None,
role=None,
user=None,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -323,6 +330,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', False),
('inherited', False),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -336,7 +344,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=self.projects_mock.get(),
role=None,
user=None,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -381,6 +390,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', True),
('inherited', False),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -394,7 +404,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=None,
role=None,
user=None,
- os_inherit_extension_inherited_to=None)
+ os_inherit_extension_inherited_to=None,
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -441,6 +452,7 @@ class TestRoleAssignmentList(TestRoleAssignment):
('role', None),
('effective', False),
('inherited', True),
+ ('names', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -454,7 +466,8 @@ class TestRoleAssignmentList(TestRoleAssignment):
project=None,
role=None,
user=None,
- os_inherit_extension_inherited_to='projects')
+ os_inherit_extension_inherited_to='projects',
+ include_names=False)
self.assertEqual(self.columns, columns)
datalist = ((
@@ -472,3 +485,72 @@ class TestRoleAssignmentList(TestRoleAssignment):
True
),)
self.assertEqual(datalist, tuple(data))
+
+ def test_role_assignment_list_include_names(self):
+
+ self.role_assignments_mock.list.return_value = [
+ fakes.FakeResource(
+ None,
+ copy.deepcopy(
+ identity_fakes
+ .ASSIGNMENT_WITH_PROJECT_ID_AND_USER_ID_INCLUDE_NAMES),
+ loaded=True,
+ ),
+ fakes.FakeResource(
+ None,
+ copy.deepcopy(
+ identity_fakes
+ .ASSIGNMENT_WITH_DOMAIN_ID_AND_USER_ID_INCLUDE_NAMES),
+ loaded=True,
+ ),
+ ]
+
+ arglist = ['--names']
+ verifylist = [
+ ('user', None),
+ ('group', None),
+ ('domain', None),
+ ('project', None),
+ ('role', None),
+ ('effective', False),
+ ('inherited', False),
+ ('names', True),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ # DisplayCommandBase.take_action() returns two tuples
+
+ # This test will not run correctly until the patch in the python
+ # client is merged. Once that is done 'data' should return the
+ # correct information
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.role_assignments_mock.list.assert_called_with(
+ domain=None,
+ group=None,
+ effective=False,
+ project=None,
+ role=None,
+ user=None,
+ os_inherit_extension_inherited_to=None,
+ include_names=True)
+
+ collist = ('Role', 'User', 'Group', 'Project', 'Domain', 'Inherited')
+ self.assertEqual(columns, collist)
+
+ datalist1 = ((
+ identity_fakes.role_name,
+ '@'.join([identity_fakes.user_name, identity_fakes.domain_name]),
+ '',
+ '@'.join([identity_fakes.project_name,
+ identity_fakes.domain_name]),
+ '',
+ False
+ ), (identity_fakes.role_name,
+ '@'.join([identity_fakes.user_name, identity_fakes.domain_name]),
+ '',
+ '',
+ identity_fakes.domain_name,
+ False
+ ),)
+ self.assertEqual(tuple(data), datalist1)