From 285688e19d7463b98e1f9cd44711ae73ee28afa8 Mon Sep 17 00:00:00 2001 From: Jana Cupova Date: Feb 18 2021 10:34:07 +0000 Subject: cli: mock-config error for non existing buildroot When buildroot is not existing, mock-config returns an error. Fixes: https://pagure.io/koji/issue/2642 --- diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index 7118990..f036304 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -948,6 +948,8 @@ def anon_handle_mock_config(goptions, session, args): except ValueError: parser.error(_("Buildroot id must be an integer")) brootinfo = session.getBuildroot(br_id) + if brootinfo is None: + error(_("No such buildroot: %r") % br_id) if options.latest: opts['repoid'] = 'latest' else: diff --git a/tests/test_cli/test_mock_config.py b/tests/test_cli/test_mock_config.py index 67a527e..bea89db 100644 --- a/tests/test_cli/test_mock_config.py +++ b/tests/test_cli/test_mock_config.py @@ -113,6 +113,16 @@ config_opts['macros']['%distribution'] = 'Koji Testing' gen_config_mock.assert_called_with( self.progname, buildroot_info['arch'], **opts) + # if buildroot is not existing + buildroot_id = '999999' + arguments = ['--buildroot', buildroot_id] + expected = "No such buildroot: %s" % buildroot_id + "\n" + session.getBuildroot.return_value = None + with self.assertRaises(SystemExit) as ex: + anon_handle_mock_config(options, session, arguments) + self.assertExitCode(ex, 1) + self.assert_console_message(stderr, expected) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji.genMockConfig')