diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index d94209d1..c1f46472 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -118,8 +118,8 @@ def handle_remove_group(goptions, session, args): group = args[1] activate_session(session, goptions) - if not session.hasPerm('admin'): - error(_("This action requires admin privileges")) + if not (session.hasPerm('admin') or session.hasPerm('tag')): + parser.error(_("This action requires tag or admin privileges")) dsttag = session.getTag(tag) if not dsttag: diff --git a/tests/test_cli/test_remove_group.py b/tests/test_cli/test_remove_group.py index d478479e..43147377 100644 --- a/tests/test_cli/test_remove_group.py +++ b/tests/test_cli/test_remove_group.py @@ -33,7 +33,7 @@ class TestRemoveGroup(utils.CliTestCase): session.getTag.return_value = None with self.assertRaises(SystemExit): - rv = handle_remove_group(options, session, arguments) + handle_remove_group(options, session, arguments) # assert that things were called as we expected. activate_session_mock.assert_called_once_with(session, options) @@ -58,7 +58,7 @@ class TestRemoveGroup(utils.CliTestCase): session.getTagGroups.return_value = [] with self.assertRaises(SystemExit): - rv = handle_remove_group(options, session, arguments) + handle_remove_group(options, session, arguments) # assert that things were called as we expected. activate_session_mock.assert_called_once_with(session, options) @@ -111,8 +111,8 @@ class TestRemoveGroup(utils.CliTestCase): stderr=expected, activate_session=None) - # if we don't have 'admin' permission + # if we don't have 'tag' permission session.hasPerm.return_value = False with self.assertRaises(SystemExit): - rv = handle_remove_group(options, session, ['tag', 'grp']) + handle_remove_group(options, session, ['tag', 'grp']) activate_session_mock.assert_called_with(session, options)