Skip to content

Commit 3d4750c

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Narrow expected responses for CheckUserInGroup"
2 parents 9184e19 + 853ea5a commit 3d4750c

3 files changed

Lines changed: 31 additions & 6 deletions

File tree

openstackclient/identity/v3/group.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,15 @@ def take_action(self, parsed_args):
102102

103103
try:
104104
identity_client.users.check_in_group(user_id, group_id)
105-
except Exception:
106-
msg = _("%(user)s not in group %(group)s\n") % {
107-
'user': parsed_args.user,
108-
'group': parsed_args.group,
109-
}
110-
sys.stderr.write(msg)
105+
except ks_exc.http.HTTPClientError as e:
106+
if e.http_status == 403 or e.http_status == 404:
107+
msg = _("%(user)s not in group %(group)s\n") % {
108+
'user': parsed_args.user,
109+
'group': parsed_args.group,
110+
}
111+
sys.stderr.write(msg)
112+
else:
113+
raise e
111114
else:
112115
msg = _("%(user)s in group %(group)s\n") % {
113116
'user': parsed_args.user,

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,23 @@ def test_group_check_user(self):
115115
self.user.id, self.group.id)
116116
self.assertIsNone(result)
117117

118+
def test_group_check_user_server_error(self):
119+
def server_error(*args):
120+
raise ks_exc.http.InternalServerError
121+
self.users_mock.check_in_group.side_effect = server_error
122+
arglist = [
123+
self.group.name,
124+
self.user.name,
125+
]
126+
verifylist = [
127+
('group', self.group.name),
128+
('user', self.user.name),
129+
]
130+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
131+
132+
self.assertRaises(ks_exc.http.InternalServerError,
133+
self.cmd.take_action, parsed_args)
134+
118135

119136
class TestGroupCreate(TestGroup):
120137

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
fixes:
3+
- |
4+
Narrow acceptable negative response codes for ``group contains user``
5+
[Bug `1672634 <https://bugs.launchpad.net/python-openstackclient/+bug/1672634>`_]

0 commit comments

Comments
 (0)