package org.argeo.slc.repo.internal; import junit.framework.TestCase; import org.argeo.slc.repo.maven.AetherUtils; import org.eclipse.aether.artifact.Artifact; import org.eclipse.aether.artifact.DefaultArtifact; public class AetherUtilsTest extends TestCase { public void testConvertPathToArtifact() throws Exception { checkPathConversion("my.group.id:my-artifactId:pom:1.2.3", "/my/group/id/my-artifactId/1.2.3/my-artifactId-1.2.3.pom"); checkPathConversion("my.group.id:my-artifactId:pom:1.2.3-SNAPSHOT", "/my/group/id/my-artifactId/1.2.3-SNAPSHOT/my-artifactId-1.2.3-SNAPSHOT.pom"); checkPathConversion("my.group.id:my-artifactId:pom:myClassifier:1.2.3", "/my/group/id/my-artifactId/1.2.3/my-artifactId-1.2.3-myClassifier.pom"); checkPathConversion( "my.group.id:my-artifactId:pom:myClassifier:1.2.3-SNAPSHOT", "/my/group/id/my-artifactId/1.2.3-SNAPSHOT/my-artifactId-1.2.3-SNAPSHOT-myClassifier.pom"); checkPathConversion( "my.group.id:my-artifactId:pom:myClassifier:20110828.223836-2", "/my/group/id/my-artifactId/1.2.3-SNAPSHOT/my-artifactId-20110828.223836-2-myClassifier.pom"); } public void testConvertPathToArtifactRealLife() throws Exception { checkPathConversion( "org.apache.maven.plugins:maven-antrun-plugin:pom:1.1", "org/apache/maven/plugins/maven-antrun-plugin/1.1/maven-antrun-plugin-1.1.pom"); checkPathConversion( "org.apache.maven.plugins:maven-plugin-parent:pom:2.0.1", "org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom"); checkPathConversion( "org.apache.avalon.framework:avalon-framework-impl:pom:4.3.1", "org/apache/avalon/framework/avalon-framework-impl/4.3.1/avalon-framework-impl-4.3.1.pom"); checkPathConversion( "org.apache.maven.shared:maven-dependency-tree:pom:1.2", "org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.pom"); checkPathConversion( "org.argeo.maven.plugins:maven-argeo-osgi-plugin:pom:1.0.33", "org/argeo/maven/plugins/maven-argeo-osgi-plugin/1.0.33/maven-argeo-osgi-plugin-1.0.33.pom"); checkPathConversion( "org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1", "org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom"); } protected void checkPathConversion(String expectedArtifact, String path) { Artifact artifact = AetherUtils.convertPathToArtifact(path, null); if (expectedArtifact == null) assertNull(artifact); else assertEquals(new DefaultArtifact(expectedArtifact), artifact); } }