Merge #1390 Fix --add-local-build with MBS Resolver.

This commit is contained in:
Jan Kaluža
2019-08-26 05:33:40 +00:00
2 changed files with 31 additions and 0 deletions

View File

@@ -269,6 +269,12 @@ class MBSResolver(GenericResolver):
:rtype: list
:return: List of modulemd metadata.
"""
# If user used --add-local-build, we do actually not care about base_module_nsvc,
# because the user directly asked us to use that module.
local_modules = models.ModuleBuild.local_modules(self.db_session, name, stream)
if local_modules:
return [m.mmd() for m in local_modules]
modules = self._get_modules(name, stream, strict=False, base_module_br=base_module_nsvc)
return [load_mmd(module["modulemd"]) for module in modules]

View File

@@ -451,3 +451,28 @@ class TestMBSModule:
"virtual_stream": "virtualf28",
},
)
@patch(
"module_build_service.config.Config.system", new_callable=PropertyMock, return_value="test"
)
@patch(
"module_build_service.config.Config.mock_resultsdir",
new_callable=PropertyMock,
return_value=tests.staged_data_filename("local_builds")
)
def test_get_buildrequired_modulemds_local_builds(
self, local_builds, conf_system, db_session
):
tests.clean_database()
with tests.app.app_context():
module_build_service.utils.load_local_builds(db_session, ["testmodule"])
resolver = mbs_resolver.GenericResolver.create(db_session, tests.conf, backend="mbs")
result = resolver.get_buildrequired_modulemds(
"testmodule", "master", "platform:f28:1:00000000")
assert 1 == len(result)
mmd = result[0]
assert "testmodule" == mmd.get_module_name()
assert "master" == mmd.get_stream_name()
assert 20170816080816 == mmd.get_version()
assert "321" == mmd.get_context()