def test_render_simple_request(self): user_params = source_container_user_params() build_json = SourceContainerPluginsConfiguration(user_params).render() plugins = get_plugins_from_build_json(build_json) source_container_build = get_plugin(plugins, "buildstep_plugins", "source_container") assert source_container_build is not None
def test_source_render_scratch(self): additional_params = {'scratch': True} user_params = source_container_user_params( extra_args=additional_params) build_json = SourceContainerPluginsConfiguration(user_params).render() plugins = get_plugins_from_build_json(build_json) remove_plugins = [ ("postbuild_plugins", "compress"), ("exit_plugins", "koji_tag_build"), ] for (plugin_type, plugin) in remove_plugins: with pytest.raises(NoSuchPluginException): get_plugin(plugins, plugin_type, plugin)
def get_plugins_from_buildrequest(self, build_request, template): conf_args = { "build_from": "image:buildroot:latest", 'orchestrator_max_run_hours': 5, 'reactor_config_map': 'reactor-config-map-scratch', 'scratch': True, 'worker_max_run_hours': 3, } param_kwargs = { 'build_json_dir': INPUTS_PATH, 'build_conf': Configuration(**conf_args), 'user': TEST_USER, 'component': TEST_COMPONENT, "koji_target": "tothepoint", "platform": "x86_64", "signing_intent": "test-signing-intent", 'sources_for_koji_build_nvr': TEST_KOJI_BUILD_NVR, 'kind': USER_PARAMS_KIND_SOURCE_CONTAINER_BUILDS, } user_params = SourceContainerUserParams.make_params(**param_kwargs) build_request.set_params(user_params) return SourceContainerPluginsConfiguration(build_request.user_params).pt.template
def test_render_fetch_sources(self, koji_build_id, expected_build_id, koji_build_nvr, expected_build_nvr, signing_intent, expected_intent): plugin_type = 'prebuild_plugins' plugin_name = 'fetch_sources' additional_params = { 'source_for_koji_build_nvr': koji_build_nvr, 'sources_for_koji_build_id': koji_build_id, 'signing_intent': signing_intent, } user_params = source_container_user_params(extra_args=additional_params) build_json = SourceContainerPluginsConfiguration(user_params).render() plugins = get_plugins_from_build_json(build_json) assert get_plugin(plugins, plugin_type, plugin_name) assert plugin_value_get(plugins, plugin_type, plugin_name, 'args') args = plugin_value_get(plugins, plugin_type, plugin_name, 'args') if koji_build_nvr: assert args['koji_build_nvr'] == expected_build_nvr if koji_build_id: assert args['koji_build_id'] == expected_build_id if signing_intent: assert args['signing_intent'] == expected_intent