コード例 #1
0
    def test_invalid_project(self):
        self.conf_filename = None
        config = self._get_config()

        yp = parser.YamlParser(config)
        yp.parse(os.path.join(self.fixtures_path, "invalid_project.yaml"))

        reg = registry.ModuleRegistry(config)
        job_data, _ = yp.expandYaml(reg)

        # Generate the XML tree
        xml_generator = xml_config.XmlJobGenerator(reg)
        e = self.assertRaises(errors.JenkinsJobsException,
                              xml_generator.generateXML, job_data)
        self.assertIn("Unrecognized project type:", str(e))
コード例 #2
0
    def test_incorrect_template_params(self):
        self.conf_filename = None
        config = self._get_config()

        yp = parser.YamlParser(config)
        yp.parse(
            os.path.join(self.fixtures_path,
                         "failure_formatting_component.yaml"))

        reg = registry.ModuleRegistry(config)
        reg.set_parser_data(yp.data)
        job_data_list, view_data_list = yp.expandYaml(reg)

        xml_generator = xml_config.XmlJobGenerator(reg)
        self.assertRaises(Exception, xml_generator.generateXML, job_data_list)
        self.assertIn("Failure formatting component", self.logger.output)
        self.assertIn("Problem formatting with args", self.logger.output)
コード例 #3
0
    def _generate_jobs(self, config):
        module_path = config.arguments['module_path'].split(os.pathsep)

        library_path = config.arguments['library_path']
        if library_path is not None:
            library_path = library_path.split(os.pathsep)

        logging.debug("Module path: {0}".format(module_path))
        logging.debug("Library path: {0}".format(library_path))

        loader = jenkins_manager.loader.PythonLoader(module_path, library_path)
        logging.debug("Jobs loaded: {0}".format(pprint.pformat(loader.jobs)))

        jjbconfig = jjb_config.JJBConfig(config.arguments['conf'])
        jjbconfig.do_magical_things()
        jjbconfig.builder['ignore_cache'] = (not config.arguments['use_cache'])

        bldr = builder.Builder(jjbconfig)
        module_registry = registry.ModuleRegistry(jjbconfig, bldr.plugins_list)
        xml_generator = xml_config.XmlJobGenerator(module_registry)

        xml_jobs = xml_generator.generateXML(loader.jobs)

        return xml_jobs, bldr