package org.jboss.weld.tests.servlet.dispatch; import org.jboss.arquillian.container.test.api.Testable; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.EmptyAsset; import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.weld.test.util.Utils; public class Deployments { public static Archive<?> deployment(Class<?> servletClass, boolean includeWebXml, Class<?> testClass) { WebArchive war1 = ShrinkWrap.create(WebArchive.class, "app1.war") .addClasses(servletClass, FirstServlet.class, FirstBean.class, FirstConversationScopedBean.class) .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); WebArchive war2 = ShrinkWrap.create(WebArchive.class, "app2.war") .addClasses(SecondServlet.class, SecondBean.class, SecondConversationScopedBean.class) .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); if (includeWebXml) { war1.addAsWebInfResource(Deployments.class.getPackage(), "web.xml", "web.xml"); war2.addAsWebInfResource(Deployments.class.getPackage(), "web.xml", "web.xml"); } JavaArchive library = ShrinkWrap.create(JavaArchive.class) .addClass(TestBean.class) .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); return ShrinkWrap.create(EnterpriseArchive.class, Utils.getDeploymentNameAsHash(testClass, Utils.ARCHIVE_TYPE.EAR)) .addAsModule(Testable.archiveToTest(war1)) .addAsModule(war2) .addAsLibrary(library); } }