You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2020/09/15 18:57:56 UTC

[logging-log4j2] 03/10: Migrate rewrite tests to JUnit 5

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit b62db7ea3c91f701b5eee841bfb8800485b61525
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sun Sep 13 16:30:59 2020 -0500

    Migrate rewrite tests to JUnit 5
    
    Backported from 3.x.
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../rewrite/LoggerNameLevelRewritePolicyTest.java  | 13 ++--
 .../appender/rewrite/MapRewritePolicyTest.java     | 61 ++++++++---------
 .../core/appender/rewrite/RewriteAppenderTest.java | 80 +++++++++-------------
 3 files changed, 68 insertions(+), 86 deletions(-)

diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
index 101f8fa..b03d64b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/LoggerNameLevelRewritePolicyTest.java
@@ -21,8 +21,9 @@ import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 import org.apache.logging.log4j.core.util.KeyValuePair;
 import org.apache.logging.log4j.message.SimpleMessage;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests {@link LoggerNameLevelRewritePolicy}.
@@ -44,26 +45,26 @@ public class LoggerNameLevelRewritePolicyTest {
         final LoggerNameLevelRewritePolicy updatePolicy = LoggerNameLevelRewritePolicy.createPolicy(loggerNameRewrite,
                 rewrite);
         LogEvent rewritten = updatePolicy.rewrite(logEvent);
-        Assert.assertEquals(Level.DEBUG, rewritten.getLevel());
+        assertEquals(Level.DEBUG, rewritten.getLevel());
         logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameRewrite)
                 .setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.WARN)
                 .setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
                 .setTimeMillis(1).build();
         rewritten = updatePolicy.rewrite(logEvent);
-        Assert.assertEquals(Level.INFO, rewritten.getLevel());
+        assertEquals(Level.INFO, rewritten.getLevel());
         final String loggerNameReadOnly = "com.nochange";
         logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameReadOnly)
                 .setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.INFO)
                 .setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
                 .setTimeMillis(1).build();
         rewritten = updatePolicy.rewrite(logEvent);
-        Assert.assertEquals(Level.INFO, rewritten.getLevel());
+        assertEquals(Level.INFO, rewritten.getLevel());
         logEvent = Log4jLogEvent.newBuilder().setLoggerName(loggerNameReadOnly)
                 .setLoggerFqcn("LoggerNameLevelRewritePolicyTest.testUpdate()").setLevel(Level.WARN)
                 .setMessage(new SimpleMessage("Test")).setThrown(new RuntimeException("test")).setThreadName("none")
                 .setTimeMillis(1).build();
         rewritten = updatePolicy.rewrite(logEvent);
-        Assert.assertEquals(Level.WARN, rewritten.getLevel());
+        assertEquals(Level.WARN, rewritten.getLevel());
     }
 
 }
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
index e360f83..c9f0c51 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicyTest.java
@@ -16,16 +16,6 @@
 */
 package org.apache.logging.log4j.core.appender.rewrite;
 
