Browse Source

Upgrade to Testcontainers 2.0.

See spring-projects/spring-data-build#2688
pull/2166/head
Mark Paluch 2 months ago
parent
commit
888378ba0d
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 31
      spring-data-jdbc/pom.xml
  2. 7
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/Db2DataSourceConfiguration.java
  3. 6
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java
  4. 6
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MsSqlDataSourceConfiguration.java
  5. 6
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
  6. 6
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
  7. 24
      spring-data-r2dbc/pom.xml
  8. 4
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/MariaDbTestSupport.java
  9. 4
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/MySqlDbTestSupport.java
  10. 2
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java
  11. 4
      spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java

31
spring-data-jdbc/pom.xml

@ -23,18 +23,6 @@ @@ -23,18 +23,6 @@
<project.root>${basedir}/..</project.root>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
@ -248,9 +236,16 @@ @@ -248,9 +236,16 @@
<!-- Testcontainers -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<artifactId>testcontainers-mysql</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
@ -262,31 +257,31 @@ @@ -262,31 +257,31 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<artifactId>testcontainers-postgresql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mariadb</artifactId>
<artifactId>testcontainers-mariadb</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mssqlserver</artifactId>
<artifactId>testcontainers-mssqlserver</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>db2</artifactId>
<artifactId>testcontainers-db2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>oracle-free</artifactId>
<artifactId>testcontainers-oracle-free</artifactId>
<scope>test</scope>
</dependency>

7
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/Db2DataSourceConfiguration.java

