Skip to content

refactor log4j-jpa to use junit5 #3060

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions log4j-jpa/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,6 @@
<scope>test</scope>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
*/
package org.apache.logging.log4j.core.appender.db.jpa;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
Expand All @@ -34,12 +34,11 @@
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.config.DefaultConfiguration;
import org.apache.logging.log4j.core.test.categories.Appenders;
import org.apache.logging.log4j.status.StatusLogger;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

@Category(Appenders.Jpa.class)
@Tag("Appenders.Jpa")
public abstract class AbstractJpaAppenderTest {
private final String databaseType;
private Connection connection;
Expand Down Expand Up @@ -68,8 +67,8 @@ public void tearDown() throws SQLException {
try {
final String appenderName = "databaseAppender";
final Appender appender = context.getConfiguration().getAppender(appenderName);
assertNotNull("The appender '" + appenderName + "' should not be null.", appender);
assertTrue("The appender should be a JpaAppender.", appender instanceof JpaAppender);
assertNotNull(appender, "The appender '" + appenderName + "' should not be null.");
assertTrue(appender instanceof JpaAppender, "The appender should be a JpaAppender.");
((JpaAppender) appender).getManager().close();
} finally {
System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
Expand Down Expand Up @@ -108,44 +107,44 @@ public void testBaseJpaEntityAppender() throws SQLException {
final Statement statement = this.connection.createStatement();
final ResultSet resultSet = statement.executeQuery("SELECT * FROM jpaBaseLogEntry ORDER BY id");

assertTrue("There should be at least one row.", resultSet.next());
assertTrue(resultSet.next(), "There should be at least one row.");

long date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (1).", date >= millis);
assertTrue("The date should be earlier than now (1).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (1).", "INFO", resultSet.getString("level"));
assertEquals("The logger column is not correct (1).", logger1.getName(), resultSet.getString("logger"));
assertTrue(date >= millis, "The date should be later than pre-logging (1).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (1).");
assertEquals("INFO", resultSet.getString("level"), "The level column is not correct (1).");
assertEquals(logger1.getName(), resultSet.getString("logger"), "The logger column is not correct (1).");
assertEquals(
"The message column is not correct (1).", "Test my message 01.", resultSet.getString("message"));
assertNull("The exception column is not correct (1).", resultSet.getString("exception"));
"Test my message 01.", resultSet.getString("message"), "The message column is not correct (1).");
assertNull(resultSet.getString("exception"), "The exception column is not correct (1).");

assertTrue("There should be at least two rows.", resultSet.next());
assertTrue(resultSet.next(), "There should be at least two rows.");

date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (2).", date >= millis);
assertTrue("The date should be earlier than now (2).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (2).", "ERROR", resultSet.getString("level"));
assertEquals("The logger column is not correct (2).", logger1.getName(), resultSet.getString("logger"));
assertTrue(date >= millis, "The date should be later than pre-logging (2).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (2).");
assertEquals("ERROR", resultSet.getString("level"), "The level column is not correct (2).");
assertEquals(logger1.getName(), resultSet.getString("logger"), "The logger column is not correct (2).");
assertEquals(
"The message column is not correct (2).",
"This is another message 02.",
resultSet.getString("message"));
assertEquals("The exception column is not correct (2).", stackTrace, resultSet.getString("exception"));
resultSet.getString("message"),
"The message column is not correct (2).");
assertEquals(stackTrace, resultSet.getString("exception"), "The exception column is not correct (2).");

assertTrue("There should be three rows.", resultSet.next());
assertTrue(resultSet.next(), "There should be three rows.");

date = resultSet.getTimestamp("eventDate").getTime();
assertTrue("The date should be later than pre-logging (3).", date >= millis);
assertTrue("The date should be earlier than now (3).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (3).", "WARN", resultSet.getString("level"));
assertEquals("The logger column is not correct (3).", logger2.getName(), resultSet.getString("logger"));
assertTrue(date >= millis, "The date should be later than pre-logging (3).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (3).");
assertEquals("WARN", resultSet.getString("level"), "The level column is not correct (3).");
assertEquals(logger2.getName(), resultSet.getString("logger"), "The logger column is not correct (3).");
assertEquals(
"The message column is not correct (3).",
"A final warning has been issued.",
resultSet.getString("message"));
assertNull("The exception column is not correct (3).", resultSet.getString("exception"));
resultSet.getString("message"),
"The message column is not correct (3).");
assertNull(resultSet.getString("exception"), "The exception column is not correct (3).");

assertFalse("There should not be four rows.", resultSet.next());
assertFalse(resultSet.next(), "There should not be four rows.");
} finally {
this.tearDown();
}
Expand Down Expand Up @@ -174,43 +173,43 @@ public void testBasicJpaEntityAppender() throws SQLException {
final Statement statement = this.connection.createStatement();
final ResultSet resultSet = statement.executeQuery("SELECT * FROM jpaBasicLogEntry ORDER BY id");

assertTrue("There should be at least one row.", resultSet.next());
assertTrue(resultSet.next(), "There should be at least one row.");

long date = resultSet.getLong("timemillis");
assertTrue("The date should be later than pre-logging (1).", date >= millis);
assertTrue("The date should be earlier than now (1).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (1).", "DEBUG", resultSet.getString("level"));
assertEquals("The logger column is not correct (1).", logger1.getName(), resultSet.getString("loggerName"));
assertEquals("The message column is not correct (1).", "Test my debug 01.", resultSet.getString("message"));
assertNull("The exception column is not correct (1).", resultSet.getString("thrown"));
assertTrue(date >= millis, "The date should be later than pre-logging (1).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (1).");
assertEquals("DEBUG", resultSet.getString("level"), "The level column is not correct (1).");
assertEquals(logger1.getName(), resultSet.getString("loggerName"), "The logger column is not correct (1).");
assertEquals("Test my debug 01.", resultSet.getString("message"), "The message column is not correct (1).");
assertNull(resultSet.getString("thrown"), "The exception column is not correct (1).");

assertTrue("There should be at least two rows.", resultSet.next());
assertTrue(resultSet.next(), "There should be at least two rows.");

date = resultSet.getLong("timemillis");
assertTrue("The date should be later than pre-logging (2).", date >= millis);
assertTrue("The date should be earlier than now (2).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (2).", "WARN", resultSet.getString("level"));
assertEquals("The logger column is not correct (2).", logger1.getName(), resultSet.getString("loggerName"));
assertTrue(date >= millis, "The date should be later than pre-logging (2).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (2).");
assertEquals("WARN", resultSet.getString("level"), "The level column is not correct (2).");
assertEquals(logger1.getName(), resultSet.getString("loggerName"), "The logger column is not correct (2).");
assertEquals(
"The message column is not correct (2).",
"This is another warning 02.",
resultSet.getString("message"));
assertEquals("The exception column is not correct (2).", stackTrace, resultSet.getString("thrown"));
resultSet.getString("message"),
"The message column is not correct (2).");
assertEquals(stackTrace, resultSet.getString("thrown"), "The exception column is not correct (2).");

