You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2010/01/12 17:51:45 UTC

svn commit: r898416 - /openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java

Author: struberg
Date: Tue Jan 12 16:51:45 2010
New Revision: 898416

URL: http://svn.apache.org/viewvc?rev=898416&view=rev
Log:
OWB-226 add a way to add CDI Extensions for a unit test

Modified:
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java?rev=898416&r1=898415&r2=898416&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java Tue Jan 12 16:51:45 2010
@@ -14,18 +14,23 @@
 package org.apache.webbeans.newtests;
 
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.Extension;
 
 import org.apache.webbeans.lifecycle.test.OpenWebBeansTestLifeCycle;
 import org.apache.webbeans.lifecycle.test.OpenWebBeansTestMetaDataDiscoveryService;
+import org.apache.webbeans.portable.events.ExtensionLoader;
 
 
 
 public abstract class AbstractUnitTest
 {
     private OpenWebBeansTestLifeCycle testLifecycle;
+    private List<Extension>  extensions = new ArrayList<Extension>();
 
     protected AbstractUnitTest()
     {
@@ -37,6 +42,11 @@
         //Creates a new container
         testLifecycle = new OpenWebBeansTestLifeCycle();
         
+        for (Extension ext : extensions)
+        {
+            ExtensionLoader.getInstance().addExtension(ext);
+        }
+        
         //Deploy bean classes
         OpenWebBeansTestMetaDataDiscoveryService discoveyService = (OpenWebBeansTestMetaDataDiscoveryService)testLifecycle.getDiscoveryService();
         discoveyService.deployClasses(beanClasses);
@@ -91,4 +101,14 @@
         return loader.getResource(prefix.toString());
     }
     
+    /**
+     * Add a CDI Extension which should get used in the test case.
+     * Use this function instead of defining test Extensions via the usual
+     * META-INF/services/javax.enterprise.inject.spi.Extension file!
+     * 
+     * @param ext the {@link Extension} which should get loaded
+     */
+    public void addExtension(Extension ext) {
+        this.extensions.add(ext);
+    }
 }