[jboss-svn-commits] JBoss Common SVN: r3791 - arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 25 08:55:28 EST 2009


Author: aslak
Date: 2009-11-25 08:55:28 -0500 (Wed, 25 Nov 2009)
New Revision: 3791

Modified:
   arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
Log:
ARQ-23 ARQ-25 Added support for the new DeployableArchive communication spi and DeploymentAppenders for dynamic dependency management

Modified: arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
===================================================================
--- arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java	2009-11-25 13:53:45 UTC (rev 3790)
+++ arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java	2009-11-25 13:55:28 UTC (rev 3791)
@@ -22,12 +22,10 @@
 
 import org.jboss.arquillian.impl.DeployableTest;
 import org.jboss.arquillian.impl.DeployableTestBuilder;
+import org.jboss.arquillian.spi.ContainerMethodExecutor;
 import org.jboss.arquillian.spi.TestMethodExecutor;
+import org.jboss.arquillian.spi.TestResult;
 import org.jboss.shrinkwrap.api.Archive;
-import org.jboss.shrinkwrap.api.Archives;
-import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-import org.jboss.shrinkwrap.api.spec.WebArchive;
 import org.junit.runners.BlockJUnit4ClassRunner;
 import org.junit.runners.model.FrameworkMethod;
 import org.junit.runners.model.InitializationError;
@@ -45,6 +43,7 @@
    private static DeployableTest deployableTest;
    
    private Archive<?> archive = null;
+   private ContainerMethodExecutor methodExecutor;
    
    public Arquillian(Class<?> klass) throws InitializationError
    {
@@ -77,7 +76,6 @@
       }
    }
 
-
    @Override
    // TODO: exclude @Integration test classes
    protected List<FrameworkMethod> computeTestMethods()
@@ -97,37 +95,7 @@
             archive = deployableTest.generateArchive(
                   Arquillian.this.getTestClass().getJavaClass());
 
-            if(WebArchive.class.isInstance(archive)) {
-               WebArchive webArchive = WebArchive.class.cast(archive);
-               webArchive.addPackages(
-                     true,
-                     Package.getPackage("org.junit"),
-                     Package.getPackage("org.jboss.arquillian.api"), 
-                     Package.getPackage("org.jboss.arquillian.impl"),
-                     Package.getPackage("org.jboss.arquillian.junit"));
-               webArchive.setWebXML("org/jboss/arquillian/junit/test-web.xml");
-            }
-            if(JavaArchive.class.isInstance(archive)) {
-               EnterpriseArchive ear = Archives.create("test.ear", EnterpriseArchive.class);
-
-               WebArchive war = Archives.create("test.war", WebArchive.class)
-                     .addPackages(
-                        true,
-                        Package.getPackage("org.junit"),
-                        Package.getPackage("org.jboss.arquillian.api"),
-                        Package.getPackage("org.jboss.arquillian.impl"),
-                        Package.getPackage("org.jboss.arquillian.junit"))
-                     .addClass(Arquillian.this.getTestClass().getJavaClass());
-               
-               war.setWebXML("org/jboss/arquillian/junit/test-web.xml");
-               
-               ear.addModule(war)
-                  .addModule(archive);
-             
-               archive = ear;
-            }
-
-            deployableTest.getDeployer().deploy(archive);
+            methodExecutor = deployableTest.getDeployer().deploy(archive);
             originalStatement.evaluate();
          }
       };
@@ -156,7 +124,7 @@
          @Override
          public void evaluate() throws Throwable
          {
-            deployableTest.run(new TestMethodExecutor()
+            TestResult result = methodExecutor.invoke(new TestMethodExecutor()
             {
                public void invoke() throws Throwable
                {
@@ -173,6 +141,10 @@
                   return test;
                }
             });
+            if(result.getThrowable() != null)
+            {
+               throw result.getThrowable();
+            }
          }
       };
    }



More information about the jboss-svn-commits mailing list