package aQute.maven.api;
import aQute.bnd.version.MavenVersion;
import junit.framework.TestCase;
public class ArchiveTest extends TestCase {
public void testFilePath() {
String s = "com/netflix/governator/governator-commons-cli/1.12.10/governator-commons-cli-1.12.10.pom";
Archive a = Archive.fromFilepath(s);
assertEquals("com.netflix.governator", a.revision.program.group);
assertEquals("governator-commons-cli", a.revision.program.artifact);
assertEquals("1.12.10", a.revision.version.toString());
assertEquals("pom", a.extension);
assertEquals("", a.classifier);
}
public void testFilePathWithClassifier() {
String s = "com/netflix/governator/governator-commons-cli/1.12.10/governator-commons-cli-1.12.10-classifier.pom";
Archive a = Archive.fromFilepath(s);
assertEquals("com.netflix.governator", a.revision.program.group);
assertEquals("governator-commons-cli", a.revision.program.artifact);
assertEquals("1.12.10", a.revision.version.toString());
assertEquals("pom", a.extension);
assertEquals("classifier", a.classifier);
}
public void testEquals() {
Archive a = Archive.valueOf("a.b.c:def:jar:1.3");
Archive b = Archive.valueOf("a.b.c:def:1.3");
assertTrue(a.equals(b));
assertTrue(a.hashCode() == b.hashCode());
}
public void testEqualsDefault() {
Archive a = new Archive("org.slf4j:slf4j-api:1.7.5");
Archive b = Archive.valueOf("org.slf4j:slf4j-api:1.7.5");
assertTrue(a.equals(b));
assertTrue(a.hashCode() == b.hashCode());
}
public void testValueOf() {
Archive a = Archive.valueOf("a.b.c:def:1.3");
assertEquals("a.b.c", a.revision.program.group);
assertEquals("def", a.revision.program.artifact);
assertEquals(new MavenVersion("1.3"), a.revision.version);
assertEquals("jar", a.extension);
assertEquals("", a.classifier);
assertEquals("a/b/c/def/1.3/def-1.3.jar", a.localPath);
assertEquals("a/b/c/def/1.3/def-1.3.jar", a.remotePath);
}
public void testValueOfWithExtension() {
Archive a = Archive.valueOf("a.b.c:def:ext:1.3");
assertEquals("a.b.c", a.revision.program.group);
assertEquals("def", a.revision.program.artifact);
assertEquals(new MavenVersion("1.3"), a.revision.version);
assertEquals("ext", a.extension);
assertEquals("", a.classifier);
assertEquals("a/b/c/def/1.3/def-1.3.ext", a.localPath);
assertEquals("a/b/c/def/1.3/def-1.3.ext", a.remotePath);
}
public void testValueOfWithExtensionAndClassifier() {
Archive a = Archive.valueOf("a.b.c:def:ext:class:1.3");
assertEquals("a.b.c", a.revision.program.group);
assertEquals("def", a.revision.program.artifact);
assertEquals(new MavenVersion("1.3"), a.revision.version);
assertEquals("ext", a.extension);
assertEquals("class", a.classifier);
assertEquals("a/b/c/def/1.3/def-1.3-class.ext", a.localPath);
assertEquals("a/b/c/def/1.3/def-1.3-class.ext", a.remotePath);
}
public void testDefaultExtension() {
Archive a = Archive.valueOf("a.b.c:def:jar:1.3");
Archive b = Archive.valueOf("a.b.c:def:1.3");
assertTrue(a.equals(b));
}
public void testName() {
Archive a = Archive.valueOf("a.b.c:def:1.3");
assertEquals("def-1.3.jar", a.getName());
}
public void testPom() {
Archive a = Archive.valueOf("a.b.c:def:1.3");
Archive pomArchive = a.getPomArchive();
assertEquals("pom", pomArchive.extension);
assertEquals("", pomArchive.classifier);
assertEquals("a/b/c/def/1.3/def-1.3.pom", pomArchive.localPath);
assertEquals("a/b/c/def/1.3/def-1.3.pom", pomArchive.remotePath);
assertTrue(pomArchive.isPom());
assertFalse(a.isPom());
}
public void testSnapshot() {
Archive a = Archive.valueOf("a.b.c:def:1.3-SNAPSHOT");
assertTrue(a.isSnapshot());
assertFalse(a.isResolved());
Archive resolveSnapshot = a.resolveSnapshot(new MavenVersion("123456789"));
assertTrue(resolveSnapshot.isSnapshot());
assertTrue(resolveSnapshot.isResolved());
assertEquals("a/b/c/def/1.3-SNAPSHOT/def-1.3-SNAPSHOT.jar", resolveSnapshot.localPath);
assertEquals("a/b/c/def/1.3-SNAPSHOT/def-123456789.jar", resolveSnapshot.remotePath);
}
}