def test_render_orchestrate_build(self, tmpdir, platforms, build_from, worker_build_image, is_flatpak, koji_parent_build, valid, image_only): phase = 'buildstep_plugins' plugin = 'orchestrate_build' conf_args = { 'build_from': build_from, 'reactor_config_map': 'reactor-config-map', } extra_args = { 'base_image': 'fedora:latest', 'flatpak': is_flatpak, 'name_label': 'fedora/resultingimage', 'platforms': platforms, 'reactor_config_override': 'reactor-config-override', 'user': "******", } if koji_parent_build: extra_args['koji_parent_build'] = koji_parent_build if valid: user_params = get_sample_user_params(conf_args=conf_args, extra_args=extra_args) build_json = PluginsConfiguration(user_params).render() else: with pytest.raises(OsbsValidationException): user_params = get_sample_user_params(conf_args=conf_args, extra_args=extra_args) build_json = PluginsConfiguration(user_params).render() return plugins = get_plugins_from_build_json(build_json) if platforms is None: platforms = {} assert plugin_value_get(plugins, phase, plugin, 'args', 'platforms') == platforms or {} build_kwargs = plugin_value_get(plugins, phase, plugin, 'args', 'build_kwargs') assert build_kwargs['arrangement_version'] == REACTOR_CONFIG_ARRANGEMENT_VERSION assert build_kwargs.get('koji_parent_build') == koji_parent_build assert build_kwargs.get('reactor_config_map') == 'reactor-config-map' assert build_kwargs.get('reactor_config_override') == 'reactor-config-override' worker_config_kwargs = plugin_value_get(plugins, phase, plugin, 'args', 'config_kwargs') worker_config = Configuration(conf_file=None, **worker_config_kwargs) if worker_build_image is KeyError: assert not worker_config.get_build_from() else: if image_only: assert worker_config_kwargs['build_from'] == worker_build_image assert worker_config.get_build_from() == worker_build_image else: assert 'build_from' not in worker_config_kwargs assert not worker_config.get_build_from() if is_flatpak: assert user_params.flatpak
def test_no_build_image(): with NamedTemporaryFile(mode='w+') as f: f.write(""" [default] build_host=localhost """) f.flush() f.seek(0) os_conf = Configuration(conf_file=f.name, conf_section="default") assert os_conf.get_build_from() is None