[jboss-svn-commits] JBoss Common SVN: r4350 - in arquillian/trunk: impl-base/src/main/java/org/jboss/arquillian/impl/handler and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 5 07:21:43 EDT 2010


Author: aslak
Date: 2010-05-05 07:21:42 -0400 (Wed, 05 May 2010)
New Revision: 4350

Modified:
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/EventTestRunnerAdaptor.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerCreator.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerDeployer.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerRestarter.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStarter.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStopper.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerTestExecuter.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerUndeployer.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ExecutionTimer.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestCaseEnricher.java
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestEventExecuter.java
   arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ContainerTestExecuterTestCase.java
   arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/TestEventExecuterTestCase.java
   arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestResult.java
   arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/event/suite/Test.java
Log:
ARQ-130 Moved TestResult from the Test event to the TestContext. The result can now be read by other handlers.


Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/EventTestRunnerAdaptor.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/EventTestRunnerAdaptor.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/EventTestRunnerAdaptor.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -113,7 +113,8 @@
       Validate.notNull(testMethodExecutor, "TestMethodExecutor must be specified");
       
       Test test = new Test(testMethodExecutor);
-      contextLifecycle.createRestoreTestContext(testMethodExecutor.getInstance()).fire(test);
-      return test.getTestResult();
+      TestContext context = contextLifecycle.createRestoreTestContext(testMethodExecutor.getInstance());
+      context.fire(test);
+      return context.get(TestResult.class);
    }
 }

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveGenerator.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -41,7 +41,9 @@
  */
 public class ArchiveGenerator implements EventHandler<ClassEvent>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, ClassEvent event) throws Exception
    {
       DeploymentGenerator generator = context.get(DeploymentGenerator.class);

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerCreator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerCreator.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerCreator.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -27,7 +27,10 @@
 /**
  * A Handler for creating and setting up a {@link DeployableContainer} for use. <br/>
  * <br/>
- * 
+ *  <b>Fires:</b><br/>
+ *   {@link BeforeSetup}<br/>
+ *   {@link AfterSetup}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link Configuration}<br/>
  *  <br/>
@@ -42,7 +45,9 @@
  */
 public class ContainerCreator implements EventHandler<SuiteEvent>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, SuiteEvent event) throws Exception 
    {
       DeployableContainer container = context.getServiceLoader().onlyOne(DeployableContainer.class);

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerDeployer.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerDeployer.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerDeployer.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -29,7 +29,10 @@
 /**
  * A Handler for creating and deploying the generated {@link Archive} to the container. <br/>
  * <br/>
- * 
+ *  <b>Fires:</b><br/>
+ *   {@link BeforeDeploy}<br/>
+ *   {@link AfterDeploy}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
  *   {@link Archive}<br/>

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerRestarter.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerRestarter.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerRestarter.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -18,13 +18,22 @@
 
 import org.jboss.arquillian.spi.Context;
 import org.jboss.arquillian.spi.DeployableContainer;
+import org.jboss.arquillian.spi.event.container.AfterStart;
+import org.jboss.arquillian.spi.event.container.AfterStop;
+import org.jboss.arquillian.spi.event.container.BeforeStart;
+import org.jboss.arquillian.spi.event.container.BeforeStop;
 import org.jboss.arquillian.spi.event.suite.EventHandler;
 import org.jboss.arquillian.spi.event.suite.SuiteEvent;
 
 /**
  * A Handler for restarting the {@link DeployableContainer} for every X deployments.<br/>
  * <br/>
- *
+ *  <b>Fires:</b><br/>
+ *   {@link BeforeStop}<br/>
+ *   {@link AfterStop}<br/>
+ *   {@link BeforeStart}<br/>
+ *   {@link AfterStart}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
  *   
@@ -38,7 +47,9 @@
    
    private int deploymentCount = 0;
    
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, SuiteEvent event) throws Exception
    {
       if(deploymentCount == getMaxDeployments(context) -1)

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStarter.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStarter.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStarter.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -27,7 +27,10 @@
 /**
  * A Handler for starting the {@link DeployableContainer}.<br/>
  * <br/>
- *
+  *  <b>Fires:</b><br/>
+ *   {@link BeforeStart}<br/>
+ *   {@link AfterStart}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
  *   
@@ -37,7 +40,9 @@
  */
 public class ContainerStarter implements EventHandler<SuiteEvent>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, SuiteEvent event) throws Exception
    {
       DeployableContainer container = context.get(DeployableContainer.class);

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStopper.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStopper.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerStopper.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -27,7 +27,10 @@
 /**
  * A Handler for stopping the {@link DeployableContainer}.<br/>
  * <br/>
- *
+ *  <b>Fires:</b><br/>
+ *   {@link BeforeStop}<br/>
+ *   {@link AfterStop}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
  *   
@@ -37,7 +40,9 @@
  */
 public class ContainerStopper implements EventHandler<SuiteEvent>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, SuiteEvent event) throws Exception
    {
       DeployableContainer container = context.get(DeployableContainer.class);

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerTestExecuter.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerTestExecuter.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerTestExecuter.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -27,9 +27,11 @@
 /**
  * A Handler for executing the remote Test Method.<br/>
  * <br/>
- *
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
+ *  <br/>
+ *  <b>Exports:</b><br/>
+ *   {@link TestResult}<br/>
  *
  * @author <a href="mailto:aknutsen at redhat.com">Aslak Knutsen</a>
  * @version $Revision: $
@@ -37,15 +39,15 @@
  */
 public class ContainerTestExecuter implements EventHandler<Test>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, Test event) throws Exception
    {
       ContainerMethodExecutor executor = context.get(ContainerMethodExecutor.class);
       Validate.stateNotNull(executor, "No " + ContainerMethodExecutor.class.getName() + " found in context");
       
       TestResult result = executor.invoke(event.getTestMethodExecutor());
-      
-      // TODO: move to context ? 
-      event.setTestResult(result);
+      context.add(TestResult.class, result);
    }
 }

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerUndeployer.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerUndeployer.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ContainerUndeployer.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -19,7 +19,9 @@
 import org.jboss.arquillian.impl.Validate;
 import org.jboss.arquillian.spi.Context;
 import org.jboss.arquillian.spi.DeployableContainer;
