summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-03-16 13:02:02 +0000
committerGerrit Code Review <review@openstack.org>2017-03-16 13:02:02 +0000
commit3d4750cdc875049c4332052d3dd46296d5f74319 (patch)
tree354e614f78775be965828938f7346843657495ce /openstackclient
parent9184e1928843940509ba8f1e4069675454916d9a (diff)
parent853ea5ab59e5d7845d389e46527038575c3c170c (diff)
downloadpython-openstackclient-3d4750cdc875049c4332052d3dd46296d5f74319.tar.gz
Merge "Narrow expected responses for CheckUserInGroup"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/identity/v3/group.py15
-rw-r--r--openstackclient/tests/unit/identity/v3/test_group.py17
2 files changed, 26 insertions, 6 deletions
diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py
index 2afdabc1..b5f5d8ad 100644
--- a/openstackclient/identity/v3/group.py
+++ b/openstackclient/identity/v3/group.py
@@ -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,
diff --git a/openstackclient/tests/unit/identity/v3/test_group.py b/openstackclient/tests/unit/identity/v3/test_group.py
index 00bd217d..5870e1db 100644
--- a/openstackclient/tests/unit/identity/v3/test_group.py
+++ b/openstackclient/tests/unit/identity/v3/test_group.py
@@ -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):