@ -23,7 +23,8 @@ import org.springframework.context.annotation.Configuration; @@ -23,7 +23,8 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.testcontainers.containers.Db2Container;
import org.testcontainers.db2.Db2Container;
import org.testcontainers.utility.DockerImageName;
/**
* {@link DataSource} setup for DB2.
@ -50,7 +51,9 @@ class Db2DataSourceConfiguration extends DataSourceConfiguration { @@ -50,7 +51,9 @@ class Db2DataSourceConfiguration extends DataSourceConfiguration {
if (DB_2_CONTAINER == null) {
LOG.info("DB2 starting...");
Db2Container container = new Db2Container(DOCKER_IMAGE_NAME).withReuse(true);
Db2Container container = new Db2Container(
DockerImageName.parse(DOCKER_IMAGE_NAME).asCompatibleSubstituteFor("icr.io/db2_community/db2"))
.withReuse(true);
container.start();
LOG.info("DB2 started");

6
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java

@ -26,7 +26,7 @@ import org.springframework.context.annotation.Configuration; @@ -26,7 +26,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.jdbc.datasource.init.ScriptUtils;
import org.testcontainers.containers.MariaDBContainer;
import org.testcontainers.mariadb.MariaDBContainer;
/**
* {@link DataSource} setup for MariaDB. Starts a Docker-container with a MariaDB database, and sets up database "test".
@ -39,7 +39,7 @@ import org.testcontainers.containers.MariaDBContainer; @@ -39,7 +39,7 @@ import org.testcontainers.containers.MariaDBContainer;
@ConditionalOnDatabase(DatabaseType.MARIADB)
class MariaDBDataSourceConfiguration extends DataSourceConfiguration implements InitializingBean {
private static MariaDBContainer<?> MARIADB_CONTAINER;
private static MariaDBContainer MARIADB_CONTAINER;
public MariaDBDataSourceConfiguration(TestClass testClass, Environment environment) {
super(testClass, environment);
@ -50,7 +50,7 @@ class MariaDBDataSourceConfiguration extends DataSourceConfiguration implements @@ -50,7 +50,7 @@ class MariaDBDataSourceConfiguration extends DataSourceConfiguration implements
if (MARIADB_CONTAINER == null) {
MariaDBContainer<?> container = new MariaDBContainer<>("mariadb:10.8.3").withUsername("root").withPassword("")
MariaDBContainer container = new MariaDBContainer("mariadb:10.8.3").withUsername("root").withPassword("")
.withConfigurationOverride("");
container.start();

6
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MsSqlDataSourceConfiguration.java

@ -20,7 +20,7 @@ import javax.sql.DataSource; @@ -20,7 +20,7 @@ import javax.sql.DataSource;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.testcontainers.containers.MSSQLServerContainer;
import org.testcontainers.mssqlserver.MSSQLServerContainer;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
@ -39,7 +39,7 @@ import com.microsoft.sqlserver.jdbc.SQLServerDataSource; @@ -39,7 +39,7 @@ import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MsSqlDataSourceConfiguration extends DataSourceConfiguration {
public static final String MS_SQL_SERVER_VERSION = "mcr.microsoft.com/mssql/server:2022-latest";
private static MSSQLServerContainer<?> MSSQL_CONTAINER;
private static MSSQLServerContainer MSSQL_CONTAINER;
public MsSqlDataSourceConfiguration(TestClass testClass, Environment environment) {
super(testClass, environment);
@ -50,7 +50,7 @@ public class MsSqlDataSourceConfiguration extends DataSourceConfiguration { @@ -50,7 +50,7 @@ public class MsSqlDataSourceConfiguration extends DataSourceConfiguration {
if (MSSQL_CONTAINER == null) {
MSSQLServerContainer<?> container = new MSSQLServerContainer<>(MS_SQL_SERVER_VERSION) //
MSSQLServerContainer container = new MSSQLServerContainer(MS_SQL_SERVER_VERSION) //
.withReuse(true);
container.start();

6
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java

@ -24,7 +24,7 @@ import org.springframework.context.annotation.Configuration; @@ -24,7 +24,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.jdbc.datasource.init.ScriptUtils;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.mysql.MySQLContainer;
import com.mysql.cj.jdbc.MysqlDataSource;
@ -41,7 +41,7 @@ import com.mysql.cj.jdbc.MysqlDataSource; @@ -41,7 +41,7 @@ import com.mysql.cj.jdbc.MysqlDataSource;
@ConditionalOnDatabase(DatabaseType.MYSQL)
class MySqlDataSourceConfiguration extends DataSourceConfiguration implements InitializingBean {
private static MySQLContainer<?> MYSQL_CONTAINER;
private static MySQLContainer MYSQL_CONTAINER;
public MySqlDataSourceConfiguration(TestClass testClass, Environment environment) {
super(testClass, environment);
@ -52,7 +52,7 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration implements In @@ -52,7 +52,7 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration implements In
if (MYSQL_CONTAINER == null) {
MySQLContainer<?> container = new MySQLContainer<>("mysql:8.0.29").withUsername("test").withPassword("test")
MySQLContainer container = new MySQLContainer("mysql:8.0.29").withUsername("test").withPassword("test")
.withConfigurationOverride("");
container.start();

6
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java

@ -21,7 +21,7 @@ import org.postgresql.ds.PGSimpleDataSource; @@ -21,7 +21,7 @@ import org.postgresql.ds.PGSimpleDataSource;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.postgresql.PostgreSQLContainer;
/**
* {@link DataSource} setup for PostgreSQL. Starts a docker container with a Postgres database.
@ -35,7 +35,7 @@ import org.testcontainers.containers.PostgreSQLContainer; @@ -35,7 +35,7 @@ import org.testcontainers.containers.PostgreSQLContainer;
@ConditionalOnDatabase(DatabaseType.POSTGRES)
public class PostgresDataSourceConfiguration extends DataSourceConfiguration {
private static PostgreSQLContainer<?> POSTGRESQL_CONTAINER;
private static PostgreSQLContainer POSTGRESQL_CONTAINER;
public PostgresDataSourceConfiguration(TestClass testClass, Environment environment) {
super(testClass, environment);
@ -46,7 +46,7 @@ public class PostgresDataSourceConfiguration extends DataSourceConfiguration { @@ -46,7 +46,7 @@ public class PostgresDataSourceConfiguration extends DataSourceConfiguration {
if (POSTGRESQL_CONTAINER == null) {
PostgreSQLContainer<?> container = new PostgreSQLContainer<>("postgres:14.3");
PostgreSQLContainer container = new PostgreSQLContainer("postgres:14.3");
container.start();
POSTGRESQL_CONTAINER = container;

24
spring-data-r2dbc/pom.xml

@ -35,13 +35,6 @@ @@ -35,13 +35,6 @@
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
@ -247,9 +240,16 @@ @@ -247,9 +240,16 @@
<!-- Testcontainers -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<artifactId>testcontainers-mysql</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
@ -261,7 +261,7 @@ @@ -261,7 +261,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mariadb</artifactId>
<artifactId>testcontainers-mariadb</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
@ -273,7 +273,7 @@ @@ -273,7 +273,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mssqlserver</artifactId>
<artifactId>testcontainers-mssqlserver</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
@ -285,13 +285,13 @@ @@ -285,13 +285,13 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>oracle-free</artifactId>
<artifactId>testcontainers-oracle-free</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<artifactId>testcontainers-postgresql</artifactId>
<scope>test</scope>
</dependency>

4
spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/MariaDbTestSupport.java

@ -27,7 +27,7 @@ import javax.sql.DataSource; @@ -27,7 +27,7 @@ import javax.sql.DataSource;
import org.mariadb.jdbc.MariaDbDataSource;
import org.mariadb.r2dbc.MariadbConnectionFactoryProvider;
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
import org.testcontainers.containers.MariaDBContainer;
import org.testcontainers.mariadb.MariaDBContainer;
import org.testcontainers.utility.DockerImageName;
/**
@ -123,7 +123,7 @@ public class MariaDbTestSupport { @@ -123,7 +123,7 @@ public class MariaDbTestSupport {
.asCompatibleSubstituteFor("mariadb");
DockerImageName mariadb = DockerImageName.parse("mariadb").withTag("10.3.6");
var container = new MariaDBContainer<>("aarch64".equals(osArch) ? armImageName : mariadb);
var container = new MariaDBContainer("aarch64".equals(osArch) ? armImageName : mariadb);
container.start();

4
spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/MySqlDbTestSupport.java

@ -25,7 +25,7 @@ import java.util.stream.Stream; @@ -25,7 +25,7 @@ import java.util.stream.Stream;
import javax.sql.DataSource;
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
import org.testcontainers.containers.MySQLContainer;
import org.testcontainers.mysql.MySQLContainer;
import com.mysql.cj.jdbc.MysqlDataSource;
@ -116,7 +116,7 @@ public class MySqlDbTestSupport { @@ -116,7 +116,7 @@ public class MySqlDbTestSupport {
try {
var container = new MySQLContainer<>("mysql:8.0.32").withUsername("test").withPassword("test")
var container = new MySQLContainer("mysql:8.0.32").withUsername("test").withPassword("test")
.withConfigurationOverride("");
container.start();

2
spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/PostgresTestSupport.java

@ -24,7 +24,7 @@ import javax.sql.DataSource; @@ -24,7 +24,7 @@ import javax.sql.DataSource;
import org.postgresql.ds.PGSimpleDataSource;
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.postgresql.PostgreSQLContainer;
/**
* Utility class for testing against Postgres.

4
spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/SqlServerTestSupport.java

@ -23,7 +23,7 @@ import java.util.stream.Stream; @@ -23,7 +23,7 @@ import java.util.stream.Stream;
import javax.sql.DataSource;
import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
import org.testcontainers.containers.MSSQLServerContainer;
import org.testcontainers.mssqlserver.MSSQLServerContainer;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
@ -124,7 +124,7 @@ public class SqlServerTestSupport { @@ -124,7 +124,7 @@ public class SqlServerTestSupport {
if (testContainerDatabase == null) {
try {
MSSQLServerContainer<?> container = new MSSQLServerContainer("mcr.microsoft.com/mssql/server:2022-latest") {
MSSQLServerContainer container = new MSSQLServerContainer("mcr.microsoft.com/mssql/server:2022-latest") {
@Override
public String getDatabaseName() {
return "master";

Loading…
Cancel
Save