diff --git a/module_build_service/builder/KojiModuleBuilder.py b/module_build_service/builder/KojiModuleBuilder.py index a95b4bfe..40d8a626 100644 --- a/module_build_service/builder/KojiModuleBuilder.py +++ b/module_build_service/builder/KojiModuleBuilder.py @@ -1336,6 +1336,9 @@ class KojiModuleBuilder(GenericBuilder): the module build in the build system. :return: list of architectures """ + if not module.koji_tag: + log.warning("No Koji tag associated with module %r", module) + return [] koji_session = KojiModuleBuilder.get_session(conf, login=False) tag = koji_session.getTag(module.koji_tag) if not tag: diff --git a/tests/test_builder/test_koji.py b/tests/test_builder/test_koji.py index bcbd344f..ce8b3443 100644 --- a/tests/test_builder/test_koji.py +++ b/tests/test_builder/test_koji.py @@ -943,15 +943,25 @@ class TestKojiBuilder: ret = KojiModuleBuilder.get_module_build_arches(module_build) assert ret == [] + @patch.dict("sys.modules", krbV=MagicMock()) + @patch("module_build_service.builder.KojiModuleBuilder.KojiClientSession") + def test_get_module_build_arches_without_tag(self, ClientSession): + module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2) + module_build.koji_tag = None + session = ClientSession.return_value + ret = KojiModuleBuilder.get_module_build_arches(module_build) + assert ret == [] + session.getTag.assert_not_called() + session.assert_not_called() + @patch.dict("sys.modules", krbV=MagicMock()) @patch("module_build_service.builder.KojiModuleBuilder.KojiClientSession") def test_get_module_build_arches_with_unknown_tag(self, ClientSession): module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2) session = ClientSession.return_value session.getTag.return_value = None - with pytest.raises(ValueError) as exc_info: + with pytest.raises(ValueError, match="Unknown Koji tag .*"): KojiModuleBuilder.get_module_build_arches(module_build) - assert "Unknown Koji tag" in str(exc_info.value) class TestGetDistTagSRPM: