package net.sf.gazpachoquest.questionnaires.resource; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import net.sf.gazpachoquest.api.QuestionnaireResource; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlPage; /** * @see https://community.jboss.org/message/729492a * @see http://java.dzone.com/articles/injecting-string-resource * @author antoniomaria * */ @RunWith(Arquillian.class) @RunAsClient @Ignore public class QuestionnairResourceInServletTest { @ArquillianResource private URL contextPath; @Deployment public static Archive<?> createTestArchive() { String beansDescriptor = Descriptors.create(BeansDescriptor.class).exportAsString(); return ShrinkWrap .create(WebArchive.class, "test.war") .addClasses(ResourceProducer.class, GazpachoResource.class, QuestionnaireResource.class, QuestionnairResourceTestServlet.class) .addAsWebInfResource(new StringAsset(beansDescriptor), "beans.xml"); } @Test public void listTest() throws FailingHttpStatusCodeException, MalformedURLException, IOException { final WebClient webClient = new WebClient(); webClient.addRequestHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP // 1.1. webClient.addRequestHeader("Pragma", "no-cache"); // HTTP 1.0. webClient.addRequestHeader("Expires", "0"); // final HtmlPage page = webClient.getPage(contextPath.toExternalForm() + "/testServlet"); final String pageAsText = page.asText(); System.out.println(pageAsText); webClient.closeAllWindows(); } }