[MRM-1421] Archiva repository purge incorrectly purges based on file timestamps even when the snapshot timestamp is known

git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/archiva-1.3.x@1049392 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2010-12-15 02:26:34 +00:00
parent 00c2fef39e
commit 78d1f291f0
1 changed files with 15 additions and 4 deletions

View File

@ -33,6 +33,8 @@ import java.util.List;
public class DaysOldRepositoryPurgeTest
extends AbstractRepositoryPurgeTest
{
private static final int OLD_TIMESTAMP = 1179382029;
private void setLastModified( String dirPath, long lastModified )
{
File dir = new File( dirPath );
@ -56,7 +58,7 @@ public class DaysOldRepositoryPurgeTest
String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-install-plugin";
setLastModified( projectRoot + "/2.2-SNAPSHOT/", 1179382029 );
setLastModified( projectRoot + "/2.2-SNAPSHOT/", OLD_TIMESTAMP );
// test listeners for the correct artifacts
listener.deleteArtifact( getRepository(), createArtifact( "org.apache.maven.plugins", "maven-install-plugin",
@ -115,7 +117,7 @@ public class DaysOldRepositoryPurgeTest
String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-assembly-plugin";
setLastModified( projectRoot + "/1.1.2-SNAPSHOT/", 1179382029 );
setLastModified( projectRoot + "/1.1.2-SNAPSHOT/", OLD_TIMESTAMP );
// test listeners for the correct artifacts
listener.deleteArtifact( getRepository(), createArtifact( "org.apache.maven.plugins", "maven-assembly-plugin",
@ -171,8 +173,17 @@ public class DaysOldRepositoryPurgeTest
for ( int i = 5; i <= 7; i++ )
{
new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".jar" ).createNewFile();
new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".pom" ).createNewFile();
File jarFile = new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".jar" );
jarFile.createNewFile();
File pomFile = new File( versionRoot, "/plexus-utils-1.4.3-" + timestamp + "-" + i + ".pom" );
pomFile.createNewFile();
// set timestamp to older than 100 days for the first build, but ensure the filename timestamp is honoured instead
if ( i == 5 )
{
jarFile.setLastModified( OLD_TIMESTAMP );
pomFile.setLastModified( OLD_TIMESTAMP );
}
}
List<String> versions = new ArrayList<String>();