Skip to content

Commit 531d9ca

Browse files
jcoglanAlbaHerrerias
authored andcommitted
Migrate log4j-iostreams to use JUnit 5 APIs and compatible helper classes
1 parent 0f48f60 commit 531d9ca

23 files changed

+227
-106
lines changed

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerOutputStreamTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@
1616
*/
1717
package org.apache.logging.log4j.io;
1818

19-
import static org.junit.Assert.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
2020
import static org.mockito.BDDMockito.then;
2121
import static org.mockito.Mockito.mock;
2222

2323
import java.io.ByteArrayOutputStream;
2424
import java.io.IOException;
2525
import java.io.OutputStream;
26-
import org.junit.Before;
27-
import org.junit.Test;
26+
import org.apache.logging.log4j.core.LoggerContext;
27+
import org.junit.jupiter.api.BeforeEach;
28+
import org.junit.jupiter.api.Test;
2829

2930
public abstract class AbstractLoggerOutputStreamTest extends AbstractStreamTest {
3031

@@ -35,7 +36,11 @@ public abstract class AbstractLoggerOutputStreamTest extends AbstractStreamTest
3536

3637
protected abstract OutputStream createOutputStreamWrapper();
3738

38-
@Before
39+
AbstractLoggerOutputStreamTest(LoggerContext context) {
40+
super(context);
41+
}
42+
43+
@BeforeEach
3944
public void createStream() {
4045
this.wrapped = createOutputStream();
4146
this.out = createOutputStreamWrapper();

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractLoggerWriterTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,27 @@
1616
*/
1717
package org.apache.logging.log4j.io;
1818

19-
import static org.junit.Assert.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
2020
import static org.mockito.BDDMockito.then;
2121
import static org.mockito.Mockito.mock;
2222

2323
import java.io.IOException;
2424
import java.io.OutputStream;
2525
import java.io.StringWriter;
2626
import java.io.Writer;
27-
import org.junit.Before;
28-
import org.junit.Test;
27+
import org.apache.logging.log4j.core.LoggerContext;
28+
import org.junit.jupiter.api.BeforeEach;
29+
import org.junit.jupiter.api.Test;
2930

3031
public abstract class AbstractLoggerWriterTest extends AbstractStreamTest {
3132
protected StringWriter wrapped;
3233
protected Writer writer;
3334

34-
@Before
35+
AbstractLoggerWriterTest(LoggerContext context) {
36+
super(context);
37+
}
38+
39+
@BeforeEach
3540
public void createStream() {
3641
this.wrapped = createWriter();
3742
this.writer = createWriterWrapper();

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/AbstractStreamTest.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,27 @@
1818

1919
import static org.hamcrest.MatcherAssert.assertThat;
2020
import static org.hamcrest.core.StringStartsWith.startsWith;
21-
import static org.junit.Assert.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.assertEquals;
2222

2323
import java.util.List;
2424
import org.apache.logging.log4j.Level;
25-
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
25+
import org.apache.logging.log4j.core.LoggerContext;
26+
import org.apache.logging.log4j.core.test.appender.ListAppender;
27+
import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
2628
import org.apache.logging.log4j.spi.ExtendedLogger;
27-
import org.junit.Before;
28-
import org.junit.ClassRule;
29+
import org.junit.jupiter.api.BeforeEach;
2930

31+
@LoggerContextSource("log4j2-streams-unit-test.xml")
3032
public abstract class AbstractStreamTest {
3133

32-
protected static ExtendedLogger getExtendedLogger() {
33-
return ctx.getLogger("UnitTestLogger");
34+
private LoggerContext context = null;
35+
36+
AbstractStreamTest(LoggerContext context) {
37+
this.context = context;
38+
}
39+
40+
protected ExtendedLogger getExtendedLogger() {
41+
return context.getLogger("UnitTestLogger");
3442
}
3543

3644
protected static final String NEWLINE = System.lineSeparator();
@@ -39,20 +47,19 @@ protected static ExtendedLogger getExtendedLogger() {
3947

4048
protected static final String LAST = "last";
4149

42-
@ClassRule
43-
public static LoggerContextRule ctx = new LoggerContextRule("log4j2-streams-unit-test.xml");
44-
4550
protected void assertMessages(final String... messages) {
46-
final List<String> actualMsgs = ctx.getListAppender("UnitTest").getMessages();
47-
assertEquals("Unexpected number of results.", messages.length, actualMsgs.size());
51+
ListAppender listApp = context.getConfiguration().getAppender("UnitTest");
52+
final List<String> actualMsgs = listApp.getMessages();
53+
assertEquals(messages.length, actualMsgs.size(), "Unexpected number of results.");
4854
for (int i = 0; i < messages.length; i++) {
4955
final String start = LEVEL.name() + ' ' + messages[i];
5056
assertThat(actualMsgs.get(i), startsWith(start));
5157
}
5258
}
5359

54-
@Before
60+
@BeforeEach
5561
public void clearAppender() {
56-
ctx.getListAppender("UnitTest").clear();
62+
ListAppender listApp = context.getConfiguration().getAppender("UnitTest");
63+
listApp.clear();
5764
}
5865
}

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderCallerInfoTesting.java

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,45 @@
1616
*/
1717
package org.apache.logging.log4j.io;
1818

19-
import static org.junit.Assert.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
2020

2121
import org.apache.logging.log4j.Level;
2222
import org.apache.logging.log4j.core.Logger;
23+
import org.apache.logging.log4j.core.LoggerContext;
2324
import org.apache.logging.log4j.core.test.appender.ListAppender;
24-
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
25-
import org.junit.Before;
26-
import org.junit.ClassRule;
25+
import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
26+
import org.junit.jupiter.api.BeforeEach;
2727

28+
@LoggerContextSource("log4j2-streams-calling-info.xml")
2829
public class IoBuilderCallerInfoTesting {
2930

30-
protected static Logger getExtendedLogger() {
31-
return ctx.getLogger("ClassAndMethodLogger");
31+
private LoggerContext context = null;
32+
33+
IoBuilderCallerInfoTesting(LoggerContext context) {
34+
this.context = context;
35+
}
36+
37+
protected Logger getExtendedLogger() {
38+
return context.getLogger("ClassAndMethodLogger");
3239
}
3340

34-
protected static Logger getLogger() {
41+
protected Logger getLogger() {
3542
return getExtendedLogger();
3643
}
3744

3845
protected static final Level LEVEL = Level.WARN;
3946

40-
@ClassRule
41-
public static LoggerContextRule ctx = new LoggerContextRule("log4j2-streams-calling-info.xml");
42-
4347
public void assertMessages(final String msg, final int size, final String methodName) {
44-
final ListAppender appender = ctx.getListAppender("ClassAndMethod");
45-
assertEquals(msg + ".size", size, appender.getMessages().size());
48+
final ListAppender appender = context.getConfiguration().getAppender("ClassAndMethod");
49+
assertEquals(size, appender.getMessages().size(), msg + ".size");
4650
for (final String message : appender.getMessages()) {
47-
assertEquals(msg + " has incorrect caller info", this.getClass().getName() + '.' + methodName, message);
51+
assertEquals(this.getClass().getName() + '.' + methodName, message, msg + " has incorrect caller info");
4852
}
4953
}
5054

51-
@Before
55+
@BeforeEach
5256
public void clearAppender() {
53-
ctx.getListAppender("ClassAndMethod").clear();
57+
ListAppender listApp = context.getConfiguration().getAppender("ClassAndMethod");
58+
listApp.clear();
5459
}
5560
}

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/IoBuilderTest.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,25 @@
2424

2525
import java.io.PrintStream;
2626
import java.util.List;
27+
import org.apache.logging.log4j.core.LoggerContext;
2728
import org.apache.logging.log4j.core.test.appender.ListAppender;
28-
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
29-
import org.junit.ClassRule;
30-
import org.junit.Test;
29+
import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
30+
import org.junit.jupiter.api.Test;
3131

32+
@LoggerContextSource("log4j2-streams-calling-info.xml")
3233
public class IoBuilderTest {
3334

34-
@ClassRule
35-
public static LoggerContextRule context = new LoggerContextRule("log4j2-streams-calling-info.xml");
35+
private LoggerContext context = null;
36+
37+
IoBuilderTest(LoggerContext context) {
38+
this.context = context;
39+
}
3640

3741
@Test
3842
public void testNoArgBuilderCallerClassInfo() {
3943
try (final PrintStream ps = IoBuilder.forLogger().buildPrintStream()) {
4044
ps.println("discarded");
41-
final ListAppender app = context.getListAppender("IoBuilderTest");
45+
final ListAppender app = context.getConfiguration().getAppender("IoBuilderTest");
4246
final List<String> messages = app.getMessages();
4347
assertThat(messages, not(empty()));
4448
assertThat(messages, hasSize(1));

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamCallerInfoTest.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,18 @@
1919
import java.io.BufferedInputStream;
2020
import java.io.ByteArrayInputStream;
2121
import java.io.InputStream;
22-
import org.junit.Before;
23-
import org.junit.Test;
22+
import org.apache.logging.log4j.core.LoggerContext;
23+
import org.junit.jupiter.api.BeforeEach;
24+
import org.junit.jupiter.api.Test;
2425

2526
public class LoggerBufferedInputStreamCallerInfoTest extends IoBuilderCallerInfoTesting {
2627

2728
private BufferedInputStream logIn;
2829

30+
LoggerBufferedInputStreamCallerInfoTest(LoggerContext context) {
31+
super(context);
32+
}
33+
2934
@Test
3035
public void close() throws Exception {
3136
this.logIn.read();
@@ -58,7 +63,7 @@ public void readBytesOffsetLen() throws Exception {
5863
this.logIn.close();
5964
}
6065

61-
@Before
66+
@BeforeEach
6267
public void setupStreams() {
6368
final InputStream srcInputStream = new ByteArrayInputStream("a\nb\nc\nd".getBytes());
6469
this.logIn = (BufferedInputStream) IoBuilder.forLogger(getLogger())

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedInputStreamTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@
1818

1919
import java.io.InputStream;
2020
import org.apache.logging.log4j.Level;
21+
import org.apache.logging.log4j.core.LoggerContext;
2122

2223
public class LoggerBufferedInputStreamTest extends LoggerInputStreamTest {
2324

25+
LoggerBufferedInputStreamTest(LoggerContext context) {
26+
super(context);
27+
}
28+
2429
@Override
2530
protected InputStream createInputStream() {
2631
return IoBuilder.forLogger(getExtendedLogger())

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderCallerInfoTest.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,18 @@
2121
import java.io.StringReader;
2222
import java.nio.CharBuffer;
2323
import org.apache.logging.log4j.Level;
24-
import org.junit.Before;
25-
import org.junit.Test;
24+
import org.apache.logging.log4j.core.LoggerContext;
25+
import org.junit.jupiter.api.BeforeEach;
26+
import org.junit.jupiter.api.Test;
2627

2728
public class LoggerBufferedReaderCallerInfoTest extends IoBuilderCallerInfoTesting {
2829

2930
BufferedReader logReader;
3031

32+
LoggerBufferedReaderCallerInfoTest(LoggerContext context) {
33+
super(context);
34+
}
35+
3136
@Test
3237
public void close() throws Exception {
3338
this.logReader.readLine();
@@ -76,7 +81,7 @@ public void readLine() throws Exception {
7681
this.logReader.close();
7782
}
7883

79-
@Before
84+
@BeforeEach
8085
public void setupReader() {
8186
final Reader srcReader = new StringReader("a\nb\nc\nd");
8287
this.logReader = (BufferedReader) IoBuilder.forLogger(getLogger())

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerBufferedReaderTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,20 @@
1616
*/
1717
package org.apache.logging.log4j.io;
1818

19-
import static org.junit.Assert.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
2020

2121
import java.io.BufferedReader;
2222
import java.io.Reader;
23-
import org.junit.Test;
23+
import org.apache.logging.log4j.core.LoggerContext;
24+
import org.junit.jupiter.api.Test;
2425

2526
public class LoggerBufferedReaderTest extends LoggerReaderTest {
2627
private BufferedReader bufferedReader;
2728

29+
LoggerBufferedReaderTest(LoggerContext context) {
30+
super(context);
31+
}
32+
2833
@Override
2934
protected Reader createReader() {
3035
return this.bufferedReader = (BufferedReader) IoBuilder.forLogger(getExtendedLogger())
@@ -36,9 +41,9 @@ protected Reader createReader() {
3641

3742
@Test
3843
public void testReadLine() throws Exception {
39-
assertEquals("first line", FIRST, this.bufferedReader.readLine());
44+
assertEquals(FIRST, this.bufferedReader.readLine(), "first line");
4045
assertMessages(FIRST);
41-
assertEquals("second line", LAST, this.bufferedReader.readLine());
46+
assertEquals(LAST, this.bufferedReader.readLine(), "second line");
4247
assertMessages(FIRST, LAST);
4348
}
4449
}

log4j-iostreams/src/test/java/org/apache/logging/log4j/io/LoggerFilterOutputStreamTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,14 @@
1919
import java.io.ByteArrayOutputStream;
2020
import java.io.OutputStream;
2121
import org.apache.logging.log4j.Level;
22+
import org.apache.logging.log4j.core.LoggerContext;
2223

2324
public class LoggerFilterOutputStreamTest extends AbstractLoggerOutputStreamTest {
2425

26+
LoggerFilterOutputStreamTest(LoggerContext context) {
27+
super(context);
28+
}
29+
2530
@Override
2631
protected ByteArrayOutputStream createOutputStream() {
2732
return new ByteArrayOutputStream();

0 commit comments

Comments
 (0)