Want more features on Pastebin? Sign Up, it's FREE!
Guest

Arq-WLS-Working-Soln

By: vineet-reynolds on Oct 23rd, 2011  |  syntax: Java  |  size: 2.81 KB  |  views: 37  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package org.jboss.arquillian.container.wls.remote_103x;
  2.  
  3. import javax.inject.Inject;
  4.  
  5. import org.jboss.arquillian.container.test.api.Deployment;
  6. import org.jboss.arquillian.junit.Arquillian;
  7. import org.jboss.shrinkwrap.api.GenericArchive;
  8. import org.jboss.shrinkwrap.api.ShrinkWrap;
  9. import org.jboss.shrinkwrap.api.asset.EmptyAsset;
  10. import org.jboss.shrinkwrap.api.spec.JavaArchive;
  11. import org.jboss.shrinkwrap.api.spec.WebArchive;
  12. import org.jboss.shrinkwrap.resolver.api.DependencyResolvers;
  13. import org.jboss.shrinkwrap.resolver.api.maven.MavenDependencyResolver;
  14. import org.junit.Assert;
  15. import org.junit.Test;
  16. import org.junit.runner.RunWith;
  17.  
  18. @RunWith(Arquillian.class)
  19. public class CDIJarTestCase {
  20.  
  21.     @Inject
  22.     private SimpleBean foo;
  23.  
  24.     /* Ok, this deployment fails. The deployed EAR file contains foo.jar in the root of the EAR
  25.      * and not in WEB-INF/lib of the WAR. Probably a bug in ARQ or SW.
  26.      *  
  27.      * @Deployment
  28.     public static JavaArchive deploy() {
  29.         return ShrinkWrap.create(JavaArchive.class, "foo.jar").addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
  30.                 .addClasses(SimpleBean.class);
  31.     }*/
  32.    
  33.     /*
  34.      * This fails as well. WLS packages all classes in WEB-INF\classes into a JAR (_wl_cls_gen.jar) upon deployment.
  35.      * And Weld scans WEB-INF\classes when it find WEB-INF\beans.xml, resulting in chaotic behavior, as _wl_cls_gen.jar
  36.      * does not contain a beans.xml file.
  37.      *
  38.      * @Deployment
  39.     public static WebArchive deploy() {
  40.       return ShrinkWrap.create(WebArchive.class, "foo.war")
  41.             .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
  42.             .addClasses(SimpleBean.class, MyServlet.class)
  43.             .setWebXML("in-container-web.xml")
  44.             .addAsLibraries(
  45.                   DependencyResolvers.use(MavenDependencyResolver.class)
  46.                         .loadMetadataFromPom("pom.xml")
  47.                         .goOffline()
  48.                         .artifact("org.jboss.weld.servlet:weld-servlet")
  49.                         .resolveAs(GenericArchive.class));
  50.     }*/
  51.    
  52.     @Deployment
  53.     public static WebArchive deploy() {
  54.       return ShrinkWrap.create(WebArchive.class, "foo.war")
  55.             .addAsWebInfResource(EmptyAsset.INSTANCE, "classes/META-INF/beans.xml")
  56.             .addClasses(SimpleBean.class, MyServlet.class)
  57.             .setWebXML("in-container-web.xml")
  58.             .addAsLibraries(
  59.                   DependencyResolvers.use(MavenDependencyResolver.class)
  60.                         .loadMetadataFromPom("pom.xml")
  61.                         .goOffline()
  62.                         .artifact("org.jboss.weld.servlet:weld-servlet")
  63.                         .resolveAs(GenericArchive.class));
  64.     }
  65.  
  66.     @Test
  67.     public void test() {
  68.         Assert.assertNotNull(foo);
  69.     }
  70. }
  71.  
  72.  
  73.  
clone this paste RAW Paste Data