public void setConfigAttributes(Object attributes) { clear(); if (attributes == null) { return; } Map attributeMap = (Map) attributes; String materialType = (String) attributeMap.get(AbstractMaterialConfig.MATERIAL_TYPE); if (SvnMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getSvnMaterial(), (Map) attributeMap.get(SvnMaterialConfig.TYPE)); } else if (HgMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getHgMaterial(), (Map) attributeMap.get(HgMaterialConfig.TYPE)); } else if (GitMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getGitMaterial(), (Map) attributeMap.get(GitMaterialConfig.TYPE)); } else if (P4MaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getP4Material(), (Map) attributeMap.get(P4MaterialConfig.TYPE)); } else if (DependencyMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getDependencyMaterial(), (Map) attributeMap.get(DependencyMaterialConfig.TYPE)); } else if (TfsMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getTfsMaterial(), (Map) attributeMap.get(TfsMaterialConfig.TYPE)); } else if (PackageMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getPackageMaterial(), (Map) attributeMap.get(PackageMaterialConfig.TYPE)); } else if (PluggableSCMMaterialConfig.TYPE.equals(materialType)) { addMaterialConfig(getSCMMaterial(), (Map) attributeMap.get(PluggableSCMMaterialConfig.TYPE)); } }
public static PipelineConfig createManualTriggerPipelineConfig(MaterialConfig materialConfig, String pipelineName, String stageName, String... buildNames) { PipelineConfig pipelineConfig = createPipelineConfig(pipelineName, stageName, buildNames); pipelineConfig.materialConfigs().clear(); materialConfig.setName(new CaseInsensitiveString(String.format("%s-%s", pipelineName, materialConfig.getType()))); materialConfig.setAutoUpdate(false); pipelineConfig.materialConfigs().add(materialConfig); pipelineConfig.first().setApproval(Approval.manualApproval()); return pipelineConfig; }
private void setDepedencyOn(CruiseConfig cruiseConfig, String toPipeline, String upstreamPipeline, String upstreamStage) { PipelineConfig targetPipeline = cruiseConfig.pipelineConfigByName(new CaseInsensitiveString(toPipeline)); targetPipeline.materialConfigs().clear(); targetPipeline.addMaterialConfig(new DependencyMaterialConfig(new CaseInsensitiveString(upstreamPipeline), new CaseInsensitiveString(upstreamStage))); }
@Test public void shouldReturnTrueWhenOneOfPipelineMaterialsIsTheSameAsConfigOriginButDestinationIsDifferent() { PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("pipeline", "stage", "build"); pipelineConfig.materialConfigs().clear(); GitMaterialConfig pipeMaterialConfig = new GitMaterialConfig("http://git"); pipeMaterialConfig.setFolder("dest1"); pipelineConfig.materialConfigs().add(pipeMaterialConfig); GitMaterialConfig repoMaterialConfig = new GitMaterialConfig("http://git"); pipelineConfig.setOrigin(new RepoConfigOrigin(new ConfigRepoConfig(repoMaterialConfig, "plugin"), "1233")); assertThat(pipelineConfig.isConfigOriginSameAsOneOfMaterials(), is(true)); }
@Test public void shouldNotThrowUpWhenTfsWorkspaceIsNotSpecified() { CruiseConfig cruiseConfig = GoConfigMother.configWithPipelines("tfs_pipeline"); PipelineConfig tfs_pipeline = cruiseConfig.pipelineConfigByName(new CaseInsensitiveString("tfs_pipeline")); tfs_pipeline.materialConfigs().clear(); tfs_pipeline.addMaterialConfig(new TfsMaterialConfig(new GoCipher(), new UrlArgument("http://tfs.com"), "username", "CORPORATE", "password", "$/project_path")); try { xmlWriter.write(cruiseConfig, output, false); } catch (Exception e) { fail("should not fail as workspace name is not mandatory anymore " + e); } }
@Test public void shouldNotThrowWhenMaterialAndConfigOriginRevisionDontMatch_WhenManualTrigger() { SvnMaterial material = MaterialsMother.svnMaterial(); MaterialConfig materialConfig = material.config(); MaterialRevisions first = new MaterialRevisions( new MaterialRevision(material, oneModifiedFile("revision1")) ); BuildCause buildCause = BuildCause.createManualForced(); buildCause.setMaterialRevisions(first); PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfigWithStages("pipe1", "build"); pipelineConfig.materialConfigs().clear(); pipelineConfig.materialConfigs().add(materialConfig); pipelineConfig.setOrigin(new RepoConfigOrigin(new ConfigRepoConfig(materialConfig,"plug"),"revision2")); buildCause.assertPipelineConfigAndMaterialRevisionMatch(pipelineConfig); }
@Test public void shouldNotThrowWhenMaterialAndConfigOriginRevisionMatch_WhenAutoTrigger() { SvnMaterial material = MaterialsMother.svnMaterial(); MaterialConfig materialConfig = material.config(); MaterialRevisions first = new MaterialRevisions( new MaterialRevision(material, oneModifiedFile("revision1")) ); BuildCause buildCause = BuildCause.createWithModifications(first,""); buildCause.setMaterialRevisions(first); PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfigWithStages("pipe1", "build"); pipelineConfig.materialConfigs().clear(); pipelineConfig.materialConfigs().add(materialConfig); pipelineConfig.setOrigin(new RepoConfigOrigin(new ConfigRepoConfig(materialConfig,"plug"),"revision1")); buildCause.assertPipelineConfigAndMaterialRevisionMatch(pipelineConfig); }
@Test public void shouldThrowWhenMaterialAndConfigOriginRevisionDontMatch_WhenAutoTrigger() { SvnMaterial material = MaterialsMother.svnMaterial(); MaterialConfig materialConfig = material.config(); MaterialRevisions first = new MaterialRevisions( new MaterialRevision(material, oneModifiedFile("revision1")) ); BuildCause buildCause = BuildCause.createWithModifications(first,""); buildCause.setMaterialRevisions(first); PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfigWithStages("pipe1", "build"); pipelineConfig.materialConfigs().clear(); pipelineConfig.materialConfigs().add(materialConfig); pipelineConfig.setOrigin(new RepoConfigOrigin(new ConfigRepoConfig(materialConfig,"plug"),"revision2")); try { buildCause.assertPipelineConfigAndMaterialRevisionMatch(pipelineConfig); } catch (BuildCauseOutOfDateException ex) { //good return; } fail("should have thrown"); }