package biz.aQute.resolve; import java.io.File; import java.util.List; import org.osgi.service.repository.Repository; import aQute.bnd.build.Run; import aQute.bnd.repository.osgi.OSGiRepository; import aQute.lib.io.IO; import junit.framework.TestCase; public class StandaloneTest extends TestCase { public void testStandalone() throws Exception { File f = IO.getFile("testdata/standalone/simple.bndrun"); Run run = Run.createRun(null, f); List<Repository> repositories = run.getWorkspace().getPlugins(Repository.class); assertEquals(1, repositories.size()); assertTrue(repositories.get(0) instanceof OSGiRepository); OSGiRepository f0 = (OSGiRepository) repositories.get(0); assertEquals("foo", f0.getName()); assertEquals("http://example.org/index.xml", f0.getLocation()); } public void testMultipleUrls() throws Exception { File f = IO.getFile("testdata/standalone/multi.bndrun"); Run run = Run.createRun(null, f); List<Repository> repositories = run.getWorkspace().getPlugins(Repository.class); assertEquals(2, repositories.size()); assertTrue(repositories.get(0) instanceof OSGiRepository); assertTrue(repositories.get(1) instanceof OSGiRepository); OSGiRepository f0 = (OSGiRepository) repositories.get(0); assertEquals("repo01", f0.getName()); assertEquals("http://example.org/index1.xml", f0.getLocation()); OSGiRepository f1 = (OSGiRepository) repositories.get(1); assertEquals("second", f1.getName()); assertEquals("http://example.org/index2.xml", f1.getLocation()); } public void testRelativeUrl() throws Exception { File f = IO.getFile("testdata/standalone/relative_url.bndrun"); Run run = Run.createRun(null, f); List<Repository> repositories = run.getWorkspace().getPlugins(Repository.class); assertEquals(2, repositories.size()); assertTrue(repositories.get(0) instanceof OSGiRepository); assertTrue(repositories.get(1) instanceof OSGiRepository); OSGiRepository f0 = (OSGiRepository) repositories.get(0); assertEquals("repo01", f0.getName()); String resolvedUrl = IO.getFile("testdata/larger-repo.xml").toURI().toString(); assertEquals(resolvedUrl, f0.getLocation()); OSGiRepository f1 = (OSGiRepository) repositories.get(1); assertEquals("repo02", f1.getName()); assertEquals("http://example.org/index2.xml", f1.getLocation()); } public void testExtraAttribs() throws Exception { File f = IO.getFile("testdata/standalone/attribs.bndrun"); Run run = Run.createRun(null, f); List<Repository> repositories = run.getWorkspace().getPlugins(Repository.class); assertEquals(1, repositories.size()); assertTrue(repositories.get(0) instanceof OSGiRepository); OSGiRepository f0 = (OSGiRepository) repositories.get(0); assertEquals("foo", f0.getName()); assertEquals("http://example.org/index.xml", f0.getLocation()); File cacheDir = IO.getFile(System.getProperty("user.home") + "/.custom_cache_dir"); assertEquals(cacheDir, f0.getRoot()); } public void testMacroExpansion() throws Exception { File f = IO.getFile("testdata/standalone/macro.bndrun"); Run run = Run.createRun(null, f); List<Repository> repositories = run.getWorkspace().getPlugins(Repository.class); assertEquals(1, repositories.size()); assertTrue(repositories.get(0) instanceof OSGiRepository); OSGiRepository f0 = (OSGiRepository) repositories.get(0); assertEquals(System.getProperty("user.name") + " M2", f0.getName()); File indexFile = IO.getFile(System.getProperty("user.home") + "/.m2/repository/repository.xml"); assertEquals(indexFile.toURI().toString(), f0.getLocation()); } }