Author: mattsicker
Date: Thu Mar 27 03:58:27 2014
New Revision: 1582176

URL: http://svn.apache.org/r1582176
Log:
Update to use InitialLoggerContext rule.

Modified:
    
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JSONCompleteFileAppenderTest.java

Modified: 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JSONCompleteFileAppenderTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JSONCompleteFileAppenderTest.java?rev=1582176&r1=1582175&r2=1582176&view=diff
==============================================================================
--- 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JSONCompleteFileAppenderTest.java
 (original)
+++ 
logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/JSONCompleteFileAppenderTest.java
 Thu Mar 27 03:58:27 2014
@@ -23,14 +23,10 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.LifeCycle;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
-import org.junit.BeforeClass;
+import org.apache.logging.log4j.junit.CleanFiles;
+import org.apache.logging.log4j.junit.InitialLoggerContext;
+import org.junit.Rule;
 import org.junit.Test;
 
 /**
@@ -38,71 +34,57 @@ import org.junit.Test;
  */
 public class JSONCompleteFileAppenderTest {
 
-    @BeforeClass
-    public static void beforeClass() {
-        System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, 
"JSONCompleteFileAppenderTest.xml");
-    }
+    private final File logFile = new File("target", 
"JSONCompleteFileAppenderTest.log");
+
+    @Rule
+    public InitialLoggerContext init = new 
InitialLoggerContext("JSONCompleteFileAppenderTest.xml");
+
+    @Rule
+    public CleanFiles files = new CleanFiles(logFile);
 
     @Test
     public void testFlushAtEndOfBatch() throws Exception {
-        final File file = new File("target", 
"JSONCompleteFileAppenderTest.log");
-        // System.out.println(f.getAbsolutePath());
-        file.delete();
-        final Logger log = LogManager.getLogger("com.foo.Bar");
+        final Logger log = this.init.getLogger("com.foo.Bar");
         final String logMsg = "Message flushed with immediate flush=true";
         log.info(logMsg);
         log.error(logMsg, new IllegalArgumentException("badarg"));
-        ((LifeCycle) LogManager.getContext()).stop(); // stops async thread
+        this.init.getContext().stop(); // stops async thread
+        String line1;
+        String line2;
+        String line3;
+        String line4;
+        String line5;
+        final BufferedReader reader = new BufferedReader(new 
FileReader(this.logFile));
         try {
-            final BufferedReader reader = new BufferedReader(new 
FileReader(file));
-            String line1;
-            String line2;
-            String line3;
-            String line4;
-            String line5;
-            try {
-                line1 = reader.readLine();
-                line2 = reader.readLine();
-                line3 = reader.readLine();
-                line4 = reader.readLine();
-                line5 = reader.readLine();
-            } finally {
-                reader.close();
-            }
-            assertNotNull("line1", line1);
-            final String msg1 = "[";
-            assertTrue("line1 incorrect: [" + line1 + "], does not contain: [" 
+ msg1 + "]", line1.equals(msg1));
-
-            assertNotNull("line2", line2);
-            final String msg2 = "  {";
-            assertTrue("line2 incorrect: [" + line2 + "], does not contain: [" 
+ msg2 + "]", line2.equals(msg2));
-
-            assertNotNull("line3", line3);
-            final String msg3 = "    \"logger\":\"com.foo.Bar\",";
-            assertTrue("line3 incorrect: [" + line3 + "], does not contain: [" 
+ msg3 + "]", line3.contains(msg3));
-
-            assertNotNull("line4", line4);
-            final String msg4 = "\"timestamp\":";
-            assertTrue("line4 incorrect: [" + line4 + "], does not contain: [" 
+ msg4 + "]", line4.contains(msg4));
-
-            assertNotNull("line5", line5);
-            final String msg5 = "    \"level\":\"INFO\",";
-            assertTrue("line5 incorrect: [" + line5 + "], does not contain: [" 
+ msg5 + "]", line5.contains(msg5));
-
-            final String location = "testFlushAtEndOfBatch";
-            assertTrue("no location", !line1.contains(location));
-
-            if (false) {
-                // now check that we can parse the array
-                ScriptEngineManager manager = new ScriptEngineManager();
-                ScriptEngine engine = manager.getEngineByName("JavaScript");
-                assertNotNull(engine);
-                // stopping the logger context does not seem to flush the 
file...
-                Object eval = engine.eval(new FileReader(file));
-                assertNotNull(eval);
-            }
+            line1 = reader.readLine();
+            line2 = reader.readLine();
+            line3 = reader.readLine();
+            line4 = reader.readLine();
+            line5 = reader.readLine();
         } finally {
-            file.delete();
+            reader.close();
         }
+        assertNotNull("line1", line1);
+        final String msg1 = "[";
+        assertTrue("line1 incorrect: [" + line1 + "], does not contain: [" + 
msg1 + "]", line1.equals(msg1));
+
+        assertNotNull("line2", line2);
+        final String msg2 = "  {";
+        assertTrue("line2 incorrect: [" + line2 + "], does not contain: [" + 
msg2 + "]", line2.equals(msg2));
+
+        assertNotNull("line3", line3);
+        final String msg3 = "    \"logger\":\"com.foo.Bar\",";
+        assertTrue("line3 incorrect: [" + line3 + "], does not contain: [" + 
msg3 + "]", line3.contains(msg3));
+
+        assertNotNull("line4", line4);
+        final String msg4 = "\"timestamp\":";
+        assertTrue("line4 incorrect: [" + line4 + "], does not contain: [" + 
msg4 + "]", line4.contains(msg4));
+
+        assertNotNull("line5", line5);
+        final String msg5 = "    \"level\":\"INFO\",";
+        assertTrue("line5 incorrect: [" + line5 + "], does not contain: [" + 
msg5 + "]", line5.contains(msg5));
+
+        final String location = "testFlushAtEndOfBatch";
+        assertTrue("no location", !line1.contains(location));
     }
 }


Reply via email to