+import org.jboss.arquillian.spi.event.container.AfterDeploy;
 import org.jboss.arquillian.spi.event.container.AfterUnDeploy;
+import org.jboss.arquillian.spi.event.container.BeforeDeploy;
 import org.jboss.arquillian.spi.event.container.BeforeUnDeploy;
 import org.jboss.arquillian.spi.event.suite.ClassEvent;
 import org.jboss.arquillian.spi.event.suite.EventHandler;
@@ -28,7 +30,10 @@
 /**
  * A Handler for undeploying the generated {@link Archive} from the container. <br/>
  * <br/>
- * 
+  *  <b>Fires:</b><br/>
+ *   {@link BeforeDeploy}<br/>
+ *   {@link AfterDeploy}<br/>
+ * <br/>
  *  <b>Imports:</b><br/>
  *   {@link DeployableContainer}<br/>
  *   {@link Archive}<br/>
@@ -41,7 +46,9 @@
  */
 public class ContainerUndeployer implements EventHandler<ClassEvent>
 {
-   
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, ClassEvent event) throws Exception
    {
       DeployableContainer container = context.get(DeployableContainer.class);

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ExecutionTimer.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ExecutionTimer.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ExecutionTimer.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -33,6 +33,9 @@
    private long start = System.currentTimeMillis();
    private long previous = System.currentTimeMillis();
    
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
+    */
    public void callback(Context context, SuiteEvent event) throws Exception 
    {
       System.out.println(DeployableTestBuilder.getProfile() + "-" + event.getClass().getName() + " " + (previous - start) + " ms");

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestCaseEnricher.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestCaseEnricher.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestCaseEnricher.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -31,7 +31,6 @@
  */
 public class TestCaseEnricher implements EventHandler<TestEvent>
 {
-   
    /* (non-Javadoc)
     * @see org.jboss.arquillian.impl.event.EventHandler#callback(org.jboss.arquillian.impl.context.Context, java.lang.Object)
     */

Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestEventExecuter.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestEventExecuter.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/TestEventExecuter.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -23,29 +23,32 @@
 import org.jboss.arquillian.spi.event.suite.Test;
 
 /**
- * A Handler for executing the Test Method.
+ * A Handler for executing the Test Method.<br/>
+ *  <br/>
+ *  <b>Exports:</b><br/>
+ *   {@link TestResult}<br/>
  *
  * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
  * @version $Revision: $
  */
 public class TestEventExecuter implements EventHandler<Test>
 {
-   
-   /**
-    * @param context
-    * @param event
-    * @throws Exception
+   /* (non-Javadoc)
+    * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
     */
    public void callback(Context context, Test event) throws Exception 
    {
+      TestResult result = new TestResult();
       try 
       {
          event.getTestMethodExecutor().invoke();
-         event.setTestResult(new TestResult(Status.PASSED));
+         result.setStatus(Status.PASSED);
       } 
       catch (Throwable e) 
       {
-         event.setTestResult(new TestResult(Status.FAILED, e));
+         result.setStatus(Status.FAILED);
+         result.setThrowable(e);
       }
+      context.add(TestResult.class, result);
    }
 }

Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ContainerTestExecuterTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ContainerTestExecuterTestCase.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ContainerTestExecuterTestCase.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -102,7 +102,7 @@
       Assert.assertEquals(
             "Should set result on event",
             result,
-            event.getTestResult());
+            context.get(TestResult.class));
    }
    
    private Method getTestMethod(String name) throws Exception

Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/TestEventExecuterTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/TestEventExecuterTestCase.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/TestEventExecuterTestCase.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -62,18 +62,19 @@
       TestEventExecuter handler = new TestEventExecuter();
       handler.callback(context, event);
 
+      TestResult result = context.get(TestResult.class);
       Assert.assertNotNull(
             "Should have set result",
-            event.getTestResult());
+            result);
 
       Assert.assertEquals(
             "Should have passed test",
             TestResult.Status.PASSED,
-            event.getTestResult().getStatus());
+            result.getStatus());
 
       Assert.assertNull(
             "Should not have set cause",
-            event.getTestResult().getThrowable());
+            result.getThrowable());
    }
 
    @Test
