Skip to content

Commit da91173

Browse files
committed
identity: Fix 'user list --project' option
The 'role_assignments_filter' identity proxy method requires either a user or group, which defeats the entire purpose of the command when used with this option. Use 'role_assignments' instead. Change-Id: I8fb705c55fb4e81fa82d4a7dbe4c5bf7e1edd98a Signed-off-by: Stephen Finucane <stephenfin@redhat.com> Closes-bug: #1616104 (cherry picked from commit 0ed1220) (cherry picked from commit 3367327)
1 parent bb9c7ad commit da91173

2 files changed

Lines changed: 6 additions & 10 deletions

File tree

openstackclient/identity/v3/user.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -443,15 +443,13 @@ def take_action(self, parsed_args):
443443
ignore_missing=False,
444444
).id
445445

446-
assignments = identity_client.role_assignments_filter(
447-
project=project
448-
)
449-
450446
# NOTE(stevemar): If a user has more than one role on a project
451447
# then they will have two entries in the returned data. Since we
452448
# are looking for any role, let's just track unique user IDs.
453449
user_ids = set()
454-
for assignment in assignments:
450+
for assignment in identity_client.role_assignments(
451+
scope_project_id=project
452+
):
455453
if assignment.user:
456454
user_ids.add(assignment.user['id'])
457455

openstackclient/tests/unit/identity/v3/test_user.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ def setUp(self):
840840
self.identity_sdk_client.find_domain.return_value = self.domain
841841
self.identity_sdk_client.find_group.return_value = self.group
842842
self.identity_sdk_client.find_project.return_value = self.project
843-
self.identity_sdk_client.role_assignments_filter.return_value = [
843+
self.identity_sdk_client.role_assignments.return_value = [
844844
self.role_assignment
845845
]
846846

@@ -978,12 +978,10 @@ def test_user_list_project(self):
978978
columns, data = self.cmd.take_action(parsed_args)
979979

980980
kwargs = {
981-
'project': self.project.id,
981+
'scope_project_id': self.project.id,
982982
}
983983

984-
self.identity_sdk_client.role_assignments_filter.assert_called_with(
985-
**kwargs
986-
)
984+
self.identity_sdk_client.role_assignments.assert_called_with(**kwargs)
987985

988986
self.assertEqual(self.columns, columns)
989987
self.assertEqual(self.datalist, tuple(data))

0 commit comments

Comments
 (0)