Exemple #1
0
    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
Exemple #4
0
    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