Files
fm-orchestrator/tests/integration/test_v3_normal_build.py
2021-03-12 14:25:53 +01:00

35 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
def test_v3_normal_build(mbs, koji, clone_and_start_build):
"""Test a normal module-build submitted with v3-packager YAML modulemd."""
repo, builds = clone_and_start_build("--optional", "rebuild_strategy=all", cancel=False)
build = builds[0]
# actual input (v3 packager mmd)
assert len(repo.modulemd["data"]["configurations"]) == 1
mmd_configuration = repo.modulemd["data"]["configurations"][0]
mmd_context = mmd_configuration["context"]
mmd_platform = mmd_configuration["platform"]
mbs.wait_for_module_build_to_succeed(build)
# assert module build components
assert sorted(build.component_names()) == sorted(repo.components + ["module-build-macros"])
for component_rpm in build.components():
assert koji.get_task(component_rpm["task_id"])["state"] == 2 # is closed
# assert produced koji build
koji_build = koji.get_build(build.nvr())
koji_build_devel = koji.get_build(build.nvr(name_suffix="-devel"))
assert koji_build and koji_build_devel
module_data = koji_build['extra']['typeinfo']['module']
assert module_data['module_build_service_id'] == int(build.id)
assert module_data['context'] == mmd_context
koji_mmd = koji.get_modulemd(koji_build)
actual_platforms = koji_mmd["data"]["dependencies"][0]["buildrequires"]["platform"]
assert len(actual_platforms) == 1
assert actual_platforms[0] == f"{mmd_platform}.z"