private void updateLabel() { Map<CaseInsensitiveString, String> namedRevisions = this.getMaterialRevisions().getNamedRevisions(); this.pipelineLabel.updateLabel(namedRevisions, counter); }
@Test public void shouldReturnMapKeyedByGivenMaterialName() { MaterialRevisions materialRevisions = new MaterialRevisions( svnMaterialRevision(yesterdayMod, oneHourAgoMod) ); assertThat(materialRevisions.getNamedRevisions().size(), is(1)); assertThat(materialRevisions.getNamedRevisions().get(new CaseInsensitiveString("Foo")), is("9")); }
@Test public void shouldUseUpstreamPipelineLabelForDependencyMaterial() { CaseInsensitiveString pipelineName = new CaseInsensitiveString("upstream"); String pipelineLabel = "1.3.0-1234"; MaterialRevision materialRevision = ModificationsMother.dependencyMaterialRevision(pipelineName.toString(), 2, pipelineLabel, "dev", 1, new Date()); MaterialRevisions materialRevisions = new MaterialRevisions(materialRevision); Map<CaseInsensitiveString, String> namedRevisions = materialRevisions.getNamedRevisions(); assertThat(namedRevisions.get(pipelineName), is(pipelineLabel)); }
@Test public void shouldNotAddMaterialWithEmptyNameIntoNamedRevisions() { MaterialRevisions materialRevisions = new MaterialRevisions( hgMaterialRevision(oneModifiedFile("hg revision 1")) ); assertThat(materialRevisions.getNamedRevisions().size(), is(0)); }
@Test public void shouldReplaceTheTemplateWithMaterialRevision() { PipelineLabel label = PipelineLabel.create("release-${svnMaterial}", InsecureEnvironmentVariables.EMPTY_ENV_VARS); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision())); }
private PipelineLabel getReplacedLabelFor(String name, String labelFormat) { MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); PipelineLabel label = PipelineLabel.create(labelFormat, InsecureEnvironmentVariables.EMPTY_ENV_VARS); ((SvnMaterial) materialRevisions.getRevisions().get(0).getMaterial()).setName(new CaseInsensitiveString(name)); label.updateLabel(materialRevisions.getNamedRevisions(), 1); return label; } }
@Test public void shouldReplaceTheTemplateCaseInsensitively() { EnvironmentVariables envVars = new EnvironmentVariables(); envVars.add("VAR", "var_value"); PipelineLabel label = PipelineLabel.create("release-${SVNMaterial}-${EnV:Var}", envVars); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-var_value")); }
@Test public void shouldTruncateMaterialRevision() { PipelineLabel label = PipelineLabel.create("release-${svnMaterial}-${git[:6]}", InsecureEnvironmentVariables.EMPTY_ENV_VARS); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); ScmMaterial material = MaterialsMother.gitMaterial(""); material.setName(new CaseInsensitiveString("git")); Modification modification = new Modification(); modification.setRevision("8c8a273e12a45e57fed5ce978d830eb482f6f666"); materialRevisions.addRevision(material, modification); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-8c8a27")); }
@Test public void shouldReplaceTheTemplateWithMultipleMaterialRevision() { PipelineLabel label = PipelineLabel.create("release-${svnMaterial}-${hg}", InsecureEnvironmentVariables.EMPTY_ENV_VARS); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); HgMaterial material = MaterialsMother.hgMaterial(); material.setName(new CaseInsensitiveString("hg")); Modification modification = new Modification(); modification.setRevision("ae09876hj"); materialRevisions.addRevision(material, modification); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-ae09876hj")); }
@Test public void shouldReplaceTheTemplateWithGitMaterialRevision() { PipelineLabel label = PipelineLabel.create("release-${svnMaterial}-${git}", InsecureEnvironmentVariables.EMPTY_ENV_VARS); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); ScmMaterial material = MaterialsMother.gitMaterial(""); material.setName(new CaseInsensitiveString("git")); Modification modification = new Modification(); modification.setRevision("8c8a273e12a45e57fed5ce978d830eb482f6f666"); materialRevisions.addRevision(material, modification); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-8c8a273e12a45e57fed5ce978d830eb482f6f666")); }