Test building and initializing programatically without a
CustomConfigurationFactory.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/71bc7c24
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/71bc7c24
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/71bc7c24

Branch: refs/heads/master
Commit: 71bc7c245810e3549123cf9aedca667f28bf2c34
Parents: 5b38cca
Author: ggregory <[email protected]>
Authored: Tue Sep 1 15:25:35 2015 -0700
Committer: ggregory <[email protected]>
Committed: Tue Sep 1 15:25:35 2015 -0700

----------------------------------------------------------------------
 .../builder/ConfigurationAssemblerTest.java     | 14 +++++++++
 .../builder/CustomConfigurationFactory.java     | 30 +++++++++++---------
 2 files changed, 31 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/71bc7c24/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java
index 5b6993e..f938824 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationAssemblerTest.java
@@ -31,7 +31,11 @@ import org.apache.logging.log4j.core.LifeCycle;
 import org.apache.logging.log4j.core.LoggerContext;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.config.LoggerConfig;
+import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
+import 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
+import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
 import org.apache.logging.log4j.core.filter.ThresholdFilter;
 import org.junit.Test;
 
@@ -41,6 +45,15 @@ import org.junit.Test;
 public class ConfigurationAssemblerTest {
 
     @Test
+    public void testBuildConfiguration() throws Exception {
+        final ConfigurationBuilder<BuiltConfiguration> builder = 
ConfigurationBuilderFactory.newConfigurationBuilder();
+        CustomConfigurationFactory.addTestFixtures("config name", builder);
+        Configuration configuration = builder.build();
+        Configurator.initialize(configuration);
+        validate(configuration);
+    }
+
+    @Test
     public void testCustomConfigurationFactory() throws Exception {
         try {
             
System.setProperty(ConfigurationFactory.CONFIGURATION_FACTORY_PROPERTY,
@@ -53,6 +66,7 @@ public class ConfigurationAssemblerTest {
     }
 
     private void validate(Configuration config) {
+        assertNotNull(config);
         assertNotNull(config.getName());
         assertFalse(config.getName().isEmpty());
         assertNotNull("No configuration created", config);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/71bc7c24/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java
index 4cd288b..5656e5c 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/CustomConfigurationFactory.java
@@ -36,19 +36,7 @@ import java.net.URI;
 //@Order(50)
 public class CustomConfigurationFactory extends ConfigurationFactory {
 
-    @Override
-    protected String[] getSupportedTypes() {
-        return new String[] {"*"};
-    }
-
-    @Override
-    public Configuration getConfiguration(ConfigurationSource source) {
-        return getConfiguration(source.toString(), null);
-    }
-
-    @Override
-    public Configuration getConfiguration(final String name, final URI 
configLocation) {
-        ConfigurationBuilder<BuiltConfiguration> builder = 
newConfigurationBuilder();
+    static Configuration addTestFixtures(final String name, 
ConfigurationBuilder<BuiltConfiguration> builder) {
         builder.setConfigurationName(name);
         builder.setStatusLevel(Level.ERROR);
         builder.add(builder.newFilter("ThresholdFilter", Filter.Result.ACCEPT, 
Filter.Result.NEUTRAL)
@@ -65,4 +53,20 @@ public class CustomConfigurationFactory extends 
ConfigurationFactory {
         
builder.add(builder.newRootLogger(Level.ERROR).add(builder.newAppenderRef("Stdout")));
         return builder.build();
     }
+
+    @Override
+    public Configuration getConfiguration(ConfigurationSource source) {
+        return getConfiguration(source.toString(), null);
+    }
+
+    @Override
+    public Configuration getConfiguration(final String name, final URI 
configLocation) {
+        ConfigurationBuilder<BuiltConfiguration> builder = 
newConfigurationBuilder();
+        return addTestFixtures(name, builder);
+    }
+
+    @Override
+    protected String[] getSupportedTypes() {
+        return new String[] {"*"};
+    }
 }

Reply via email to