package net.bootsfaces.it; import java.io.File; import java.net.URL; import org.jboss.arquillian.drone.api.annotation.Drone; import org.jboss.arquillian.test.api.ArquillianResource; 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.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.After; import org.junit.Rule; import org.junit.rules.TestRule; import org.junit.rules.TestWatcher; import org.junit.runner.Description; import org.openqa.selenium.WebDriver; /** * This is a base class for Arquillian integration tests. It creates the base * deployment include the boostFaces compiled library. * * @author yersan */ public class IntegrationTestsBase { protected final static String WEBAPP_SRC = "src/test/resources/webapp/"; @ArquillianResource protected URL context; @Drone protected WebDriver browser; public static WebArchive createBaseDeployment() { WebArchive deployment = ShrinkWrap.create(WebArchive.class, "test.war"); BeansDescriptor beans = Descriptors.importAs(BeansDescriptor.class) .fromFile(WEBAPP_SRC+"/WEB-INF/beans.xml"); WebAppDescriptor webDescriptor = Descriptors.importAs(WebAppDescriptor.class) .fromFile(WEBAPP_SRC+"/WEB-INF/web.xml"); deployment.addAsWebInfResource(new StringAsset(beans.exportAsString()), "beans.xml") .addAsWebInfResource(new StringAsset(webDescriptor.exportAsString()), "web.xml") .addAsLibraries(new File("target/bootsfaces-test.jar")); return deployment; } @Rule public TestRule watcher = new TestWatcher() { @Override protected void starting(Description description) { System.out.println("Starting test: " + description.getMethodName()); } }; @After public void after() { System.out.println(browser.getPageSource()); browser.manage().deleteAllCookies(); } }