/* * Copyright (c) 2011 ProfitBricks GmbH. All Rights Reserved. */ package com.profitbricks.web.servlet; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.Collections; import org.glassfish.internal.embedded.ContainerBuilder; import org.glassfish.internal.embedded.EmbeddedDeployer; import org.glassfish.internal.embedded.LifecycleException; import org.glassfish.internal.embedded.ScatteredArchive; import org.glassfish.internal.embedded.Server; import org.testng.Assert; import org.testng.annotations.Test; /** * * @author kane */ public class VddServletTest { private static final int PORT = 10080; static { System.setProperty("glassfish.embedded.tmpdir", "target/glassfish"); } @Test public void testServlet() throws IOException, LifecycleException { // Build a server Server.Builder builder = new Server.Builder("server"); builder.logger(true).verbose(true).logFile(new File("target/glassfish.log")); Server server = builder.build(); // Specify the port server.createPort(PORT); // Add the Web container server.addContainer(ContainerBuilder.Type.all); // Create the WAR file ScatteredArchive.Builder saBuilder = new ScatteredArchive.Builder("web.portal", Collections.singleton(new File("target/exploded/web.portal.war").toURI().toURL())); ScatteredArchive archive = saBuilder.buildWar(); // Deploy the WAR file EmbeddedDeployer deployer = server.getDeployer(); deployer.deploy(archive, null); // Read the response from the servlet hosted at "/app" URL url = new URL("http://localhost:" + PORT + "/profitbricks/vdd"); BufferedReader br = new BufferedReader( new InputStreamReader( url.openConnection().getInputStream())); // ... and assert Assert.assertEquals("Hello Duke", br.readLine()); } }