[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