[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