mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-03 10:48:03 +08:00
Merge #1524 Gracefully handle builds without a koji tag
This commit is contained in:
@@ -1338,6 +1338,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:
|
||||
|
||||
@@ -934,6 +934,35 @@ class TestKojiBuilder:
|
||||
ret = KojiModuleBuilder.get_module_build_arches(module_build)
|
||||
assert " ".join(ret) == arches
|
||||
|
||||
@patch.dict("sys.modules", krbV=MagicMock())
|
||||
@patch("module_build_service.builder.KojiModuleBuilder.KojiClientSession")
|
||||
def test_get_module_build_arches_with_archless_tag(self, ClientSession):
|
||||
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
|
||||
session = ClientSession.return_value
|
||||
session.getTag.return_value = {"arches": ""}
|
||||
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, match="Unknown Koji tag .*"):
|
||||
KojiModuleBuilder.get_module_build_arches(module_build)
|
||||
|
||||
|
||||
class TestGetDistTagSRPM:
|
||||
"""Test KojiModuleBuilder.get_disttag_srpm"""
|
||||
|
||||
Reference in New Issue
Block a user