Author: kmalhi
Date: Sat Jul 17 04:20:41 2010
New Revision: 965006

URL: http://svn.apache.org/viewvc?rev=965006&view=rev
Log:
The test method can now return AppModule and EjbModule apart from returning the 
usual EjbJar. This is specially useful for tests which involve other modules 
types e.g. PersistenceModule etc

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvokeMethod.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvokeMethod.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvokeMethod.java?rev=965006&r1=965005&r2=965006&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvokeMethod.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/rules/InvokeMethod.java
 Sat Jul 17 04:20:41 2010
@@ -32,7 +32,9 @@ import java.util.Map.Entry;
 import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.assembler.classic.SecurityServiceInfo;
 import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.config.AppModule;
 import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.config.EjbModule;
 import org.apache.openejb.config.ValidationFailedException;
 import org.apache.openejb.config.ValidationFailure;
 import org.apache.openejb.jee.EjbJar;
@@ -67,30 +69,36 @@ public class InvokeMethod extends Statem
         Map<KeyType, List<String>> expectedKeys = validateKeys();
         setUp();
         Object obj = testMethod.invokeExplosively(target);
-        if (obj instanceof EjbJar) {
-            EjbJar ejbJar = (EjbJar) obj;
-            try {
+        try {
+            if (obj instanceof EjbJar) {
+                EjbJar ejbJar = (EjbJar) obj;
                 
assembler.createApplication(config.configureApplication(ejbJar));
-                if (!isEmpty(expectedKeys)) {
-                    fail("A ValidationFailedException should have been 
thrown");
+            } else if (obj instanceof EjbModule) {
+                EjbModule ejbModule = (EjbModule) obj;
+                
assembler.createApplication(config.configureApplication(ejbModule));
+            } else if (obj instanceof AppModule) {
+                AppModule appModule = (AppModule) obj;
+                
assembler.createApplication(config.configureApplication(appModule));
+            }
+            if (!isEmpty(expectedKeys)) {
+                fail("A ValidationFailedException should have been thrown");
+            }
+        } catch (ValidationFailedException vfe) {
+            if (!isEmpty(expectedKeys)) {
+                if (!expectedKeys.get(KeyType.FAILURE).isEmpty()) {
+                    assertFailures(expectedKeys.get(KeyType.FAILURE), vfe);
                 }
-            } catch (ValidationFailedException vfe) {
-                if (!isEmpty(expectedKeys)) {
-                    if (!expectedKeys.get(KeyType.FAILURE).isEmpty()) {
-                        assertFailures(expectedKeys.get(KeyType.FAILURE), vfe);
-                    }
-                    if (!expectedKeys.get(KeyType.WARNING).isEmpty()) {
-                        assertWarnings(expectedKeys.get(KeyType.WARNING), vfe);
-                    }
-                    if (!expectedKeys.get(KeyType.ERROR).isEmpty()) {
-                        assertErrors(expectedKeys.get(KeyType.ERROR), vfe);
-                    }
-                } else {
-                    for (ValidationFailure failure : vfe.getFailures()) {
-                        System.out.println("failure = " + 
failure.getMessageKey());
-                    }
-                    fail("There should be no validation failures");
+                if (!expectedKeys.get(KeyType.WARNING).isEmpty()) {
+                    assertWarnings(expectedKeys.get(KeyType.WARNING), vfe);
+                }
+                if (!expectedKeys.get(KeyType.ERROR).isEmpty()) {
+                    assertErrors(expectedKeys.get(KeyType.ERROR), vfe);
                 }
+            } else {
+                for (ValidationFailure failure : vfe.getFailures()) {
+                    System.out.println("failure = " + failure.getMessageKey());
+                }
+                fail("There should be no validation failures");
             }
         }
         tearDown();
@@ -156,12 +164,14 @@ public class InvokeMethod extends Statem
                     + " . Only keys listed in 
org.apache.openejb.config.rules.Messages.properties are allowed to be used in 
this annotation. ");
         }
     }
+
     private boolean isEmpty(Map<KeyType, List<String>> expectedKeys) {
         boolean empty = true;
         Set<Entry<KeyType, List<String>>> entrySet = expectedKeys.entrySet();
         for (Entry<KeyType, List<String>> entry : entrySet) {
             empty = entry.getValue().size() == 0;
-            if(!empty) return empty;
+            if (!empty)
+                return empty;
         }
         return empty;
     }


Reply via email to