package aQute.bnd.repository.maven.provider; import java.io.File; import java.util.Formatter; import java.util.HashMap; import java.util.Map; import aQute.bnd.build.Workspace; import aQute.http.testservers.HttpTestServer.Config; import aQute.lib.io.IO; import aQute.maven.provider.FakeNexus; import junit.framework.TestCase; public class WorkspaceTest extends TestCase { String tmpName; File tmp; File local; File remote; File index; File build; private MavenBndRepository repo; private FakeNexus fnx; private Workspace workspace; @Override protected void setUp() throws Exception { super.setUp(); tmpName = "generated/tmp/test/" + getName(); tmp = IO.getFile(tmpName); IO.delete(tmp); local = IO.getFile(tmp, "local"); remote = IO.getFile(tmp, "remote"); index = IO.getFile(tmp, "index"); build = IO.getFile(tmp, "workspace/cnf/build.bnd"); remote.mkdirs(); local.mkdirs(); IO.copy(IO.getFile("testresources/mavenrepo"), remote); IO.copy(IO.getFile("testresources/mavenrepo/index.maven"), index); Config config = new Config(); fnx = new FakeNexus(config, remote); fnx.start(); } public void testEnv() throws Exception { config(null); assertNotNull(workspace); assertNotNull(repo); System.out.println(workspace.getBase()); } public void testDefaultIndexFile() throws Exception { config(null); } public void testDefaultPollWithChange() throws Exception { config(null); } public void testDefaultPollWithoutChange() throws Exception { config(null); } public void testRelease() { } void config(Map<String,String> override) throws Exception { Map<String,String> config = new HashMap<>(); config.put("local", tmpName + "/local"); config.put("index", tmpName + "/index"); config.put("releaseUrl", fnx.getBaseURI() + "/repo/"); if (override != null) config.putAll(override); try (Formatter sb = new Formatter();) { sb.format("-plugin.maven= \\\n"); sb.format(" %s; \\\n", MavenBndRepository.class.getName()); sb.format(" name=test; \\\n", MavenBndRepository.class.getName()); sb.format(" local=%s; \\\n", config.get("local")); sb.format(" releaseUrl=%s; \\\n", config.get("releaseUrl")); sb.format(" index=%s\n", config.get("index")); build.getParentFile().mkdirs(); IO.store(sb.toString(), build); workspace = Workspace.getWorkspace(build.getParentFile().getParentFile()); repo = workspace.getPlugin(MavenBndRepository.class); } } }