From e010fab1f27e6255ceacbde8768e12b5fac0543d Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Fri, 17 Nov 2023 08:30:50 +0100 Subject: [PATCH] Switch to Testcontainers Oracle Free. Timeout increased from the default because that cause problems on CI. Brought SD JDBC now uses `ojdbc11` as R2DBC. Closes #1665 Original pull request #1668 --- spring-data-jdbc/pom.xml | 4 ++-- .../data/jdbc/testing/OracleDataSourceConfiguration.java | 8 ++++++-- spring-data-r2dbc/pom.xml | 2 +- .../data/r2dbc/testing/OracleTestSupport.java | 6 ++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml index 7370fad47..ee2ff3187 100644 --- a/spring-data-jdbc/pom.xml +++ b/spring-data-jdbc/pom.xml @@ -208,7 +208,7 @@ com.oracle.database.jdbc - ojdbc8 + ojdbc11 ${oracle.version} test @@ -251,7 +251,7 @@ org.testcontainers - oracle-xe + oracle-free test diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java index d6dbedb26..eb959da1d 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java @@ -24,7 +24,8 @@ import org.springframework.context.annotation.Profile; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; -import org.testcontainers.containers.OracleContainer; +import org.testcontainers.oracle.OracleContainer; +import org.testcontainers.utility.DockerImageName; /** * {@link DataSource} setup for Oracle Database XE. Starts a docker container with an Oracle database. @@ -50,7 +51,10 @@ public class OracleDataSourceConfiguration extends DataSourceConfiguration { if (ORACLE_CONTAINER == null) { LOG.info("Oracle starting..."); - OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true); + DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim"); + OracleContainer container = new OracleContainer(dockerImageName) // + .withStartupTimeoutSeconds(200) // + .withReuse(true); container.start(); LOG.info("Oracle started"); diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml index 847fb2f10..af1947d86 100644 --- a/spring-data-r2dbc/pom.xml +++ b/spring-data-r2dbc/pom.xml @@ -310,7 +310,7 @@ org.testcontainers - oracle-xe + oracle-free test diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java index 76598741b..c30b59052 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java @@ -29,7 +29,7 @@ import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.util.ClassUtils; -import org.testcontainers.containers.OracleContainer; +import org.testcontainers.oracle.OracleContainer; /** * Utility class for testing against Oracle. @@ -128,7 +128,9 @@ public class OracleTestSupport { if (testContainerDatabase == null) { try { - OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true); + OracleContainer container = new OracleContainer("23.3-slim") // + .withReuse(true) // + .withStartupTimeoutSeconds(200); // the default of 60s isn't sufficient container.start(); testContainerDatabase = ProvidedDatabase.builder(container) //