@@ -92,19 +93,21 @@
       TestEventExecuter handler = new TestEventExecuter();
       handler.callback(context, event);
 
+      TestResult result = context.get(TestResult.class);
+      
       Assert.assertNotNull(
             "Should have set result",
-            event.getTestResult());
+            result);
 
       Assert.assertEquals(
             "Should have failed test",
             TestResult.Status.FAILED,
-            event.getTestResult().getStatus());
+            result.getStatus());
 
       Assert.assertEquals(
             "Should have set failed cause",
             exception,
-            event.getTestResult().getThrowable());
+            result.getThrowable());
    }
 
    private Method getTestMethod(String name) throws Exception

Modified: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestResult.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestResult.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestResult.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -23,11 +23,13 @@
  * server
  * 
  * @author Pete Muir
+ * @author <a href="mailto:aknutsen at redhat.com">Aslak Knutsen</a>
  *
  */
-public interface TestResult extends Serializable
+public class TestResult implements Serializable
 {
-   
+   private static final long serialVersionUID = 1L;
+
    /**
     * The test status
     * @author Pete Muir
@@ -48,16 +50,63 @@
        */
       SKIPPED;
    }
+
+   private Status status;
+   private Throwable throwable;
+
+   /**
+    * Create a empty result. 
+    */
+   public TestResult()
+   {
+   }
    
    /**
+    * Create a new TestResult.
+    * 
+    * @param status The result status.
+    */
+   public TestResult(Status status)
+   {
+      this(status, null);
+   }
+   
+   /**
+    * Create a new TestResult.
+    * 
+    * @param status The result status.
+    * @param throwable thrown exception if any
+    */
+   public TestResult(Status status, Throwable throwable)
+   {
+      this.status = status;
+      this.throwable = throwable;
+   }
+
+   /**
     * Get the status of this test
     */
-   public Status getStatus();
+   public Status getStatus() 
+   {
+      return status;
+   }
+
+   public void setStatus(Status status)
+   {
+      this.status = status;
+   }
    
    /**
     * If the test failed, the exception that was thrown. It does not need to be
     * the root cause.
     */
-   public Throwable getThrowable();
+   public Throwable getThrowable() 
+   {
+      return throwable;
+   }
    
+   public void setThrowable(Throwable throwable)
+   {
+      this.throwable = throwable;
+   }
 }
\ No newline at end of file

Modified: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/event/suite/Test.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/event/suite/Test.java	2010-05-05 10:56:06 UTC (rev 4349)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/event/suite/Test.java	2010-05-05 11:21:42 UTC (rev 4350)
@@ -17,7 +17,6 @@
 package org.jboss.arquillian.spi.event.suite;
 
 import org.jboss.arquillian.spi.TestMethodExecutor;
-import org.jboss.arquillian.spi.TestResult;
 
 /**
  * Event fired to execute the Test method
@@ -28,7 +27,6 @@
 public class Test extends TestEvent
 {
    private TestMethodExecutor testMethodExecutor;
-   private TestResult testResult;
    
    /**
     * @param testMethodExecutor The executor responsible for executing the test method
@@ -47,14 +45,4 @@
    {
       return testMethodExecutor;
    }
-   
-   public TestResult getTestResult()
-   {
-      return testResult;
-   }
-   
-   public void setTestResult(TestResult testResult)
-   {
-      this.testResult = testResult;
-   }
 }



More information about the jboss-svn-commits mailing list