From 531d9ca48301f9b3630389d8e04b794c1cca2423 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Wed, 27 Nov 2024 16:34:03 +0000 Subject: [PATCH 1/2] Migrate log4j-iostreams to use JUnit 5 APIs and compatible helper classes --- .../io/AbstractLoggerOutputStreamTest.java | 13 ++++-- .../log4j/io/AbstractLoggerWriterTest.java | 13 ++++-- .../logging/log4j/io/AbstractStreamTest.java | 33 +++++++++------ .../log4j/io/IoBuilderCallerInfoTesting.java | 35 +++++++++------- .../logging/log4j/io/IoBuilderTest.java | 16 ++++--- ...ggerBufferedInputStreamCallerInfoTest.java | 11 +++-- .../io/LoggerBufferedInputStreamTest.java | 5 +++ .../LoggerBufferedReaderCallerInfoTest.java | 11 +++-- .../log4j/io/LoggerBufferedReaderTest.java | 13 ++++-- .../io/LoggerFilterOutputStreamTest.java | 5 +++ .../log4j/io/LoggerFilterWriterTest.java | 5 +++ .../io/LoggerInputStreamCallerInfoTest.java | 11 +++-- .../log4j/io/LoggerInputStreamTest.java | 21 ++++++---- .../io/LoggerOutputStreamCallerInfoTest.java | 11 +++-- .../log4j/io/LoggerOutputStreamTest.java | 5 +++ .../io/LoggerPrintStreamCallerInfoTest.java | 11 +++-- .../log4j/io/LoggerPrintStreamTest.java | 11 +++-- .../io/LoggerPrintWriterCallerInfoTest.java | 11 +++-- .../log4j/io/LoggerPrintWriterJdbcH2Test.java | 42 ++++++++++++------- .../log4j/io/LoggerPrintWriterTest.java | 11 +++-- .../log4j/io/LoggerReaderCallerInfoTest.java | 11 +++-- .../logging/log4j/io/LoggerReaderTest.java | 23 ++++++---- .../logging/log4j/io/LoggerWriterTest.java | 5 +++ 23 files changed, 227 insertions(+), 106 deletions(-) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerOutputStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerOutputStreamTest.java index cc5ecd405ab..dba47310368 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerOutputStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerOutputStreamTest.java @@ -16,15 +16,16 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.BDDMockito.then; import static org.mockito.Mockito.mock; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public abstract class AbstractLoggerOutputStreamTest extends AbstractStreamTest { @@ -35,7 +36,11 @@ public abstract class AbstractLoggerOutputStreamTest extends AbstractStreamTest protected abstract OutputStream createOutputStreamWrapper(); - @Before + AbstractLoggerOutputStreamTest(LoggerContext context) { + super(context); + } + + @BeforeEach public void createStream() { this.wrapped = createOutputStream(); this.out = createOutputStreamWrapper(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerWriterTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerWriterTest.java index 8be0016158b..9e0b8bf1e7d 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerWriterTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerWriterTest.java @@ -16,7 +16,7 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.BDDMockito.then; import static org.mockito.Mockito.mock; @@ -24,14 +24,19 @@ import java.io.OutputStream; import java.io.StringWriter; import java.io.Writer; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public abstract class AbstractLoggerWriterTest extends AbstractStreamTest { protected StringWriter wrapped; protected Writer writer; - @Before + AbstractLoggerWriterTest(LoggerContext context) { + super(context); + } + + @BeforeEach public void createStream() { this.wrapped = createWriter(); this.writer = createWriterWrapper(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractStreamTest.java index 53c8bc39388..01629ccfcc4 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractStreamTest.java @@ -18,19 +18,27 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.StringStartsWith.startsWith; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.List; import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.core.test.junit.LoggerContextRule; +import org.apache.logging.log4j.core.LoggerContext; +import org.apache.logging.log4j.core.test.appender.ListAppender; +import org.apache.logging.log4j.core.test.junit.LoggerContextSource; import org.apache.logging.log4j.spi.ExtendedLogger; -import org.junit.Before; -import org.junit.ClassRule; +import org.junit.jupiter.api.BeforeEach; +@LoggerContextSource("log4j2-streams-unit-test.xml") public abstract class AbstractStreamTest { - protected static ExtendedLogger getExtendedLogger() { - return ctx.getLogger("UnitTestLogger"); + private LoggerContext context = null; + + AbstractStreamTest(LoggerContext context) { + this.context = context; + } + + protected ExtendedLogger getExtendedLogger() { + return context.getLogger("UnitTestLogger"); } protected static final String NEWLINE = System.lineSeparator(); @@ -39,20 +47,19 @@ protected static ExtendedLogger getExtendedLogger() { protected static final String LAST = "last"; - @ClassRule - public static LoggerContextRule ctx = new LoggerContextRule("log4j2-streams-unit-test.xml"); - protected void assertMessages(final String... messages) { - final List actualMsgs = ctx.getListAppender("UnitTest").getMessages(); - assertEquals("Unexpected number of results.", messages.length, actualMsgs.size()); + ListAppender listApp = context.getConfiguration().getAppender("UnitTest"); + final List actualMsgs = listApp.getMessages(); + assertEquals(messages.length, actualMsgs.size(), "Unexpected number of results."); for (int i = 0; i < messages.length; i++) { final String start = LEVEL.name() + ' ' + messages[i]; assertThat(actualMsgs.get(i), startsWith(start)); } } - @Before + @BeforeEach public void clearAppender() { - ctx.getListAppender("UnitTest").clear(); + ListAppender listApp = context.getConfiguration().getAppender("UnitTest"); + listApp.clear(); } } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderCallerInfoTesting.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderCallerInfoTesting.java index 4a87a2ad97d..4576760b0fa 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderCallerInfoTesting.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderCallerInfoTesting.java @@ -16,40 +16,45 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.Logger; +import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.test.appender.ListAppender; -import org.apache.logging.log4j.core.test.junit.LoggerContextRule; -import org.junit.Before; -import org.junit.ClassRule; +import org.apache.logging.log4j.core.test.junit.LoggerContextSource; +import org.junit.jupiter.api.BeforeEach; +@LoggerContextSource("log4j2-streams-calling-info.xml") public class IoBuilderCallerInfoTesting { - protected static Logger getExtendedLogger() { - return ctx.getLogger("ClassAndMethodLogger"); + private LoggerContext context = null; + + IoBuilderCallerInfoTesting(LoggerContext context) { + this.context = context; + } + + protected Logger getExtendedLogger() { + return context.getLogger("ClassAndMethodLogger"); } - protected static Logger getLogger() { + protected Logger getLogger() { return getExtendedLogger(); } protected static final Level LEVEL = Level.WARN; - @ClassRule - public static LoggerContextRule ctx = new LoggerContextRule("log4j2-streams-calling-info.xml"); - public void assertMessages(final String msg, final int size, final String methodName) { - final ListAppender appender = ctx.getListAppender("ClassAndMethod"); - assertEquals(msg + ".size", size, appender.getMessages().size()); + final ListAppender appender = context.getConfiguration().getAppender("ClassAndMethod"); + assertEquals(size, appender.getMessages().size(), msg + ".size"); for (final String message : appender.getMessages()) { - assertEquals(msg + " has incorrect caller info", this.getClass().getName() + '.' + methodName, message); + assertEquals(this.getClass().getName() + '.' + methodName, message, msg + " has incorrect caller info"); } } - @Before + @BeforeEach public void clearAppender() { - ctx.getListAppender("ClassAndMethod").clear(); + ListAppender listApp = context.getConfiguration().getAppender("ClassAndMethod"); + listApp.clear(); } } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderTest.java index d8cebb24b0b..fa48a596fb9 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderTest.java @@ -24,21 +24,25 @@ import java.io.PrintStream; import java.util.List; +import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.test.appender.ListAppender; -import org.apache.logging.log4j.core.test.junit.LoggerContextRule; -import org.junit.ClassRule; -import org.junit.Test; +import org.apache.logging.log4j.core.test.junit.LoggerContextSource; +import org.junit.jupiter.api.Test; +@LoggerContextSource("log4j2-streams-calling-info.xml") public class IoBuilderTest { - @ClassRule - public static LoggerContextRule context = new LoggerContextRule("log4j2-streams-calling-info.xml"); + private LoggerContext context = null; + + IoBuilderTest(LoggerContext context) { + this.context = context; + } @Test public void testNoArgBuilderCallerClassInfo() { try (final PrintStream ps = IoBuilder.forLogger().buildPrintStream()) { ps.println("discarded"); - final ListAppender app = context.getListAppender("IoBuilderTest"); + final ListAppender app = context.getConfiguration().getAppender("IoBuilderTest"); final List messages = app.getMessages(); assertThat(messages, not(empty())); assertThat(messages, hasSize(1)); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamCallerInfoTest.java index 6c3ad86a520..fcb4e84eb30 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamCallerInfoTest.java @@ -19,13 +19,18 @@ import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.InputStream; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerBufferedInputStreamCallerInfoTest extends IoBuilderCallerInfoTesting { private BufferedInputStream logIn; + LoggerBufferedInputStreamCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void close() throws Exception { this.logIn.read(); @@ -58,7 +63,7 @@ public void readBytesOffsetLen() throws Exception { this.logIn.close(); } - @Before + @BeforeEach public void setupStreams() { final InputStream srcInputStream = new ByteArrayInputStream("a\nb\nc\nd".getBytes()); this.logIn = (BufferedInputStream) IoBuilder.forLogger(getLogger()) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamTest.java index 293d30ed9b5..0a01e85e2e5 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamTest.java @@ -18,9 +18,14 @@ import java.io.InputStream; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.LoggerContext; public class LoggerBufferedInputStreamTest extends LoggerInputStreamTest { + LoggerBufferedInputStreamTest(LoggerContext context) { + super(context); + } + @Override protected InputStream createInputStream() { return IoBuilder.forLogger(getExtendedLogger()) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderCallerInfoTest.java index 7683fd1b219..f8aec20ef61 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderCallerInfoTest.java @@ -21,13 +21,18 @@ import java.io.StringReader; import java.nio.CharBuffer; import org.apache.logging.log4j.Level; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerBufferedReaderCallerInfoTest extends IoBuilderCallerInfoTesting { BufferedReader logReader; + LoggerBufferedReaderCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void close() throws Exception { this.logReader.readLine(); @@ -76,7 +81,7 @@ public void readLine() throws Exception { this.logReader.close(); } - @Before + @BeforeEach public void setupReader() { final Reader srcReader = new StringReader("a\nb\nc\nd"); this.logReader = (BufferedReader) IoBuilder.forLogger(getLogger()) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderTest.java index 55dfdc62e3b..59cef335280 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderTest.java @@ -16,15 +16,20 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.BufferedReader; import java.io.Reader; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.Test; public class LoggerBufferedReaderTest extends LoggerReaderTest { private BufferedReader bufferedReader; + LoggerBufferedReaderTest(LoggerContext context) { + super(context); + } + @Override protected Reader createReader() { return this.bufferedReader = (BufferedReader) IoBuilder.forLogger(getExtendedLogger()) @@ -36,9 +41,9 @@ protected Reader createReader() { @Test public void testReadLine() throws Exception { - assertEquals("first line", FIRST, this.bufferedReader.readLine()); + assertEquals(FIRST, this.bufferedReader.readLine(), "first line"); assertMessages(FIRST); - assertEquals("second line", LAST, this.bufferedReader.readLine()); + assertEquals(LAST, this.bufferedReader.readLine(), "second line"); assertMessages(FIRST, LAST); } } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterOutputStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterOutputStreamTest.java index 65abe46e4af..2dad5fb2de8 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterOutputStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterOutputStreamTest.java @@ -19,9 +19,14 @@ import java.io.ByteArrayOutputStream; import java.io.OutputStream; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.LoggerContext; public class LoggerFilterOutputStreamTest extends AbstractLoggerOutputStreamTest { + LoggerFilterOutputStreamTest(LoggerContext context) { + super(context); + } + @Override protected ByteArrayOutputStream createOutputStream() { return new ByteArrayOutputStream(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterWriterTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterWriterTest.java index c317403d8bc..6206664c556 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterWriterTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterWriterTest.java @@ -18,9 +18,14 @@ import java.io.StringWriter; import java.io.Writer; +import org.apache.logging.log4j.core.LoggerContext; public class LoggerFilterWriterTest extends AbstractLoggerWriterTest { + LoggerFilterWriterTest(LoggerContext context) { + super(context); + } + @Override protected StringWriter createWriter() { return new StringWriter(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamCallerInfoTest.java index d92ae288379..ae9c9ca0fde 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamCallerInfoTest.java @@ -19,13 +19,18 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import org.apache.logging.log4j.Level; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerInputStreamCallerInfoTest extends IoBuilderCallerInfoTesting { private InputStream logIn; + LoggerInputStreamCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void read() throws Exception { this.logIn.read(); @@ -45,7 +50,7 @@ public void read() throws Exception { assertMessages("after close size", 4, "read"); } - @Before + @BeforeEach public void setupStreams() { final InputStream srcInputStream = new ByteArrayInputStream("a\nb\nc\nd".getBytes()); this.logIn = IoBuilder.forLogger(getLogger()) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamTest.java index 6369970223c..ed79ccde6e7 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerInputStreamTest.java @@ -16,21 +16,26 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerInputStreamTest extends AbstractStreamTest { protected ByteArrayInputStream wrapped; protected ByteArrayOutputStream read; protected InputStream in; + LoggerInputStreamTest(LoggerContext context) { + super(context); + } + protected InputStream createInputStream() { return IoBuilder.forLogger(getExtendedLogger()) .filter(this.wrapped) @@ -38,7 +43,7 @@ protected InputStream createInputStream() { .buildInputStream(); } - @Before + @BeforeEach public void createStream() { this.wrapped = new ByteArrayInputStream((FIRST + "\r\n" + LAST).getBytes()); this.read = new ByteArrayOutputStream(); @@ -69,7 +74,7 @@ public void testClose_NoRemainingData() throws IOException { @Test public void testRead_ByteArray() throws Exception { final byte[] bytes = new byte[FIRST.length()]; - assertEquals("len", bytes.length, this.in.read(bytes)); + assertEquals(bytes.length, this.in.read(bytes), "len"); if (!(this.in instanceof BufferedInputStream)) { assertMessages(); } @@ -80,7 +85,7 @@ public void testRead_ByteArray() throws Exception { @Test public void testRead_ByteArray_Offset_Length() throws Exception { final byte[] bytes = new byte[FIRST.length() * 2]; - assertEquals("len", FIRST.length(), this.in.read(bytes, 0, FIRST.length())); + assertEquals(FIRST.length(), this.in.read(bytes, 0, FIRST.length()), "len"); if (!(this.in instanceof BufferedInputStream)) { assertMessages(); } @@ -107,11 +112,11 @@ public void testRead_int() throws Exception { if (!(this.in instanceof BufferedInputStream)) { assertMessages(); } - assertEquals("carriage return", '\r', this.in.read()); + assertEquals('\r', this.in.read(), "carriage return"); if (!(this.in instanceof BufferedInputStream)) { assertMessages(); } - assertEquals("newline", '\n', this.in.read()); + assertEquals('\n', this.in.read(), "newline"); assertMessages(FIRST); } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamCallerInfoTest.java index a43c76754e4..68ec654d304 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamCallerInfoTest.java @@ -18,14 +18,19 @@ import java.io.OutputStream; import org.apache.logging.log4j.Level; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerOutputStreamCallerInfoTest extends IoBuilderCallerInfoTesting { private OutputStream logOut; - @Before + LoggerOutputStreamCallerInfoTest(LoggerContext context) { + super(context); + } + + @BeforeEach public void setupStreams() { this.logOut = IoBuilder.forLogger(getExtendedLogger()).setLevel(Level.WARN).buildOutputStream(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamTest.java index d359f4c7804..580daf17aeb 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerOutputStreamTest.java @@ -19,9 +19,14 @@ import java.io.ByteArrayOutputStream; import java.io.OutputStream; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.LoggerContext; public class LoggerOutputStreamTest extends AbstractLoggerOutputStreamTest { + LoggerOutputStreamTest(LoggerContext context) { + super(context); + } + @Override protected ByteArrayOutputStream createOutputStream() { return null; diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamCallerInfoTest.java index 60f7770b5f6..a4a04e0ab2c 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamCallerInfoTest.java @@ -19,13 +19,18 @@ import java.io.PrintStream; import java.util.Locale; import org.apache.logging.log4j.Level; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerPrintStreamCallerInfoTest extends IoBuilderCallerInfoTesting { private PrintStream logOut; + LoggerPrintStreamCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void close() { this.logOut.print("a\nb"); @@ -118,7 +123,7 @@ public void print_string() { assertMessages("println", 1, "print_string"); } - @Before + @BeforeEach public void setupStreams() { this.logOut = IoBuilder.forLogger(getLogger()).setLevel(Level.WARN).buildPrintStream(); } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamTest.java index 48f3a7cec32..c91255e1ed8 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintStreamTest.java @@ -16,17 +16,22 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.io.PrintStream; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.Test; public class LoggerPrintStreamTest extends AbstractLoggerOutputStreamTest { private PrintStream print; + LoggerPrintStreamTest(LoggerContext context) { + super(context); + } + @Override protected ByteArrayOutputStream createOutputStream() { return new ByteArrayOutputStream(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterCallerInfoTest.java index 8225c0ddaea..58ee2cc7c7b 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterCallerInfoTest.java @@ -19,13 +19,18 @@ import java.io.PrintWriter; import java.util.Locale; import org.apache.logging.log4j.Level; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerPrintWriterCallerInfoTest extends IoBuilderCallerInfoTesting { private PrintWriter logOut; + LoggerPrintWriterCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void close() { this.logOut.print("a\nb"); @@ -118,7 +123,7 @@ public void print_string() { assertMessages("println", 1, "print_string"); } - @Before + @BeforeEach public void setupStreams() { this.logOut = IoBuilder.forLogger(getLogger()).setLevel(Level.WARN).buildPrintWriter(); } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterJdbcH2Test.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterJdbcH2Test.java index 11d72ff2167..65ed80f1e9e 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterJdbcH2Test.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterJdbcH2Test.java @@ -16,25 +16,31 @@ */ package org.apache.logging.log4j.io; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.test.appender.ListAppender; -import org.apache.logging.log4j.core.test.junit.LoggerContextRule; +import org.apache.logging.log4j.core.test.junit.LoggerContextSource; import org.apache.logging.log4j.util.Strings; import org.h2.jdbcx.JdbcDataSource; -import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +@LoggerContextSource("log4j2-jdbc-driver-manager.xml") public class LoggerPrintWriterJdbcH2Test { - @ClassRule - public static LoggerContextRule context = new LoggerContextRule("log4j2-jdbc-driver-manager.xml"); + private LoggerContext context = null; + + LoggerPrintWriterJdbcH2Test(LoggerContext context) { + this.context = context; + } private static final String H2_URL = "jdbc:h2:mem:Log4j"; @@ -45,7 +51,9 @@ public class LoggerPrintWriterJdbcH2Test { private ListAppender listAppender; private PrintWriter createLoggerPrintWriter() { - return IoBuilder.forLogger(context.getLogger()).setLevel(Level.ALL).buildPrintWriter(); + return IoBuilder.forLogger(context.getLogger("LoggerPrintWriterJdbcH2Test")) + .setLevel(Level.ALL) + .buildPrintWriter(); } private ListAppender getListAppender() { @@ -60,14 +68,16 @@ private void setListAppender(final ListAppender listAppender) { this.listAppender = listAppender; } - @Before - public void setUp() { - this.setListAppender(context.getListAppender("List").clear()); - Assert.assertEquals(0, this.getListAppender().getMessages().size()); + @BeforeEach + void setUp() { + ListAppender listApp = context.getConfiguration().getAppender("List"); + listApp.clear(); + this.setListAppender(listApp); + assertEquals(0, this.getListAppender().getMessages().size()); } @Test - @Ignore("DataSource#setLogWriter() has no effect in H2, it uses its own internal logging and an SLF4J bridge.") + @Disabled("DataSource#setLogWriter() has no effect in H2, it uses its own internal logging and an SLF4J bridge.") public void testDataSource_setLogWriter() throws SQLException { final JdbcDataSource dataSource = new JdbcDataSource(); dataSource.setUrl(H2_URL); @@ -78,7 +88,7 @@ public void testDataSource_setLogWriter() throws SQLException { try (final Connection conn = dataSource.getConnection()) { conn.prepareCall("select 1"); } - Assert.assertTrue(!this.getListAppender().getMessages().isEmpty()); + assertTrue(!this.getListAppender().getMessages().isEmpty()); } @Test @@ -90,6 +100,6 @@ public void testDriverManager_setLogWriter() throws SQLException { } finally { DriverManager.setLogWriter(null); } - Assert.assertTrue(!this.getListAppender().getMessages().isEmpty()); + assertTrue(!this.getListAppender().getMessages().isEmpty()); } } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterTest.java index 6375e6d1620..04c97728d8f 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerPrintWriterTest.java @@ -16,17 +16,22 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.Test; public class LoggerPrintWriterTest extends AbstractLoggerWriterTest { private PrintWriter print; + LoggerPrintWriterTest(LoggerContext context) { + super(context); + } + @Override protected StringWriter createWriter() { return new StringWriter(); diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderCallerInfoTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderCallerInfoTest.java index 38c2cfa1053..4fec18c6807 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderCallerInfoTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderCallerInfoTest.java @@ -19,13 +19,18 @@ import java.io.Reader; import java.io.StringReader; import java.nio.CharBuffer; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerReaderCallerInfoTest extends IoBuilderCallerInfoTesting { Reader logReader; + LoggerReaderCallerInfoTest(LoggerContext context) { + super(context); + } + @Test public void read() throws Exception { this.logReader.read(); @@ -48,7 +53,7 @@ public void read() throws Exception { assertMessages("after close size", 5, "read"); } - @Before + @BeforeEach public void setupReader() { final Reader srcReader = new StringReader("a\nb\nc\nd\ne"); this.logReader = IoBuilder.forLogger(getLogger()) diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderTest.java index 01e09ab77d8..52803be934a 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerReaderTest.java @@ -16,7 +16,7 @@ */ package org.apache.logging.log4j.io; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.BufferedReader; import java.io.IOException; @@ -24,14 +24,19 @@ import java.io.StringReader; import java.io.StringWriter; import java.nio.CharBuffer; -import org.junit.Before; -import org.junit.Test; +import org.apache.logging.log4j.core.LoggerContext; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public class LoggerReaderTest extends AbstractStreamTest { protected StringReader wrapped; protected StringWriter read; protected Reader reader; + LoggerReaderTest(LoggerContext context) { + super(context); + } + protected Reader createReader() { return IoBuilder.forLogger(getExtendedLogger()) .filter(this.wrapped) @@ -39,7 +44,7 @@ protected Reader createReader() { .buildReader(); } - @Before + @BeforeEach public void createStream() { this.wrapped = new StringReader(FIRST + "\r\n" + LAST); this.read = new StringWriter(); @@ -72,7 +77,7 @@ public void testClose_NoRemainingData() throws IOException { @Test public void testRead_CharArray() throws Exception { final char[] chars = new char[FIRST.length()]; - assertEquals("len", FIRST.length(), this.reader.read(chars)); + assertEquals(FIRST.length(), this.reader.read(chars), "len"); if (!(this.reader instanceof BufferedReader)) { assertMessages(); } @@ -83,7 +88,7 @@ public void testRead_CharArray() throws Exception { @Test public void testRead_CharArray_Offset_Length() throws Exception { final char[] chars = new char[1024]; - assertEquals("len", FIRST.length(), this.reader.read(chars, 0, FIRST.length())); + assertEquals(FIRST.length(), this.reader.read(chars, 0, FIRST.length()), "len"); if (!(this.reader instanceof BufferedReader)) { assertMessages(); } @@ -95,7 +100,7 @@ public void testRead_CharArray_Offset_Length() throws Exception { @Test public void testRead_CharBuffer() throws Exception { final CharBuffer chars = CharBuffer.allocate(1024); - assertEquals("len", FIRST.length() + LAST.length() + 2, this.reader.read(chars)); + assertEquals(FIRST.length() + LAST.length() + 2, this.reader.read(chars), "len"); this.reader.close(); assertMessages(FIRST, LAST); } @@ -121,11 +126,11 @@ public void testRead_int() throws Exception { if (!(this.reader instanceof BufferedReader)) { assertMessages(); } - assertEquals("carriage return", '\r', this.reader.read()); + assertEquals('\r', this.reader.read(), "carriage return"); if (!(this.reader instanceof BufferedReader)) { assertMessages(); } - assertEquals("newline", '\n', this.reader.read()); + assertEquals('\n', this.reader.read(), "newline"); assertMessages(FIRST); } diff --git a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerWriterTest.java b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerWriterTest.java index 5dfc2d90eb9..4569c6f1bb6 100644 --- a/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerWriterTest.java +++ b/log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerWriterTest.java @@ -18,9 +18,14 @@ import java.io.StringWriter; import java.io.Writer; +import org.apache.logging.log4j.core.LoggerContext; public class LoggerWriterTest extends AbstractLoggerWriterTest { + LoggerWriterTest(LoggerContext context) { + super(context); + } + @Override protected StringWriter createWriter() { return null; From 6a9af6a5d94affed6528efc820af77fd7d2c7379 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Fri, 29 Nov 2024 09:54:15 +0000 Subject: [PATCH 2/2] Remove unused org.junit.vintage dependency --- log4j-iostreams/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/log4j-iostreams/pom.xml b/log4j-iostreams/pom.xml index cabda368204..dcfd5132496 100644 --- a/log4j-iostreams/pom.xml +++ b/log4j-iostreams/pom.xml @@ -59,11 +59,6 @@ junit-jupiter-engine test - - org.junit.vintage - junit-vintage-engine - test - org.mockito mockito-core