You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2007/01/25 13:37:34 UTC
svn commit: r499762 -
/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java
Author: brett
Date: Thu Jan 25 04:37:34 2007
New Revision: 499762
URL: http://svn.apache.org/viewvc?view=rev&rev=499762
Log:
fix the tests up, add some that work only on file timestamps
Modified:
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java
Modified: maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java?view=diff&rev=499762&r1=499761&r2=499762
==============================================================================
--- maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java (original)
+++ maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenIT0108SnapshotUpdateTest.java Thu Jan 25 04:37:34 2007
@@ -42,6 +42,8 @@
private File localRepoFile;
+ private static final int TIME_OFFSET = 50000;
+
protected void setUp()
throws Exception
{
@@ -75,7 +77,7 @@
assertArtifactContents( "originalArtifact" );
// set in the past to ensure it is downloaded
- localRepoFile.setLastModified( System.currentTimeMillis() - 5000 );
+ localRepoFile.setLastModified( System.currentTimeMillis() - TIME_OFFSET );
FileUtils.fileWrite( artifact.getAbsolutePath(), "updatedArtifact" );
@@ -92,7 +94,8 @@
{
File metadata =
new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
- FileUtils.fileWrite( metadata.getAbsolutePath(), constructMetadata( "1", System.currentTimeMillis() - 5000 ) );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "1", System.currentTimeMillis() - TIME_OFFSET, true ) );
verifier.executeGoal( "package" );
@@ -103,7 +106,7 @@
FileUtils.fileWrite( artifact.getAbsolutePath(), "updatedArtifact" );
metadata = new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
- FileUtils.fileWrite( metadata.getAbsolutePath(), constructMetadata( "2", System.currentTimeMillis() ) );
+ FileUtils.fileWrite( metadata.getAbsolutePath(), constructMetadata( "2", System.currentTimeMillis(), true ) );
verifier.executeGoal( "package" );
@@ -116,15 +119,16 @@
public void testSnapshotUpdatedWithLocalMetadata()
throws Exception
{
- File localMetadata =
- getMetadataFile( "org/apache/maven/its/snapshotUpdate", "maven-it-snapshot-update", "1.0-SNAPSHOT" );
+ File localMetadata = getMetadataFile( "org/apache/maven", "maven-core-it-support", "1.0-SNAPSHOT" );
- localMetadata.delete();
- assertFalse( localMetadata.exists() );
+ FileUtils.deleteDirectory( localMetadata.getParentFile() );
+ assertFalse( localMetadata.getParentFile().exists() );
+ localMetadata.getParentFile().mkdirs();
File metadata =
new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
- FileUtils.fileWrite( metadata.getAbsolutePath(), constructMetadata( "1", System.currentTimeMillis() - 5000 ) );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "1", System.currentTimeMillis() - TIME_OFFSET, true ) );
verifier.executeGoal( "package" );
@@ -134,8 +138,13 @@
assertArtifactContents( "originalArtifact" );
assertFalse( localMetadata.exists() );
- FileUtils.fileWrite( artifact.getAbsolutePath(), "localArtifact" );
- FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( System.currentTimeMillis() ) );
+ FileUtils.fileWrite( localRepoFile.getAbsolutePath(), "localArtifact" );
+ FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( "org.apache.maven",
+ "maven-core-it-support",
+ System.currentTimeMillis(),
+ true ) );
+ // update the remote file, but we shouldn't be looking
+ artifact.setLastModified( System.currentTimeMillis() );
verifier.executeGoal( "package" );
@@ -146,7 +155,79 @@
Calendar cal = Calendar.getInstance();
cal.add( Calendar.YEAR, -1 );
- FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( cal.getTimeInMillis() ) );
+ FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( "org.apache.maven",
+ "maven-core-it-support",
+ cal.getTimeInMillis(), true ) );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "2", System.currentTimeMillis() - 2000, true ) );
+ artifact.setLastModified( System.currentTimeMillis() );
+
+ verifier.executeGoal( "package" );
+
+ assertArtifactContents( "originalArtifact" );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ }
+
+ public void testSnapshotUpdatedWithMetadataUsingFileTimestamp()
+ throws Exception
+ {
+ File metadata =
+ new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "1", System.currentTimeMillis() - TIME_OFFSET, false ) );
+ metadata.setLastModified( System.currentTimeMillis() - TIME_OFFSET );
+
+ verifier.executeGoal( "package" );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ assertArtifactContents( "originalArtifact" );
+
+ FileUtils.fileWrite( artifact.getAbsolutePath(), "updatedArtifact" );
+ metadata = new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
+ FileUtils.fileWrite( metadata.getAbsolutePath(), constructMetadata( "2", System.currentTimeMillis(), false ) );
+
+ verifier.executeGoal( "package" );
+
+ assertArtifactContents( "updatedArtifact" );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+ }
+
+ public void testSnapshotUpdatedWithLocalMetadataUsingFileTimestamp()
+ throws Exception
+ {
+ File localMetadata = getMetadataFile( "org/apache/maven", "maven-core-it-support", "1.0-SNAPSHOT" );
+
+ FileUtils.deleteDirectory( localMetadata.getParentFile() );
+ assertFalse( localMetadata.getParentFile().exists() );
+ localMetadata.getParentFile().mkdirs();
+
+ File metadata =
+ new File( repository, "org/apache/maven/maven-core-it-support/1.0-SNAPSHOT/maven-metadata.xml" );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "1", System.currentTimeMillis() - TIME_OFFSET, false ) );
+ metadata.setLastModified( System.currentTimeMillis() - TIME_OFFSET );
+
+ verifier.executeGoal( "package" );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ assertArtifactContents( "originalArtifact" );
+ assertFalse( localMetadata.exists() );
+
+ FileUtils.fileWrite( localRepoFile.getAbsolutePath(), "localArtifact" );
+ FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( "org.apache.maven",
+ "maven-core-it-support",
+ System.currentTimeMillis(),
+ false ) );
+ // update the remote file, but we shouldn't be looking
+ artifact.setLastModified( System.currentTimeMillis() );
verifier.executeGoal( "package" );
@@ -154,6 +235,27 @@
verifier.verifyErrorFreeLog();
verifier.resetStreams();
+
+ Calendar cal = Calendar.getInstance();
+ cal.add( Calendar.YEAR, -1 );
+ FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( "org.apache.maven",
+ "maven-core-it-support",
+ cal.getTimeInMillis(), false ) );
+ localMetadata.setLastModified( cal.getTimeInMillis() );
+ localRepoFile.setLastModified( cal.getTimeInMillis() );
+ new File( localMetadata.getParentFile(), "maven-metadata-it.snapshots.xml" ).setLastModified(
+ cal.getTimeInMillis() );
+ FileUtils.fileWrite( metadata.getAbsolutePath(),
+ constructMetadata( "2", System.currentTimeMillis() - 2000, false ) );
+ metadata.setLastModified( System.currentTimeMillis() - 2000 );
+ artifact.setLastModified( System.currentTimeMillis() );
+
+ verifier.executeGoal( "package" );
+
+ assertArtifactContents( "originalArtifact" );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
}
public void testSnapshotLocalMetadataUpdatedOnInstall()
@@ -174,7 +276,8 @@
Calendar cal = Calendar.getInstance();
cal.add( Calendar.YEAR, -1 );
- FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata( cal.getTimeInMillis() ) );
+ FileUtils.fileWrite( localMetadata.getAbsolutePath(), constructLocalMetadata(
+ "org.apache.maven.its.snapshotUpdate", "maven-it-snapshot-update", cal.getTimeInMillis(), true ) );
verifier.executeGoal( "install" );
@@ -193,7 +296,9 @@
throws IOException
{
String actual = stripTime( FileUtils.fileRead( localMetadata ) );
- String expected = stripTime( constructLocalMetadata( System.currentTimeMillis() ) );
+ String expected = stripTime( constructLocalMetadata( "org.apache.maven.its.snapshotUpdate",
+ "maven-it-snapshot-update", System.currentTimeMillis(),
+ true ) );
assertEquals( expected, actual );
}
@@ -234,24 +339,24 @@
repository.mkdirs();
}
- private String constructMetadata( String buildNumber, long timestamp )
+ private String constructMetadata( String buildNumber, long timestamp, boolean writeLastUpdated )
{
String ts = new SimpleDateFormat( "yyyyMMddHHmmss", Locale.US ).format( new Date( timestamp ) );
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><metadata>\n" + "<groupId>org.apache.maven</groupId>\n" +
"<artifactId>maven-core-it-support</artifactId>\n" + "<version>1.0-SNAPSHOT</version>\n" +
"<versioning>\n" + "<snapshot>\n" + "<buildNumber>" + buildNumber + "</buildNumber>\n" + "</snapshot>\n" +
- "<lastUpdated>" + ts + "</lastUpdated>\n" + "</versioning>\n" + "</metadata>";
+ ( writeLastUpdated ? "<lastUpdated>" + ts + "</lastUpdated>\n" : "" ) + "</versioning>\n" + "</metadata>";
}
- private String constructLocalMetadata( long timestamp )
+ private String constructLocalMetadata( String groupId, String artifactId, long timestamp, boolean writeLastUpdated )
{
String ts = new SimpleDateFormat( "yyyyMMddHHmmss", Locale.US ).format( new Date( timestamp ) );
- return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><metadata>\n" +
- " <groupId>org.apache.maven.its.snapshotUpdate</groupId>\n" +
- " <artifactId>maven-it-snapshot-update</artifactId>\n" + " <version>1.0-SNAPSHOT</version>\n" +
+ return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><metadata>\n" + " <groupId>" + groupId + "</groupId>\n" +
+ " <artifactId>" + artifactId + "</artifactId>\n" + " <version>1.0-SNAPSHOT</version>\n" +
" <versioning>\n" + " <snapshot>\n" + " <localCopy>true</localCopy>\n" + " </snapshot>\n" +
- " <lastUpdated>" + ts + "</lastUpdated>\n" + " </versioning>\n" + "</metadata>";
+ ( writeLastUpdated ? " <lastUpdated>" + ts + "</lastUpdated>\n" : "" ) + " </versioning>\n" +
+ "</metadata>";
}
}