public void testUnpackOverWriteIfNewer() throws Exception { final long now = System.currentTimeMillis(); setSilent(mojo, false); stubFactory.setCreateFiles(true); Artifact artifact = stubFactory.getSnapshotArtifact(); assertTrue(artifact.getFile().setLastModified(now - 20000)); ArtifactItem item = new ArtifactItem(artifact); List<ArtifactItem> list = Collections.singletonList(item); mojo.setArtifactItems(list); mojo.setOverWriteIfNewer(true); mojo.execute(); File unpackedFile = getUnpackedFile(item); // round down to the last second long time = now; time = time - (time % 1000); // go back 10 more seconds for linux time -= 10000; // set to known value assertTrue(unpackedFile.setLastModified(time)); // set source to be newer was 4s but test is brittle on MacOS if less than 5s assertTrue(artifact.getFile().setLastModified(time + 5000)); // manually set markerfile (must match getMarkerFile in DefaultMarkerFileHandler) File marker = new File(mojo.getMarkersDirectory(), artifact.getId().replace(':', '-') + ".marker"); assertTrue(marker.setLastModified(time)); displayFile("unpackedFile", unpackedFile); displayFile("artifact ", artifact.getFile()); displayFile("marker ", marker); System.out.println("mojo.execute()"); mojo.execute(); displayFile("unpackedFile", unpackedFile); displayFile("artifact ", artifact.getFile()); displayFile("marker ", marker); System.out.println("marker.lastModified() = " + marker.lastModified()); System.out.println("unpackedFile.lastModified() = " + unpackedFile.lastModified()); assertTrue( "unpackedFile '" + unpackedFile + "' lastModified() == " + marker.lastModified() + ": should be different", marker.lastModified() != unpackedFile.lastModified()); }
public void testUnpackOverWriteReleases() throws Exception { stubFactory.setCreateFiles(true); Artifact release = stubFactory.getReleaseArtifact(); release.getFile().setLastModified(System.currentTimeMillis() - 2000); ArtifactItem item = new ArtifactItem(release); List<ArtifactItem> list = new ArrayList<ArtifactItem>(1); list.add(item); mojo.setArtifactItems(list); mojo.setOverWriteIfNewer(false); mojo.setOverWriteReleases(true); mojo.execute(); assertUnpacked(item, true); }