This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main by this push:
new 8c82c700f1 Remove H2 file-based databases and deprecated methods
8c82c700f1 is described below
commit 8c82c700f11544a2be0c88804b04e7602f300e72
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Tue Nov 7 13:38:08 2023 +0100
Remove H2 file-based databases and deprecated methods
This improves parallelization of the tests. Also it removes/renames the
methods that were deprecated in `2.x`.
---
.../log4j/jdbc/appender/AbstractH2Test.java | 43 ----------------------
.../DriverManagerH2ConnectionSourceTest.java | 2 +-
.../JdbcAppenderColumnMappingLiteralTest.java | 4 +-
.../JdbcAppenderColumnMappingPatternTest.java | 2 +-
.../JdbcAppenderMapMessageDataSourceTest.java | 12 ------
.../log4j/jdbc/appender/JdbcH2TestHelper.java | 37 +++++--------------
.../appender/log4j2-dm-column-mapping-literal.xml | 2 +-
7 files changed, 15 insertions(+), 87 deletions(-)
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractH2Test.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractH2Test.java
deleted file mode 100644
index 1dfb421a5e..0000000000
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractH2Test.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.logging.log4j.jdbc.appender;
-
-import java.io.IOException;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-
-/**
- * Abstracts H2 test clean up.
- */
-public abstract class AbstractH2Test {
-
- @AfterClass
- @BeforeClass
- public static void classDeleteDir() throws IOException {
- JdbcH2TestHelper.deleteDir();
- }
-
- @After
- @Before
- public void deleteDir() throws IOException {
- JdbcH2TestHelper.deleteDir();
- }
-
-}
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DriverManagerH2ConnectionSourceTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DriverManagerH2ConnectionSourceTest.java
index db55c1aebd..aaea32b299 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DriverManagerH2ConnectionSourceTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DriverManagerH2ConnectionSourceTest.java
@@ -23,7 +23,7 @@ import org.apache.logging.log4j.core.config.Property;
import org.junit.Assert;
import org.junit.Test;
-public class DriverManagerH2ConnectionSourceTest extends AbstractH2Test {
+public class DriverManagerH2ConnectionSourceTest {
@Test
public void testH2Properties() throws SQLException {
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingLiteralTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingLiteralTest.java
index 9f663eb1b5..a149a3cf46 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingLiteralTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingLiteralTest.java
@@ -35,14 +35,14 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-public class JdbcAppenderColumnMappingLiteralTest extends AbstractH2Test {
+public class JdbcAppenderColumnMappingLiteralTest {
@Rule
public final RuleChain rules;
private final JdbcRule jdbcRule;
public JdbcAppenderColumnMappingLiteralTest() {
- this(new JdbcRule(JdbcH2TestHelper.TEST_CONFIGURATION_SOURCE_TMPDIR,
+ this(new JdbcRule(JdbcH2TestHelper.TEST_CONFIGURATION_SOURCE_MEM_PERM,
"CREATE TABLE dsMappingLogEntry (id INTEGER GENERATED BY
DEFAULT AS IDENTITY, "
+ " level VARCHAR(10), logger VARCHAR(255), message
VARCHAR(1024), exception CLOB)",
"DROP TABLE IF EXISTS dsMappingLogEntry"));
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingPatternTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingPatternTest.java
index c3e8aa937e..a3ed4b930b 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingPatternTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderColumnMappingPatternTest.java
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-public class JdbcAppenderColumnMappingPatternTest extends AbstractH2Test {
+public class JdbcAppenderColumnMappingPatternTest {
@Rule
public final RuleChain rules;
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
index bc1197ec8f..b3533f5141 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
@@ -17,7 +17,6 @@
package org.apache.logging.log4j.jdbc.appender;
import java.io.ByteArrayOutputStream;
-import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -34,7 +33,6 @@ import org.apache.logging.log4j.core.util.Throwables;
import org.apache.logging.log4j.jndi.test.junit.JndiRule;
import org.apache.logging.log4j.message.MapMessage;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
@@ -79,16 +77,6 @@ public class JdbcAppenderMapMessageDataSourceTest {
this.jdbcRule = jdbcRule;
}
- @Before
- public void afterEachDeleteDir() throws IOException {
- JdbcH2TestHelper.deleteDir();
- }
-
- @Before
- public void beforeEachDeleteDir() throws IOException {
- JdbcH2TestHelper.deleteDir();
- }
-
private DataSource createMockDataSource() {
try {
final DataSource dataSource = mock(DataSource.class);
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcH2TestHelper.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcH2TestHelper.java
index 9d2d6ae89a..c7419af0ae 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcH2TestHelper.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcH2TestHelper.java
@@ -16,27 +16,23 @@
*/
package org.apache.logging.log4j.jdbc.appender;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-import org.apache.commons.io.file.PathUtils;
-import org.apache.commons.lang3.SystemUtils;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
public class JdbcH2TestHelper {
/**
* A JDBC connection string for an H2 in-memory database.
*/
- public static final String CONNECTION_STRING_IN_MEMORY =
"jdbc:h2:mem:Log4j";
+ static final String CONNECTION_STRING_IN_MEMORY = "jdbc:h2:mem:Log4j";
/**
- * A JDBC connection string for an H2 database in the Java temporary
directory.
+ * A JDBC connection string for a permanent H2 database.
*/
- static final String CONNECTION_STRING_TEMP_DIR = "jdbc:h2:" + getH2Path()
+ ";TRACE_LEVEL_SYSTEM_OUT=0";
+ private static final String CONNECTION_STRING_IN_MEMORY_PERMANENT =
"jdbc:h2:mem:Log4j_perm;DB_CLOSE_DELAY=-1";
public static final String USER_NAME = "sa";
public static final String PASSWORD = "";
@@ -48,33 +44,20 @@ public class JdbcH2TestHelper {
}
};
- public static ConnectionSource TEST_CONFIGURATION_SOURCE_TMPDIR = new
AbstractConnectionSource() {
+ public static ConnectionSource TEST_CONFIGURATION_SOURCE_MEM_PERM = new
AbstractConnectionSource() {
@Override
public Connection getConnection() throws SQLException {
- return JdbcH2TestHelper.getConnectionTempDir();
+ return JdbcH2TestHelper.getConnectionInMemoryPermanent();
}
};
- /** Directory used in configuration files and connection strings. */
- static final String H2_TEST_RELATIVE_DIR = "h2/test_log4j";
-
- static void deleteDir() throws IOException {
- final Path resolve = getH2Path().getParent();
- if (Files.exists(resolve)) {
- PathUtils.deleteDirectory(resolve);
- }
- }
-
- public static Connection getConnectionInMemory() throws SQLException {
+ static Connection getConnectionInMemory() throws SQLException {
return DriverManager.getConnection(CONNECTION_STRING_IN_MEMORY,
USER_NAME, PASSWORD);
}
- public static Connection getConnectionTempDir() throws SQLException {
- return DriverManager.getConnection(CONNECTION_STRING_TEMP_DIR,
USER_NAME, PASSWORD);
- }
-
- private static Path getH2Path() {
- return
SystemUtils.getJavaIoTmpDir().toPath().resolve(H2_TEST_RELATIVE_DIR).normalize();
+ @SuppressFBWarnings(value = "DMI_EMPTY_DB_PASSWORD")
+ static Connection getConnectionInMemoryPermanent() throws SQLException {
+ return
DriverManager.getConnection(CONNECTION_STRING_IN_MEMORY_PERMANENT, USER_NAME,
PASSWORD);
}
}
diff --git
a/log4j-jdbc/src/test/resources/org/apache/logging/log4j/jdbc/appender/log4j2-dm-column-mapping-literal.xml
b/log4j-jdbc/src/test/resources/org/apache/logging/log4j/jdbc/appender/log4j2-dm-column-mapping-literal.xml
index 385d3ae1b4..1a2debfb19 100644
---
a/log4j-jdbc/src/test/resources/org/apache/logging/log4j/jdbc/appender/log4j2-dm-column-mapping-literal.xml
+++
b/log4j-jdbc/src/test/resources/org/apache/logging/log4j/jdbc/appender/log4j2-dm-column-mapping-literal.xml
@@ -22,7 +22,7 @@
<PatternLayout pattern="%C{1.} %m %level MDC%X%n"/>
</Console>
<Jdbc name="databaseAppender" tableName="dsMappingLogEntry"
ignoreExceptions="false">
- <DriverManager
connectionString="jdbc:h2:${sys:java.io.tmpdir}/h2/test_log4j;TRACE_LEVEL_SYSTEM_OUT=0"
userName="sa" password="" />
+ <DriverManager
connectionString="jdbc:h2:mem:Log4j_perm;DB_CLOSE_DELAY=-1" userName="sa"
password="" />
<ColumnMapping name="level" pattern="%level" />
<ColumnMapping name="logger" pattern="%logger" />
<ColumnMapping name="message" literal="'Hello World!'" />