[jboss-svn-commits] JBoss Common SVN: r4325 - 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
Sat Apr 24 10:30:58 EDT 2010
Author: aslak
Date: 2010-04-24 10:30:58 -0400 (Sat, 24 Apr 2010)
New Revision: 4325
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-118 Quick fix to UnsupportedOperationException when adding the TestCase class to a Archive that does not support Classes.
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-04-23 13:58:39 UTC (rev 4324)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGenerator.java 2010-04-24 14:30:58 UTC (rev 4325)
@@ -54,12 +54,23 @@
{
Archive<?> archive = (Archive<?>)deploymentMethod.invoke(null);
// TODO: handle deployment attributes like autoAddPakcage etc..
- if(ClassContainer.class.isInstance(archive))
+ try
{
- ClassContainer<?> classContainer = ClassContainer.class.cast(archive);
- classContainer.addClass(testCase);
+ if(ClassContainer.class.isInstance(archive))
+ {
+ ClassContainer<?> classContainer = ClassContainer.class.cast(archive);
+ classContainer.addClass(testCase);
+ }
+ }
+ catch (UnsupportedOperationException e)
+ {
+ /*
+ * Quick Fix: https://jira.jboss.org/jira/browse/ARQ-118
+ * Keep in mind when rewriting for https://jira.jboss.org/jira/browse/ARQ-94
+ * that a ShrinkWrap archive might not support a Container if even tho the
+ * ContianerBase implements it. Check the Archive Interface..
+ */
}
-
return archive;
}
catch (Exception e)
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-04-23 13:58:39 UTC (rev 4324)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/DeploymentAnnotationArchiveGeneratorTestCase.java 2010-04-24 14:30:58 UTC (rev 4325)
@@ -16,10 +16,15 @@
*/
package org.jboss.arquillian.impl;
+import junit.framework.Assert;
+
import org.jboss.arquillian.api.Deployment;
import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ArchivePath;
+import org.jboss.shrinkwrap.api.ArchivePaths;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.ResourceAdapterArchive;
import org.junit.Test;
@@ -53,8 +58,24 @@
@Test
public void shouldThrowExceptionOnDeploymentOk() throws Exception
{
- new DeploymentAnnotationArchiveGenerator().generateApplicationArchive(DeploymentOK.class);
+ Archive<?> archive = new DeploymentAnnotationArchiveGenerator()
+ .generateApplicationArchive(DeploymentOK.class);
+
+ ArchivePath testPath = ArchivePaths.create(DeploymentOK.class.getName().replaceAll("\\.", "/") + ".class");
+
+ // verify that the test class was added to the archive
+ Assert.assertNotNull(archive.contains(testPath));
}
+
+ @Test
+ public void shouldNotIncludeTheTestClassIfClassesNotSupportedByTheArchive() throws Exception
+ {
+ Archive<?> archive = new DeploymentAnnotationArchiveGenerator()
+ .generateApplicationArchive(DeploymentClassesNotSupported.class);
+
+ // verify that nothing was added to the archive
+ Assert.assertTrue(archive.getContent().isEmpty());
+ }
private static class DeploymentNotPresent {}
@@ -83,5 +104,14 @@
public static JavaArchive test() {
return ShrinkWrap.create("test.jar", JavaArchive.class);
}
- }
+ }
+
+ private static class DeploymentClassesNotSupported
+ {
+ @SuppressWarnings("unused")
+ @Deployment
+ public static ResourceAdapterArchive test() {
+ return ShrinkWrap.create("test.jar", ResourceAdapterArchive.class);
+ }
+ }
}
More information about the jboss-svn-commits
mailing list