Merge "Narrow expected responses for CheckUserInGroup"

This commit is contained in:
Jenkins 2017-03-16 13:02:02 +00:00 committed by Gerrit Code Review
commit 3d4750cdc8
3 changed files with 31 additions and 6 deletions

View File

@ -102,12 +102,15 @@ class CheckUserInGroup(command.Command):
try:
identity_client.users.check_in_group(user_id, group_id)
except Exception:
msg = _("%(user)s not in group %(group)s\n") % {
'user': parsed_args.user,
'group': parsed_args.group,
}
sys.stderr.write(msg)
except ks_exc.http.HTTPClientError as e:
if e.http_status == 403 or e.http_status == 404:
msg = _("%(user)s not in group %(group)s\n") % {
'user': parsed_args.user,
'group': parsed_args.group,
}
sys.stderr.write(msg)
else:
raise e
else:
msg = _("%(user)s in group %(group)s\n") % {
'user': parsed_args.user,

View File

@ -115,6 +115,23 @@ class TestGroupCheckUser(TestGroup):
self.user.id, self.group.id)
self.assertIsNone(result)
def test_group_check_user_server_error(self):
def server_error(*args):
raise ks_exc.http.InternalServerError
self.users_mock.check_in_group.side_effect = server_error
arglist = [
self.group.name,
self.user.name,
]
verifylist = [
('group', self.group.name),
('user', self.user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.assertRaises(ks_exc.http.InternalServerError,
self.cmd.take_action, parsed_args)
class TestGroupCreate(TestGroup):

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Narrow acceptable negative response codes for ``group contains user``
[Bug `1672634 <https://bugs.launchpad.net/python-openstackclient/+bug/1672634>`_]