-import static org.apache.logging.log4j.hamcrest.MapMatchers.hasSize;
-import static org.hamcrest.Matchers.hasEntry;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.core.LogEvent;
@@ -38,8 +28,18 @@ import org.apache.logging.log4j.message.StructuredDataMessage;
 import org.apache.logging.log4j.spi.MutableThreadContextStack;
 import org.apache.logging.log4j.spi.ThreadContextStack;
 import org.apache.logging.log4j.util.StringMap;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.apache.logging.log4j.hamcrest.MapMatchers.hasSize;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasEntry;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 public class MapRewritePolicyTest {
@@ -48,11 +48,11 @@ public class MapRewritePolicyTest {
     private static KeyValuePair[] rewrite;
     private static LogEvent logEvent0, logEvent1, logEvent2, logEvent3;
 
-    @BeforeClass
+    @BeforeAll
     public static void setupClass() {
         stringMap.putValue("test1", "one");
         stringMap.putValue("test2", "two");
-        map = stringMap.toMap();
+        map = stringMap.toMap(); 
         logEvent0 = Log4jLogEvent.newBuilder() //
                 .setLoggerName("test") //
                 .setContextData(stringMap) //
@@ -93,7 +93,7 @@ public class MapRewritePolicyTest {
         final MapRewritePolicy addPolicy = MapRewritePolicy.createPolicy("Add", rewrite);
         LogEvent rewritten = addPolicy.rewrite(logEvent0);
         compareLogEvents(logEvent0, rewritten);
-        assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+        assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
 
         rewritten = addPolicy.rewrite(logEvent1);
         compareLogEvents(logEvent1, rewritten);
@@ -113,7 +113,7 @@ public class MapRewritePolicyTest {
         final MapRewritePolicy updatePolicy = MapRewritePolicy.createPolicy("Update", rewrite);
         LogEvent rewritten = updatePolicy.rewrite(logEvent0);
         compareLogEvents(logEvent0, rewritten);
-        assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+        assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
 
         rewritten = updatePolicy.rewrite(logEvent1);
         compareLogEvents(logEvent1, rewritten);
@@ -133,7 +133,7 @@ public class MapRewritePolicyTest {
         final MapRewritePolicy addPolicy = MapRewritePolicy.createPolicy(null, rewrite);
         LogEvent rewritten = addPolicy.rewrite(logEvent0);
         compareLogEvents(logEvent0, rewritten);
-        assertEquals("Simple log message changed", logEvent0.getMessage(), rewritten.getMessage());
+        assertEquals(logEvent0.getMessage(), rewritten.getMessage(), "Simple log message changed");
 
         rewritten = addPolicy.rewrite(logEvent1);
         compareLogEvents(logEvent1, rewritten);
@@ -164,19 +164,18 @@ public class MapRewritePolicyTest {
     @SuppressWarnings("deprecation")
     private void compareLogEvents(final LogEvent orig, final LogEvent changed) {
         // Ensure that everything but the Mapped Data is still the same
-        assertEquals("LoggerName changed", orig.getLoggerName(), changed.getLoggerName());
-        assertEquals("Marker changed", orig.getMarker(), changed.getMarker());
-        assertEquals("FQCN changed", orig.getLoggerFqcn(), changed.getLoggerFqcn());
-        assertEquals("Level changed", orig.getLevel(), changed.getLevel());
-        assertArrayEquals("Throwable changed",
-            orig.getThrown() == null ? null : orig.getThrownProxy().getExtendedStackTrace(),
-            changed.getThrown() == null ? null : changed.getThrownProxy().getExtendedStackTrace()
-        );
-        assertEquals("ContextMap changed", orig.getContextMap(), changed.getContextMap());
-        assertEquals("ContextData changed", orig.getContextData(), changed.getContextData());
-        assertEquals("ContextStack changed", orig.getContextStack(), changed.getContextStack());
-        assertEquals("ThreadName changed", orig.getThreadName(), changed.getThreadName());
-        assertEquals("Source changed", orig.getSource(), changed.getSource());
-        assertEquals("Millis changed", orig.getTimeMillis(), changed.getTimeMillis());
+        assertEquals(orig.getLoggerName(), changed.getLoggerName(), "LoggerName changed");
+        assertEquals(orig.getMarker(), changed.getMarker(), "Marker changed");
+        assertEquals(orig.getLoggerFqcn(), changed.getLoggerFqcn(), "FQCN changed");
+        assertEquals(orig.getLevel(), changed.getLevel(), "Level changed");
+        assertArrayEquals(
+                orig.getThrown() == null ? null : orig.getThrownProxy().getExtendedStackTrace(),
+            changed.getThrown() == null ? null : changed.getThrownProxy().getExtendedStackTrace(),
+                "Throwable changed");
+        assertEquals(orig.getContextData(), changed.getContextData(), "ContextData changed");
+        assertEquals(orig.getContextStack(), changed.getContextStack(), "ContextStack changed");
+        assertEquals(orig.getThreadName(), changed.getThreadName(), "ThreadName changed");
+        assertEquals(orig.getSource(), changed.getSource(), "Source changed");
+        assertEquals(orig.getTimeMillis(), changed.getTimeMillis(), "Millis changed");
     }
 }
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
index 73082e9..9a94289 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppenderTest.java
@@ -16,51 +16,33 @@
  */
 package org.apache.logging.log4j.core.appender.rewrite;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-import java.util.Map;
-
 import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.hamcrest.MapMatchers;
+import org.apache.logging.log4j.junit.LoggerContextSource;
+import org.apache.logging.log4j.junit.Named;
 import org.apache.logging.log4j.message.Message;
 import org.apache.logging.log4j.message.StructuredDataMessage;
 import org.apache.logging.log4j.test.appender.ListAppender;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-/**
- *
- */
-public class RewriteAppenderTest {
-    private ListAppender app;
-    private ListAppender app2;
+import java.util.List;
+import java.util.Map;
 
-    @ClassRule
-    public static LoggerContextRule init = new LoggerContextRule("log4j-rewrite.xml");
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.junit.jupiter.api.Assertions.*;
 
-    @Before
-    public void setUp() throws Exception {
-        app = init.getListAppender("List");
-        app2 = init.getListAppender("List2");
-    }
+@LoggerContextSource("log4j-rewrite.xml")
+public class RewriteAppenderTest {
+    private final ListAppender app;
+    private final ListAppender app2;
 
-    @After
-    public void tearDown() throws Exception {
-        if (app != null) {
-            app.clear();
-        }
-        if (app2 != null) {
-            app2.clear();
-        }
+    public RewriteAppenderTest(@Named("List") final ListAppender app, @Named("List2") final ListAppender app2) {
+        this.app = app.clear();
+        this.app2 = app2.clear();
     }
 
     @Test
@@ -70,44 +52,44 @@ public class RewriteAppenderTest {
         msg.put("Key2", "Value2");
         EventLogger.logEvent(msg);
         final List<LogEvent> list = app.getEvents();
-        assertNotNull("No events generated", list);
-        assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1);
+        assertThat(list, hasSize(1));
         final LogEvent event = list.get(0);
         final Message m = event.getMessage();
-        assertTrue("Message is not a StringMapMessage: " + m.getClass(), m instanceof StructuredDataMessage);
+        assertThat(m, instanceOf(StructuredDataMessage.class));
         final StructuredDataMessage message = (StructuredDataMessage) m;
         final Map<String, String> map = message.getData();
-        assertNotNull("No Map", map);
-        assertTrue("Incorrect number of map entries, expected 3 got " + map.size(), map.size() == 3);
+        assertNotNull(map, "No Map");
+        assertThat(map, MapMatchers.hasSize(3));
         final String value = map.get("Key1");
         assertEquals("Apache", value);
     }
 
 
     @Test
-    public void testProperties() {
-        final Logger logger = LogManager.getLogger(RewriteAppenderTest.class);
+    public void testProperties(final LoggerContext context) {
+        final Logger logger = context.getLogger(RewriteAppenderTest.class);
         logger.debug("Test properties rewrite");
         final List<String> list = app2.getMessages();
-        assertNotNull("No events generated", list);
-        assertTrue("Incorrect number of events. Expected 1, got " + list.size(), list.size() == 1);
-        assertFalse("Did not resolve user name", list.get(0).contains("{user.dir}"));
+        assertThat(list, hasSize(1));
+        assertThat(list.get(0), not(containsString("{user.dir}")));
+        assertNotNull(list, "No events generated");
+        assertEquals(list.size(), 1, "Incorrect number of events. Expected 1, got " + list.size());
+        assertFalse(list.get(0).contains("{user."), "Did not resolve user name");
     }
 
 
     @Test
-    public void testFilter() {
+    public void testFilter(final LoggerContext context) {
         StructuredDataMessage msg = new StructuredDataMessage("Test", "This is a test", "Service");
         msg.put("Key1", "Value2");
         msg.put("Key2", "Value1");
-        final Logger logger = LogManager.getLogger("org.apache.logging.log4j.core.Logging");
+        final Logger logger = context.getLogger("org.apache.logging.log4j.core.Logging");
         logger.debug(msg);
         msg = new StructuredDataMessage("Test", "This is a test", "Service");
         msg.put("Key1", "Value1");
         msg.put("Key2", "Value2");
         logger.trace(msg);
 
-        final List<LogEvent> list = app.getEvents();
-        assertTrue("Events were generated", list == null || list.isEmpty());
+        assertThat(app.getEvents(), empty());
     }
 }