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))
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)
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