public boolean hasNewRevisions(MaterialConfig materialConfig) { Revision currentRevision = getCurrentRevision(materialConfig); Revision revision = getLatestRevision(materialConfig); return !currentRevision.equals(revision); }
@Test public void shouldThrowExceptionWhenCurrentRevisionForUnknownMaterialNameRequested() { HgMaterial material = MaterialsMother.hgMaterial(); material.setName(new CaseInsensitiveString("foo")); try { assertThat(setUpModificationFor(material).getCurrentRevision("blah").getRevision(), is("a087402bd2a7828a130c1bdf43f2d9ef8f48fd46")); fail("should have raised an exeption for unknown material name"); } catch (Exception ignored) { } }
@Test public void shouldGetCurrentRevisionForMaterialByName() { MaterialRevisions revisions = new MaterialRevisions(); HgMaterial material = MaterialsMother.hgMaterial(); SvnMaterial svnMaterial = MaterialsMother.svnMaterial(); material.setName(new CaseInsensitiveString("hg_material")); revisions.addRevision(svnMaterial, new Modification(new Date(), "1024", "MOCK_LABEL-12", null)); revisions.addRevision(material, HG_MATERIAL_MODIFICATION); BuildCause buildCause = BuildCause.createWithModifications(revisions, ""); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", buildCause, new StageInstanceModels()); assertThat(model.getCurrentRevision("hg_material").getRevision(), is("a087402bd2a7828a130c1bdf43f2d9ef8f48fd46")); }
@Test public void shouldGetCurrentRevisionForMaterialName() { HgMaterial material = MaterialsMother.hgMaterial(); material.setName(new CaseInsensitiveString("foo")); assertThat(setUpModificationFor(material).getCurrentRevision(CaseInsensitiveString.str(material.getName())).getRevision(), is("a087402bd2a7828a130c1bdf43f2d9ef8f48fd46")); }
@Test public void shouldGetCurrentRevisionForMaterial() { MaterialRevisions revisions = new MaterialRevisions(); HgMaterial material = MaterialsMother.hgMaterial(); revisions.addRevision(material, HG_MATERIAL_MODIFICATION); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createWithModifications(revisions, ""), new StageInstanceModels()); assertThat(model.getCurrentRevision(material.config()).getRevision(), is("a087402bd2a7828a130c1bdf43f2d9ef8f48fd46")); }