@Test public void shouldFindSCMMaterialRevisionEqual() { Date now = new Date(); PluggableSCMMaterialRevision revisionOne = new PluggableSCMMaterialRevision("go-agent-12.1.0", now); PluggableSCMMaterialRevision revisionTwo = new PluggableSCMMaterialRevision("go-agent-12.1.0", now); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.SECOND, 5); Date later = calendar.getTime(); PluggableSCMMaterialRevision revisionThree = new PluggableSCMMaterialRevision("go-agent-12.1.0", later); assertThat(revisionOne.equals(revisionTwo), is(true)); assertThat(revisionOne.equals(revisionThree), is(false)); } }
@Override public Revision oldestRevision(Modifications modifications) { if (modifications.isEmpty()) { return new NullRevision(); } Modification modification = modifications.get(modifications.size() - 1); return new PluggableSCMMaterialRevision(modification.getRevision(), modification.getModifiedTime()); }
@Test public void shouldGetJsonRepresentationForPluggableSCMMaterial() { ConfigurationProperty k1 = create("k1", false, "v1"); SCM scmConfig = SCMMother.create("scm-id", "scm-name", "pluginid", "version", new Configuration(k1)); PluggableSCMMaterial material = new PluggableSCMMaterial(); material.setSCMConfig(scmConfig); material.setFolder("folder"); Map<String, String> jsonMap = new LinkedHashMap<>(); material.toJson(jsonMap, new PluggableSCMMaterialRevision("rev123", new Date())); assertThat(jsonMap.get("scmType"), is("SCM")); assertThat(jsonMap.get("materialName"), is("scm-name")); assertThat(jsonMap.get("location"), is(material.getUriForDisplay())); assertThat(jsonMap.get("folder"), is("folder")); assertThat(jsonMap.get("action"), is("Modified")); }
public Revision latestRevision(Material material) { if (material instanceof SvnMaterial) { String revision = Modification.latestRevision(this).getRevision(); return new SubversionRevision(revision); } if (material instanceof DependencyMaterial) { Modification latestModification = this.get(0); String revision = latestModification.getRevision(); return DependencyMaterialRevision.create(revision, latestModification.getPipelineLabel()); } if (material instanceof PackageMaterial) { Modification latestModification = this.get(0); return new PackageMaterialRevision(latestModification.getRevision(), latestModification.getModifiedTime(), latestModification.getAdditionalDataMap()); } if (material instanceof PluggableSCMMaterial) { Modification latestModification = this.get(0); return new PluggableSCMMaterialRevision(latestModification.getRevision(), latestModification.getModifiedTime(), latestModification.getAdditionalDataMap()); } return Modification.latestRevision(this); }