You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2011/10/08 21:29:26 UTC

svn commit: r1180471 - in /myfaces/extensions/cdi/trunk/core/impl/src/test: java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ resources/META-INF/services/

Author: gpetracek
Date: Sat Oct  8 19:29:26 2011
New Revision: 1180471

URL: http://svn.apache.org/viewvc?rev=1180471&view=rev
Log:
EXTCDI-231 unit test for custom property-file resolver

Added:
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java
Modified:
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java?rev=1180471&r1=1180470&r2=1180471&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/ConfigTest.java Sat Oct  8 19:29:26 2011
@@ -63,7 +63,7 @@ public class ConfigTest
                 super.reset();
             }
         }.reset();
-        System.setProperty("org.apache.myfaces.extensions.cdi.ProjectStage", "Production");
+        System.getProperties().remove("org.apache.myfaces.extensions.cdi.ProjectStage");
         System.setProperty("org.apache.myfaces.extensions.cdi.CustomValue", "");
         System.setProperty("ext.test.CustomValue", "");
     }
@@ -176,6 +176,27 @@ public class ConfigTest
         assertEquals(isCustomValue(), "true");
     }
 
+    @Test
+    public void testProjectStageSetPropertyFileAndCustomResolver() throws Exception
+    {
+        try
+        {
+            assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.Production);
+
+            reset();
+
+            PropertyFileResolverForProjectStage.activate();
+            assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.IntegrationTest);
+        }
+        finally
+        {
+            PropertyFileResolverForProjectStage.deactivate();
+        }
+
+        reset();
+        assertEquals(ProjectStageProducer.getInstance().getProjectStage(), ProjectStage.Production);
+    }
+
     private String isCustomValue()
     {
         return CodiUtils.lookupConfigFromEnvironment(null, String.class, "true");

Added: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java?rev=1180471&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/config/PropertyFileResolverForProjectStage.java Sat Oct  8 19:29:26 2011
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.cdi.core.test.impl.config;
+
+import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;
+import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueDescriptor;
+import org.apache.myfaces.extensions.cdi.core.api.util.ConfigUtils;
+import org.apache.myfaces.extensions.cdi.core.impl.config.AbstractConfiguredValueResolver;
+
+import javax.enterprise.inject.Typed;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ */
+@Typed()
+@InvocationOrder(600)
+public class PropertyFileResolverForProjectStage extends AbstractConfiguredValueResolver
+{
+    //ONLY needed for our unit tests to avoid that other tests are influenced
+    private static ThreadLocal<Boolean> active = new ThreadLocal<Boolean>();
+
+    public static void activate()
+    {
+        active.set(Boolean.TRUE);
+    }
+
+    public static void deactivate()
+    {
+        active.set(null);
+        active.remove();
+    }
+
+    @Override
+    public boolean isActivated()
+    {
+        return Boolean.TRUE.equals(active.get());
+    }
+
+    public <K, T> List<T> resolveInstances(ConfiguredValueDescriptor<K, T> descriptor)
+    {
+        String key = "" + descriptor.getKey();
+
+        if(!"ProjectStage".endsWith(key))
+        {
+            return Collections.emptyList();
+        }
+
+        for(String configuredValue : ConfigUtils.getConfiguredValue(key))
+        {
+            add(configuredValue);
+        }
+
+        return getConfiguredValues(descriptor.getTargetType());
+    }
+}

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java?rev=1180471&r1=1180470&r2=1180471&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java Sat Oct  8 19:29:26 2011
@@ -30,6 +30,7 @@ import org.apache.myfaces.extensions.cdi
 import org.apache.myfaces.extensions.cdi.core.impl.config.SystemPropertyResolver;
 import org.apache.myfaces.extensions.cdi.core.impl.provider.SimpleServiceProvider;
 import org.apache.myfaces.extensions.cdi.core.impl.provider.SimpleServiceProviderContext;
+import org.apache.myfaces.extensions.cdi.core.test.impl.config.PropertyFileResolverForProjectStage;
 import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestInterface;
 import org.testng.Assert;
@@ -142,13 +143,14 @@ public class ServiceProviderTest
 
         Iterator<ConfiguredValueResolver> iterator = extensionList.iterator();
 
-        Assert.assertEquals(extensionList.size(), 5);
+        Assert.assertEquals(extensionList.size(), 6);
 
         Assert.assertTrue(iterator.next() instanceof SystemPropertyResolver);
         Assert.assertTrue(iterator.next() instanceof TestConfiguredValueResolver);
         Assert.assertTrue(iterator.next() instanceof ServiceLoaderResolver);
         Assert.assertTrue(iterator.next() instanceof LocalJndiResolver);
         Assert.assertTrue(iterator.next() instanceof PropertyFileResolver);
+        Assert.assertTrue(iterator.next() instanceof PropertyFileResolverForProjectStage);
     }
 
     @Test

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver?rev=1180471&r1=1180470&r2=1180471&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver Sat Oct  8 19:29:26 2011
@@ -17,4 +17,5 @@
 # under the License.
 #####################################################################################
 
-org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver
\ No newline at end of file
+org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver
+org.apache.myfaces.extensions.cdi.core.test.impl.config.PropertyFileResolverForProjectStage
\ No newline at end of file