assertTrue("There should be three rows.", resultSet.next());
assertTrue(resultSet.next(), "There should be three rows.");

date = resultSet.getLong("timemillis");
assertTrue("The date should be later than pre-logging (3).", date >= millis);
assertTrue("The date should be earlier than now (3).", date <= System.currentTimeMillis());
assertEquals("The level column is not correct (3).", "FATAL", resultSet.getString("level"));
assertEquals("The logger column is not correct (3).", logger2.getName(), resultSet.getString("loggerName"));
assertTrue(date >= millis, "The date should be later than pre-logging (3).");
assertTrue(date <= System.currentTimeMillis(), "The date should be earlier than now (3).");
assertEquals("FATAL", resultSet.getString("level"), "The level column is not correct (3).");
assertEquals(logger2.getName(), resultSet.getString("loggerName"), "The logger column is not correct (3).");
assertEquals(
"The message column is not correct (3).",
"A fatal warning has been issued.",
resultSet.getString("message"));
assertNull("The exception column is not correct (3).", resultSet.getString("thrown"));
resultSet.getString("message"),
"The message column is not correct (3).");
assertNull(resultSet.getString("thrown"), "The exception column is not correct (3).");

assertFalse("There should not be four rows.", resultSet.next());
assertFalse(resultSet.next(), "There should not be four rows.");
} finally {
this.tearDown();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,17 @@
*/
package org.apache.logging.log4j.core.appender.db.jpa;

import static org.junit.Assert.assertNull;
import static org.junit.jupiter.api.Assertions.assertNull;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.test.categories.Appenders;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

@Category(Appenders.Jpa.class)
@Tag("Appenders.Jpa")
public class JpaHsqldbAppenderTest extends AbstractJpaAppenderTest {
private static final String USER_ID = "sa";
private static final String PASSWORD = "123";
Expand Down Expand Up @@ -62,47 +61,47 @@ protected Connection setUpConnection() throws SQLException {
public void testNoEntityClassName() {
final JpaAppender appender = JpaAppender.createAppender("name", null, null, null, null, "jpaAppenderTestUnit");

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@Test
public void testNoPersistenceUnitName() {
final JpaAppender appender =
JpaAppender.createAppender("name", null, null, null, TestBaseEntity.class.getName(), null);

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@Test
public void testBadEntityClassName() {
final JpaAppender appender =
JpaAppender.createAppender("name", null, null, null, "com.foo.Bar", "jpaAppenderTestUnit");

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@Test
public void testNonLogEventEntity() {
final JpaAppender appender =
JpaAppender.createAppender("name", null, null, null, Object.class.getName(), "jpaAppenderTestUnit");

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@Test
public void testBadConstructorEntity01() {
final JpaAppender appender = JpaAppender.createAppender(
"name", null, null, null, BadConstructorEntity1.class.getName(), "jpaAppenderTestUnit");

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@Test
public void testBadConstructorEntity02() {
final JpaAppender appender = JpaAppender.createAppender(
"name", null, null, null, BadConstructorEntity2.class.getName(), "jpaAppenderTestUnit");

assertNull("The appender should be null.", appender);
assertNull(appender, "The appender should be null.");
}

@SuppressWarnings("unused")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.appender.db.jpa;

import static org.junit.jupiter.api.Assertions.assertNotSame;

import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
Expand All @@ -25,8 +27,7 @@
import org.apache.logging.log4j.core.time.Instant;
import org.apache.logging.log4j.core.time.MutableInstant;
import org.apache.logging.log4j.message.Message;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;

public class LogEventEntityTest {

Expand Down Expand Up @@ -116,12 +117,12 @@ public long getTimeMillis() {
return 0;
}
};
Assert.assertNotSame(logEvent, logEvent.toImmutable());
assertNotSame(logEvent, logEvent.toImmutable());
}

@Test
public void testToImmutable_TestBaseEntity() {
final LogEvent logEvent = new TestBaseEntity();
Assert.assertNotSame(logEvent, logEvent.toImmutable());
assertNotSame(logEvent, logEvent.toImmutable());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@
*/
package org.apache.logging.log4j.core.appender.db.jpa.converter;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;

import org.apache.logging.log4j.core.test.categories.Appenders;
import org.apache.logging.log4j.util.SortedArrayStringMap;
import org.apache.logging.log4j.util.StringMap;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;

@Category(Appenders.Jpa.class)
@Tag("Appenders.Jpa")
public class ContextDataAttributeConverterTest {
private ContextDataAttributeConverter converter;

@Before
@BeforeEach
public void setUp() {
this.converter = new ContextDataAttributeConverter();
}
Expand All @@ -42,7 +42,7 @@ public void testConvertToDatabaseColumn01() {
map.putValue("key2", "value2");

assertEquals(
"The converted value is not correct.", map.toString(), this.converter.convertToDatabaseColumn(map));
map.toString(), this.converter.convertToDatabaseColumn(map), "The converted value is not correct.");
}

@Test
Expand All @@ -53,16 +53,16 @@ public void testConvertToDatabaseColumn02() {
map.putValue("myKey", "yourValue");

assertEquals(
"The converted value is not correct.", map.toString(), this.converter.convertToDatabaseColumn(map));
map.toString(), this.converter.convertToDatabaseColumn(map), "The converted value is not correct.");
}

@Test
public void testConvertNullToDatabaseColumn() {
assertNull("The converted value should be null.", this.converter.convertToDatabaseColumn(null));
assertNull(this.converter.convertToDatabaseColumn(null), "The converted value should be null.");
}

@Test(expected = UnsupportedOperationException.class)
@Test
public void testConvertToEntityAttribute() {
this.converter.convertToEntityAttribute(null);
assertThrows(UnsupportedOperationException.class, () -> this.converter.convertToEntityAttribute(null));
}
}
Loading