[jboss-svn-commits] JBoss Common SVN: r4751 - in arquillian/trunk/impl-base/src: test/java/org/jboss/arquillian/impl and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jul 16 04:59:08 EDT 2010
Author: aslak
Date: 2010-07-16 04:59:08 -0400 (Fri, 16 Jul 2010)
New Revision: 4751
Modified:
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java
arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGeneratorTestCase.java
Log:
ARQ-165 Don't package TestClass as part of the Deployment if @Run(AS_CLIENT) is specified.
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java 2010-07-16 02:27:00 UTC (rev 4750)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java 2010-07-16 08:59:08 UTC (rev 4751)
@@ -20,6 +20,8 @@
import java.lang.reflect.Modifier;
import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.api.Run;
+import org.jboss.arquillian.api.RunModeType;
import org.jboss.arquillian.spi.ApplicationArchiveGenerator;
import org.jboss.arquillian.spi.TestClass;
import org.jboss.shrinkwrap.api.Archive;
@@ -54,9 +56,17 @@
{
Archive<?> archive = (Archive<?>)deploymentMethod.invoke(null);
// TODO: handle deployment attributes like autoAddPakcage etc..
+
+ // TODO: move the RunMode handling to one location
+ RunModeType runMode = RunModeType.IN_CONTAINER;
+ if(testCase.isAnnotationPresent(Run.class))
+ {
+ runMode = testCase.getAnnotation(Run.class).value();
+ }
+
try
{
- if(ClassContainer.class.isInstance(archive))
+ if(ClassContainer.class.isInstance(archive) && runMode == RunModeType.IN_CONTAINER)
{
ClassContainer<?> classContainer = ClassContainer.class.cast(archive);
classContainer.addClass(testCase.getJavaClass());
Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGeneratorTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGeneratorTestCase.java 2010-07-16 02:27:00 UTC (rev 4750)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGeneratorTestCase.java 2010-07-16 08:59:08 UTC (rev 4751)
@@ -19,6 +19,8 @@
import junit.framework.Assert;
import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.api.Run;
+import org.jboss.arquillian.api.RunModeType;
import org.jboss.arquillian.spi.TestClass;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ArchivePath;
@@ -40,27 +42,31 @@
@Test(expected = IllegalArgumentException.class)
public void shouldThrowExceptionOnDeploymentNotPresent() throws Exception
{
- new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(new TestClass(DeploymentNotPresent.class));
+ new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentNotPresent.class));
}
@Test(expected = IllegalArgumentException.class)
public void shouldThrowExceptionOnDeploymentNotStatic() throws Exception
{
- new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(new TestClass(DeploymentNotStatic.class));
+ new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentNotStatic.class));
}
@Test(expected = IllegalArgumentException.class)
public void shouldThrowExceptionOnDeploymentWrongReturnType() throws Exception
{
- new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(new TestClass(DeploymentWrongReturnType.class));
+ new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentWrongReturnType.class));
}
@Test
- public void shouldThrowExceptionOnDeploymentOk() throws Exception
+ public void shouldIncludeTestClassInDeployment() throws Exception
{
- Archive<?> archive = new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(new TestClass(DeploymentOK.class));
+ Archive<?> archive = new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentOK.class));
- ArchivePath testPath = ArchivePaths.create(DeploymentOK.class.getName().replaceAll("\\.", "/") + ".class");
+ ArchivePath testPath = createArchivePath(DeploymentOK.class);
// verify that the test class was added to the archive
Assert.assertNotNull(archive.contains(testPath));
@@ -69,12 +75,30 @@
@Test
public void shouldNotIncludeTheTestClassIfClassesNotSupportedByTheArchive() throws Exception
{
- Archive<?> archive = new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(new TestClass(DeploymentClassesNotSupported.class));
+ Archive<?> archive = new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentClassesNotSupported.class));
// verify that nothing was added to the archive
Assert.assertTrue(archive.getContent().isEmpty());
}
+ @Test
+ public void shouldNotIncludeTheTestClassIfRunAsClient() throws Exception
+ {
+ Archive<?> archive = new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(
+ new TestClass(DeploymentRunAsClient.class));
+
+ ArchivePath testPath = createArchivePath(DeploymentRunAsClient.class);
+
+ // verify that the test class was not added
+ Assert.assertFalse(archive.contains(testPath));
+ }
+
+ private ArchivePath createArchivePath(Class<?> clazz)
+ {
+ return ArchivePaths.create(clazz.getName().replaceAll("\\.", "/") + ".class");
+ }
+
private static class DeploymentNotPresent
{
}
@@ -85,7 +109,7 @@
@Deployment
public Archive<?> test()
{
- return ShrinkWrap.create(JavaArchive.class, "test.jar");
+ return ShrinkWrap.create(JavaArchive.class);
}
}
@@ -95,7 +119,7 @@
@Deployment
public Object test()
{
- return ShrinkWrap.create(JavaArchive.class, "test.jar");
+ return ShrinkWrap.create(JavaArchive.class);
}
}
@@ -105,7 +129,7 @@
@Deployment
public static JavaArchive test()
{
- return ShrinkWrap.create(JavaArchive.class, "test.jar");
+ return ShrinkWrap.create(JavaArchive.class);
}
}
@@ -115,7 +139,18 @@
@Deployment
public static ResourceAdapterArchive test()
{
- return ShrinkWrap.create(ResourceAdapterArchive.class, "test.jar");
+ return ShrinkWrap.create(ResourceAdapterArchive.class);
}
}
+
+ @Run(RunModeType.AS_CLIENT)
+ private static class DeploymentRunAsClient
+ {
+ @SuppressWarnings("unused")
+ @Deployment
+ public static JavaArchive test()
+ {
+ return ShrinkWrap.create(JavaArchive.class);
+ }
+ }
}
More information about the jboss-svn-commits
mailing list