diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-03-16 13:02:02 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-03-16 13:02:02 +0000 |
| commit | 3d4750cdc875049c4332052d3dd46296d5f74319 (patch) | |
| tree | 354e614f78775be965828938f7346843657495ce /openstackclient | |
| parent | 9184e1928843940509ba8f1e4069675454916d9a (diff) | |
| parent | 853ea5ab59e5d7845d389e46527038575c3c170c (diff) | |
| download | python-openstackclient-3d4750cdc875049c4332052d3dd46296d5f74319.tar.gz | |
Merge "Narrow expected responses for CheckUserInGroup"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/identity/v3/group.py | 15 | ||||
| -rw-r--r-- | openstackclient/tests/unit/identity/v3/test_group.py | 17 |
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): |
