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!'" />

Reply via email to