Skip to content

Commit 0ed1220

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
1 parent 3c3ea30 commit 0ed1220

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
@@ -467,15 +467,13 @@ def take_action(self, parsed_args):
467467
ignore_missing=False,
468468
).id
469469

470-
assignments = identity_client.role_assignments_filter(
471-
project=project
472-
)
473-
474470
# NOTE(stevemar): If a user has more than one role on a project
475471
# then they will have two entries in the returned data. Since we
476472
# are looking for any role, let's just track unique user IDs.
477473
user_ids = set()
478-
for assignment in assignments:
474+
for assignment in identity_client.role_assignments(
475+
scope_project_id=project
476+
):
479477
if assignment.user:
480478
user_ids.add(assignment.user['id'])
481479

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ def setUp(self):
891891
self.identity_sdk_client.find_domain.return_value = self.domain
892892
self.identity_sdk_client.find_group.return_value = self.group
893893
self.identity_sdk_client.find_project.return_value = self.project
894-
self.identity_sdk_client.role_assignments_filter.return_value = [
894+
self.identity_sdk_client.role_assignments.return_value = [
895895
self.role_assignment
896896
]
897897

@@ -1029,12 +1029,10 @@ def test_user_list_project(self):
10291029
columns, data = self.cmd.take_action(parsed_args)
10301030

10311031
kwargs = {
1032-
'project': self.project.id,
1032+
'scope_project_id': self.project.id,
10331033
}
10341034

1035-
self.identity_sdk_client.role_assignments_filter.assert_called_with(
1036-
**kwargs
1037-
)
1035+
self.identity_sdk_client.role_assignments.assert_called_with(**kwargs)
10381036

10391037
self.assertEqual(self.columns, columns)
10401038
self.assertEqual(self.datalist, tuple(data))

0 commit comments

Comments
 (0)