From fcd8104a6725e79fa52d655efd1bed65d0e21100 Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Tue, 29 Nov 2005 04:56:46 +0000 Subject: [PATCH] more legacy discoverer tests PR: MRM-9 git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@349647 13f79535-47bb-0310-9956-ffa450edef68 --- .../discovery/AbstractArtifactDiscoverer.java | 1 + .../discovery/DefaultArtifactDiscoverer.java | 17 +++++++----- .../discovery/LegacyArtifactDiscoverer.java | 5 +++- .../DefaultArtifactDiscovererTest.java | 25 +++++++++++++++++- .../LegacyArtifactDiscovererTest.java | 26 ++++++++++++++++--- .../invalid/invalid-1.0.jar} | 0 .../invalid/jars/1.0/invalid-1.0.jar | 0 .../jars/testing-1.0-20050611.112233-1.jar | 0 .../test-1.0-20050611.112233-1.jar | 0 ...wrong-artifactId-1.0-20050611.112233-1.jar | 0 10 files changed, 62 insertions(+), 12 deletions(-) rename maven-repository-discovery/src/test/{repository/org/apache/maven/test/1.0-SNAPSHOT/maven-test-1.0-20050611.112233-1.jar => legacy-repository/invalid/invalid-1.0.jar} (100%) create mode 100644 maven-repository-discovery/src/test/legacy-repository/invalid/jars/1.0/invalid-1.0.jar create mode 100644 maven-repository-discovery/src/test/legacy-repository/org.apache.maven/jars/testing-1.0-20050611.112233-1.jar create mode 100644 maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/test-1.0-20050611.112233-1.jar create mode 100644 maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar diff --git a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/AbstractArtifactDiscoverer.java b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/AbstractArtifactDiscoverer.java index 82d2ecea4..f7c94612b 100644 --- a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/AbstractArtifactDiscoverer.java +++ b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/AbstractArtifactDiscoverer.java @@ -80,6 +80,7 @@ public abstract class AbstractArtifactDiscoverer * Add a path to the list of files that were kicked out due to being invalid. * * @param path the path to add + * @todo add a reason */ protected void addKickedOutPath( String path ) { diff --git a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/DefaultArtifactDiscoverer.java b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/DefaultArtifactDiscoverer.java index b7883e54d..24ee9ce01 100644 --- a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/DefaultArtifactDiscoverer.java +++ b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/DefaultArtifactDiscoverer.java @@ -81,21 +81,26 @@ public class DefaultArtifactDiscoverer return null; } - //discard the actual artifact filename. - pathParts.remove( 0 ); + // the actual artifact filename. + String filename = (String) pathParts.remove( 0 ); // the next one is the version. - String version = (String) pathParts.get( 0 ); - pathParts.remove( 0 ); + String version = (String) pathParts.remove( 0 ); // the next one is the artifactId. - String artifactId = (String) pathParts.get( 0 ); - pathParts.remove( 0 ); + String artifactId = (String) pathParts.remove( 0 ); // the remaining are the groupId. Collections.reverse( pathParts ); String groupId = StringUtils.join( pathParts.iterator(), "." ); + if ( !filename.startsWith( artifactId + "-" ) ) + { + addKickedOutPath( path ); + + return null; + } + result = artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "jar" ); result.setFile( new File( path ) ); diff --git a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/LegacyArtifactDiscoverer.java b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/LegacyArtifactDiscoverer.java index 0c3cd3e87..1a9f6fb07 100644 --- a/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/LegacyArtifactDiscoverer.java +++ b/maven-repository-discovery/src/main/java/org/apache/maven/repository/discovery/LegacyArtifactDiscoverer.java @@ -303,7 +303,10 @@ public class LegacyArtifactDiscoverer } } - result.setFile( new File( path ) ); + if ( result != null ) + { + result.setFile( new File( path ) ); + } return result; } diff --git a/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/DefaultArtifactDiscovererTest.java b/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/DefaultArtifactDiscovererTest.java index 6bd0afb6c..1ea6c2a09 100644 --- a/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/DefaultArtifactDiscovererTest.java +++ b/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/DefaultArtifactDiscovererTest.java @@ -29,6 +29,7 @@ import java.util.List; * * @author Brett Porter * @version $Id$ + * @todo other tests for kickouts to do here, along the lines of wrong artifactId, parse classifiers, locate poms */ public class DefaultArtifactDiscovererTest extends PlexusTestCase @@ -118,7 +119,7 @@ public class DefaultArtifactDiscovererTest found = path.replace( '\\', '/' ).equals( "invalid/invalid-1.0.jar" ); } - assertTrue( "Check exclusion was found", found ); + assertTrue( "Check kickout was found", found ); for ( Iterator i = artifacts.iterator(); i.hasNext(); ) { @@ -127,6 +128,28 @@ public class DefaultArtifactDiscovererTest } } + public void testKickoutWithWrongArtifactId() + { + List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false ); + assertNotNull( "Check artifacts not null", artifacts ); + boolean found = false; + for ( Iterator i = discoverer.getKickedOutPathsIterator(); i.hasNext() && !found; ) + { + String path = (String) i.next(); + + found = path.replace( '\\', '/' ).equals( + "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar" ); + } + assertTrue( "Check kickout was found", found ); + + for ( Iterator i = artifacts.iterator(); i.hasNext(); ) + { + Artifact a = (Artifact) i.next(); + assertFalse( "Check not wrong jar", + a.getFile().getName().equals( "wrong-artifactId-1.0-20050611.112233-1.jar" ) ); + } + } + public void testSnapshotInclusion() { List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, true ); diff --git a/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/LegacyArtifactDiscovererTest.java b/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/LegacyArtifactDiscovererTest.java index 50d1dd783..db9b046a2 100644 --- a/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/LegacyArtifactDiscovererTest.java +++ b/maven-repository-discovery/src/test/java/org/apache/maven/repository/discovery/LegacyArtifactDiscovererTest.java @@ -107,7 +107,6 @@ public class LegacyArtifactDiscovererTest assertFalse( "Check jdbc not included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) ); } -/* public void testKickoutWithShortPath() { List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false ); @@ -128,6 +127,26 @@ public class LegacyArtifactDiscovererTest } } + public void testKickoutWithLongPath() + { + List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false ); + assertNotNull( "Check artifacts not null", artifacts ); + boolean found = false; + for ( Iterator i = discoverer.getKickedOutPathsIterator(); i.hasNext() && !found; ) + { + String path = (String) i.next(); + + found = path.replace( '\\', '/' ).equals( "invalid/jars/1.0/invalid-1.0.jar" ); + } + assertTrue( "Check exclusion was found", found ); + + for ( Iterator i = artifacts.iterator(); i.hasNext(); ) + { + Artifact a = (Artifact) i.next(); + assertFalse( "Check not invalid-1.0.jar", a.getFile().getName().equals( "invalid-1.0.jar" ) ); + } + } + public void testSnapshotInclusion() { List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, true ); @@ -135,7 +154,7 @@ public class LegacyArtifactDiscovererTest assertTrue( "Check normal included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) ); assertTrue( "Check snapshot included", - artifacts.contains( createArtifact( "org.apache.maven", "test", "1.0-SNAPSHOT" ) ) ); + artifacts.contains( createArtifact( "org.apache.maven", "testing", "1.0-20050611.112233-1" ) ) ); } public void testSnapshotExclusion() @@ -145,9 +164,8 @@ public class LegacyArtifactDiscovererTest assertTrue( "Check normal included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) ); assertFalse( "Check snapshot included", - artifacts.contains( createArtifact( "org.apache.maven", "test", "1.0-SNAPSHOT" ) ) ); + artifacts.contains( createArtifact( "org.apache.maven", "testing", "1.0-20050611.112233-1" ) ) ); } -*/ private Artifact createArtifact( String groupId, String artifactId, String version ) { diff --git a/maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/maven-test-1.0-20050611.112233-1.jar b/maven-repository-discovery/src/test/legacy-repository/invalid/invalid-1.0.jar similarity index 100% rename from maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/maven-test-1.0-20050611.112233-1.jar rename to maven-repository-discovery/src/test/legacy-repository/invalid/invalid-1.0.jar diff --git a/maven-repository-discovery/src/test/legacy-repository/invalid/jars/1.0/invalid-1.0.jar b/maven-repository-discovery/src/test/legacy-repository/invalid/jars/1.0/invalid-1.0.jar new file mode 100644 index 000000000..e69de29bb diff --git a/maven-repository-discovery/src/test/legacy-repository/org.apache.maven/jars/testing-1.0-20050611.112233-1.jar b/maven-repository-discovery/src/test/legacy-repository/org.apache.maven/jars/testing-1.0-20050611.112233-1.jar new file mode 100644 index 000000000..e69de29bb diff --git a/maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/test-1.0-20050611.112233-1.jar b/maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/test-1.0-20050611.112233-1.jar new file mode 100644 index 000000000..e69de29bb diff --git a/maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar b/maven-repository-discovery/src/test/repository/org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar new file mode 100644 index 000000000..e69de29bb -- 2.39.5