package aQute.bnd.deployer.repository.aether; import org.eclipse.aether.artifact.Artifact; import aQute.bnd.osgi.Jar; import aQute.lib.io.IO; import junit.framework.TestCase; public class ConversionUtilsTest extends TestCase { public void testGuessGroupId() throws Exception { Jar jar = new Jar(IO.getFile("testdata/1.jar")); Artifact artifact = ConversionUtils.fromBundleJar(jar); assertEquals("org.example", artifact.getGroupId()); assertEquals("api", artifact.getArtifactId()); } public void testBsnMappingWithGroupId() throws Exception { Jar jar = new Jar(IO.getFile("testdata/2.jar")); Artifact artifact = ConversionUtils.fromBundleJar(jar); assertEquals("org.bndtools", artifact.getGroupId()); assertEquals("example.foo", artifact.getArtifactId()); } public void testBsnMappingWithGroupIdNotPrefix() throws Exception { Jar jar = new Jar(IO.getFile("testdata/3.jar")); Artifact artifact = ConversionUtils.fromBundleJar(jar); assertEquals("com.paremus", artifact.getGroupId()); assertEquals("org.bndtools.example.foo", artifact.getArtifactId()); } public void testMaybeMavenCoordsToBsn() throws Exception { assertEquals("org.example.foo", ConversionUtils.maybeMavenCoordsToBsn("org.example.foo")); assertEquals("org.example.foo.bar", ConversionUtils.maybeMavenCoordsToBsn("org.example:foo.bar")); try { ConversionUtils.maybeMavenCoordsToBsn(":foo.bar"); fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } try { ConversionUtils.maybeMavenCoordsToBsn("org.example:"); fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected } } public void testGroupAndArtifactForBsn() throws Exception { String[] coords = ConversionUtils.getGroupAndArtifactForBsn("com.example.group:example-api"); assertEquals("com.example.group", coords[0]); assertEquals("example-api", coords[1]); } }