From 2ba149427c5f3dfd2b363164b9db3175bd919097 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Nov 02 2018 09:37:42 +0000 Subject: Show proper error message when unknown Koji tag is used as ODCS input. --- diff --git a/server/odcs/server/backend.py b/server/odcs/server/backend.py index 8fabf05..8a5a0be 100644 --- a/server/odcs/server/backend.py +++ b/server/odcs/server/backend.py @@ -252,6 +252,8 @@ def koji_get_inherited_tags(koji_session, tag, tags=None): """ info = koji_session.getTag(tag) + if not info: + raise ValueError("Unknown Koji tag %s." % tag) ids = [info["id"]] seen_tags = tags or set() inheritance_data = koji_session.getInheritanceData(tag) diff --git a/server/tests/test_backend.py b/server/tests/test_backend.py index f3352ef..9b7dec4 100644 --- a/server/tests/test_backend.py +++ b/server/tests/test_backend.py @@ -33,7 +33,8 @@ from odcs.server.mbs import ModuleLookupError from odcs.server.pungi import PungiSourceType from odcs.server.backend import (resolve_compose, get_reusable_compose, generate_compose, generate_pulp_compose, - generate_pungi_compose, validate_pungi_compose) + generate_pungi_compose, validate_pungi_compose, + koji_get_inherited_tags) from odcs.server.utils import makedirs import odcs.server.backend from .utils import ModelsBaseTest @@ -223,6 +224,13 @@ class TestBackend(ModelsBaseTest): reused_c = get_reusable_compose(c) self.assertEqual(reused_c, old_c) + def test_koji_get_inherited_tags_unknown_tag(self): + koji_session = MagicMock() + koji_session.getTag.return_value = None + + with self.assertRaisesRegexp(ValueError, 'Unknown Koji tag foo.'): + koji_get_inherited_tags(koji_session, "foo") + @patch("odcs.server.backend.koji_get_inherited_tags") @patch("odcs.server.backend.create_koji_session") def test_get_reusable_tag_compose(