Anonymous avatar Anonymous committed 07c426f

Migrate IntegrationTests to use WebappModule

Comments (0)

Files changed (1)

src/test/java/net/chempound/client/cli/ChempoundClientCLIIntegrationTest.java

 package net.chempound.client.cli;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
-import com.google.inject.Stage;
-import net.chempound.ChempoundConfigurationModule;
-import net.chempound.DefaultChempoundModule;
-import net.chempound.config.ChempoundConfiguration;
-import net.chempound.config.DefaultPropertySource;
-import net.chempound.config.StubChempoundConfiguration;
 import net.chempound.datastore.TripleStore;
 import net.chempound.rdf.ORE;
-import net.chempound.webapp.DefaultChempoundWebModule;
+import net.chempound.webapp.ChempoundWebappLauncher;
+import net.chempound.webapp.StubConfigurationWebAppModule;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.junit.*;
-import org.restlet.Application;
-import org.restlet.Component;
-import org.restlet.data.Protocol;
 
 import java.io.File;
 import java.io.IOException;
  */
 public class ChempoundClientCLIIntegrationTest {
 
-    private static Component component;
+    private static ChempoundWebappLauncher webappLauncher;
     private static TripleStore tripleStore;
     private static File workspace;
 
         final URI baseUri = URI.create("http://localhost:12080/repo/");
         workspace = new File("target", UUID.randomUUID().toString());
 
-        final ChempoundConfiguration configuration = new StubChempoundConfiguration(baseUri, workspace);
-        final Injector injector = Guice.createInjector(Stage.DEVELOPMENT,
-                new DefaultChempoundModule(),
-                new DefaultChempoundWebModule(),
-                new ChempoundConfigurationModule(configuration, new DefaultPropertySource())
-        );
+        webappLauncher = new ChempoundWebappLauncher(new StubConfigurationWebAppModule(baseUri, workspace));
+        final Injector injector = webappLauncher.getInjector();
+        tripleStore = injector.getInstance(TripleStore.class);
 
-        component = injector.getInstance(Component.class);
-        component.getServers().add(Protocol.HTTP, 12080)
-                .getContext().getParameters().add("maxThreads", "256");
-        component.getDefaultHost().attach("/repo", injector.getInstance(Application.class));
-        component.start();
-
-        tripleStore = injector.getInstance(TripleStore.class);
+        webappLauncher.start();
     }
 
     @AfterClass
     public static void tearDownChempound() throws Exception {
-        if (component != null) {
+        if (webappLauncher != null) {
             try {
-                component.stop();
+                webappLauncher.stop();
             } finally {
-                component = null;
+                webappLauncher = null;
             }
         }
         FileUtils.deleteQuietly(workspace);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.