Skip to content

Commit 43cd241

Browse files
wilkinsonaphilwebb
authored andcommitted
Rework Docker Compose integration tests
This commit introduces a new annotation, `@DockerComposeTest`, that allows a test class to have multiple tests, each of which uses a different Docker Compose YAML file. Closes gh-41154
1 parent 491f34d commit 43cd241

File tree

29 files changed

+324
-375
lines changed

29 files changed

+324
-375
lines changed

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/activemq/ActiveMQDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.activemq;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQConnectionDetails;
22-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
20+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2321
import org.springframework.boot.testsupport.container.TestImage;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
@@ -29,15 +27,10 @@
2927
*
3028
* @author Stephane Nicoll
3129
*/
32-
class ActiveMQDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
33-
34-
ActiveMQDockerComposeConnectionDetailsFactoryIntegrationTests() {
35-
super("activemq-compose.yaml", TestImage.ACTIVE_MQ);
36-
}
30+
class ActiveMQDockerComposeConnectionDetailsFactoryIntegrationTests {
3731

38-
@Test
39-
void runCreatesConnectionDetails() {
40-
ActiveMQConnectionDetails connectionDetails = run(ActiveMQConnectionDetails.class);
32+
@DockerComposeTest(composeFile = "activemq-compose.yaml", image = TestImage.ACTIVE_MQ)
33+
void runCreatesConnectionDetails(ActiveMQConnectionDetails connectionDetails) {
4134
assertThat(connectionDetails.getBrokerUrl()).isNotNull().startsWith("tcp://");
4235
assertThat(connectionDetails.getUser()).isEqualTo("root");
4336
assertThat(connectionDetails.getPassword()).isEqualTo("secret");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/cassandra/CassandraDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818

1919
import java.util.List;
2020

21-
import org.junit.jupiter.api.Test;
22-
2321
import org.springframework.boot.autoconfigure.cassandra.CassandraConnectionDetails;
2422
import org.springframework.boot.autoconfigure.cassandra.CassandraConnectionDetails.Node;
25-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
23+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2624
import org.springframework.boot.testsupport.container.TestImage;
2725

2826
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,15 +30,10 @@
3230
*
3331
* @author Scott Frederick
3432
*/
35-
class CassandraDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
36-
37-
CassandraDockerComposeConnectionDetailsFactoryIntegrationTests() {
38-
super("cassandra-compose.yaml", TestImage.CASSANDRA);
39-
}
33+
class CassandraDockerComposeConnectionDetailsFactoryIntegrationTests {
4034

41-
@Test
42-
void runCreatesConnectionDetails() {
43-
CassandraConnectionDetails connectionDetails = run(CassandraConnectionDetails.class);
35+
@DockerComposeTest(composeFile = "cassandra-compose.yaml", image = TestImage.CASSANDRA)
36+
void runCreatesConnectionDetails(CassandraConnectionDetails connectionDetails) {
4437
List<Node> contactPoints = connectionDetails.getContactPoints();
4538
assertThat(contactPoints).hasSize(1);
4639
Node node = contactPoints.get(0);

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/elasticsearch/ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.elasticsearch;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchConnectionDetails;
2220
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchConnectionDetails.Node;
2321
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchConnectionDetails.Node.Protocol;
24-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
22+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2523
import org.springframework.boot.testsupport.container.TestImage;
2624

2725
import static org.assertj.core.api.Assertions.assertThat;
@@ -33,15 +31,10 @@
3331
* @author Andy Wilkinson
3432
* @author Phillip Webb
3533
*/
36-
class ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
37-
38-
ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests() {
39-
super("elasticsearch-compose.yaml", TestImage.ELASTICSEARCH_8);
40-
}
34+
class ElasticsearchDockerComposeConnectionDetailsFactoryIntegrationTests {
4135

42-
@Test
43-
void runCreatesConnectionDetails() {
44-
ElasticsearchConnectionDetails connectionDetails = run(ElasticsearchConnectionDetails.class);
36+
@DockerComposeTest(composeFile = "elasticsearch-compose.yaml", image = TestImage.ELASTICSEARCH_8)
37+
void runCreatesConnectionDetails(ElasticsearchConnectionDetails connectionDetails) {
4538
assertThat(connectionDetails.getUsername()).isEqualTo("elastic");
4639
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
4740
assertThat(connectionDetails.getPathPrefix()).isNull();

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.flyway;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.flyway.FlywayConnectionDetails;
22-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
20+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2321
import org.springframework.boot.testsupport.container.TestImage;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
@@ -29,15 +27,10 @@
2927
*
3028
* @author Andy Wilkinson
3129
*/
32-
class JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
33-
34-
JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests() {
35-
super("flyway-compose.yaml", TestImage.POSTGRESQL);
36-
}
30+
class JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests {
3731

38-
@Test
39-
void runCreatesConnectionDetails() {
40-
FlywayConnectionDetails connectionDetails = run(FlywayConnectionDetails.class);
32+
@DockerComposeTest(composeFile = "flyway-compose.yaml", image = TestImage.POSTGRESQL)
33+
void runCreatesConnectionDetails(FlywayConnectionDetails connectionDetails) {
4134
assertThat(connectionDetails.getUsername()).isEqualTo("myuser");
4235
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
4336
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:postgresql://").endsWith("/mydatabase");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/liquibase/JdbcAdaptingLiquibaseConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.liquibase;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.liquibase.LiquibaseConnectionDetails;
22-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
20+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2321
import org.springframework.boot.testsupport.container.TestImage;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
@@ -29,15 +27,10 @@
2927
*
3028
* @author Andy Wilkinson
3129
*/
32-
class JdbcAdaptingLiquibaseConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
33-
34-
JdbcAdaptingLiquibaseConnectionDetailsFactoryIntegrationTests() {
35-
super("liquibase-compose.yaml", TestImage.POSTGRESQL);
36-
}
30+
class JdbcAdaptingLiquibaseConnectionDetailsFactoryIntegrationTests {
3731

38-
@Test
39-
void runCreatesConnectionDetails() {
40-
LiquibaseConnectionDetails connectionDetails = run(LiquibaseConnectionDetails.class);
32+
@DockerComposeTest(composeFile = "liquibase-compose.yaml", image = TestImage.POSTGRESQL)
33+
void runCreatesConnectionDetails(LiquibaseConnectionDetails connectionDetails) {
4134
assertThat(connectionDetails.getUsername()).isEqualTo("myuser");
4235
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
4336
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:postgresql://").endsWith("/mydatabase");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mariadb/MariaDbJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.mariadb;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.jdbc.JdbcConnectionDetails;
22-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
20+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2321
import org.springframework.boot.testsupport.container.TestImage;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
@@ -31,15 +29,10 @@
3129
* @author Andy Wilkinson
3230
* @author Phillip Webb
3331
*/
34-
class MariaDbJdbcDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
35-
36-
MariaDbJdbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
37-
super("mariadb-compose.yaml", TestImage.MARIADB);
38-
}
32+
class MariaDbJdbcDockerComposeConnectionDetailsFactoryIntegrationTests {
3933

40-
@Test
41-
void runCreatesConnectionDetails() {
42-
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
34+
@DockerComposeTest(composeFile = "mariadb-compose.yaml", image = TestImage.MARIADB)
35+
void runCreatesConnectionDetails(JdbcConnectionDetails connectionDetails) {
4336
assertThat(connectionDetails.getUsername()).isEqualTo("myuser");
4437
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
4538
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:mariadb://").endsWith("/mydatabase");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mariadb/MariaDbR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
package org.springframework.boot.docker.compose.service.connection.mariadb;
1818

1919
import io.r2dbc.spi.ConnectionFactoryOptions;
20-
import org.junit.jupiter.api.Test;
2120

2221
import org.springframework.boot.autoconfigure.r2dbc.R2dbcConnectionDetails;
23-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
22+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2423
import org.springframework.boot.testsupport.container.TestImage;
2524

2625
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,15 +31,10 @@
3231
* @author Andy Wilkinson
3332
* @author Phillip Webb
3433
*/
35-
class MariaDbR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
34+
class MariaDbR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests {
3635

37-
MariaDbR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
38-
super("mariadb-compose.yaml", TestImage.MARIADB);
39-
}
40-
41-
@Test
42-
void runCreatesConnectionDetails() {
43-
R2dbcConnectionDetails connectionDetails = run(R2dbcConnectionDetails.class);
36+
@DockerComposeTest(composeFile = "mariadb-compose.yaml", image = TestImage.MARIADB)
37+
void runCreatesConnectionDetails(R2dbcConnectionDetails connectionDetails) {
4438
ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions();
4539
assertThat(connectionFactoryOptions.toString()).contains("database=mydatabase", "driver=mariadb",
4640
"password=REDACTED", "user=myuser");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mongo/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
package org.springframework.boot.docker.compose.service.connection.mongo;
1818

1919
import com.mongodb.ConnectionString;
20-
import org.junit.jupiter.api.Test;
2120

2221
import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails;
23-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
22+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2423
import org.springframework.boot.testsupport.container.TestImage;
2524

2625
import static org.assertj.core.api.Assertions.assertThat;
@@ -33,15 +32,10 @@
3332
* @author Phillip Webb
3433
* @author Scott Frederick
3534
*/
36-
class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
35+
class MongoDockerComposeConnectionDetailsFactoryIntegrationTests {
3736

38-
MongoDockerComposeConnectionDetailsFactoryIntegrationTests() {
39-
super("mongo-compose.yaml", TestImage.MONGODB);
40-
}
41-
42-
@Test
43-
void runCreatesConnectionDetails() {
44-
MongoConnectionDetails connectionDetails = run(MongoConnectionDetails.class);
37+
@DockerComposeTest(composeFile = "mongo-compose.yaml", image = TestImage.MONGODB)
38+
void runCreatesConnectionDetails(MongoConnectionDetails connectionDetails) {
4539
ConnectionString connectionString = connectionDetails.getConnectionString();
4640
assertThat(connectionString.getCredential().getUserName()).isEqualTo("root");
4741
assertThat(connectionString.getCredential().getPassword()).isEqualTo("secret".toCharArray());

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mysql/MySqlJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.mysql;
1818

19-
import org.junit.jupiter.api.Test;
20-
2119
import org.springframework.boot.autoconfigure.jdbc.JdbcConnectionDetails;
22-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
20+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2321
import org.springframework.boot.testsupport.container.TestImage;
2422

2523
import static org.assertj.core.api.Assertions.assertThat;
@@ -31,15 +29,10 @@
3129
* @author Andy Wilkinson
3230
* @author Phillip Webb
3331
*/
34-
class MySqlJdbcDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
35-
36-
MySqlJdbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
37-
super("mysql-compose.yaml", TestImage.MYSQL);
38-
}
32+
class MySqlJdbcDockerComposeConnectionDetailsFactoryIntegrationTests {
3933

40-
@Test
41-
void runCreatesConnectionDetails() {
42-
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
34+
@DockerComposeTest(composeFile = "mysql-compose.yaml", image = TestImage.MYSQL)
35+
void runCreatesConnectionDetails(JdbcConnectionDetails connectionDetails) {
4336
assertThat(connectionDetails.getUsername()).isEqualTo("myuser");
4437
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
4538
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:mysql://").endsWith("/mydatabase");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mysql/MySqlR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
package org.springframework.boot.docker.compose.service.connection.mysql;
1818

1919
import io.r2dbc.spi.ConnectionFactoryOptions;
20-
import org.junit.jupiter.api.Test;
2120

2221
import org.springframework.boot.autoconfigure.r2dbc.R2dbcConnectionDetails;
23-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
22+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2423
import org.springframework.boot.testsupport.container.TestImage;
2524

2625
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,15 +31,10 @@
3231
* @author Andy Wilkinson
3332
* @author Phillip Webb
3433
*/
35-
class MySqlR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
34+
class MySqlR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests {
3635

37-
MySqlR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
38-
super("mysql-compose.yaml", TestImage.MYSQL);
39-
}
40-
41-
@Test
42-
void runCreatesConnectionDetails() {
43-
R2dbcConnectionDetails connectionDetails = run(R2dbcConnectionDetails.class);
36+
@DockerComposeTest(composeFile = "mysql-compose.yaml", image = TestImage.MYSQL)
37+
void runCreatesConnectionDetails(R2dbcConnectionDetails connectionDetails) {
4438
ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions();
4539
assertThat(connectionFactoryOptions.toString()).contains("database=mydatabase", "driver=mysql",
4640
"password=REDACTED", "user=myuser");

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/neo4j/Neo4jDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,12 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.neo4j;
1818

19-
import org.junit.jupiter.api.Test;
2019
import org.neo4j.driver.AuthTokens;
2120
import org.neo4j.driver.Driver;
2221
import org.neo4j.driver.GraphDatabase;
2322

2423
import org.springframework.boot.autoconfigure.neo4j.Neo4jConnectionDetails;
25-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
24+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2625
import org.springframework.boot.testsupport.container.TestImage;
2726

2827
import static org.assertj.core.api.Assertions.assertThat;
@@ -33,15 +32,10 @@
3332
*
3433
* @author Andy Wilkinson
3534
*/
36-
class Neo4jDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
35+
class Neo4jDockerComposeConnectionDetailsFactoryIntegrationTests {
3736

38-
Neo4jDockerComposeConnectionDetailsFactoryIntegrationTests() {
39-
super("neo4j-compose.yaml", TestImage.NEO4J);
40-
}
41-
42-
@Test
43-
void runCreatesConnectionDetailsThatCanAccessNeo4j() {
44-
Neo4jConnectionDetails connectionDetails = run(Neo4jConnectionDetails.class);
37+
@DockerComposeTest(composeFile = "neo4j-compose.yaml", image = TestImage.NEO4J)
38+
void runCreatesConnectionDetailsThatCanAccessNeo4j(Neo4jConnectionDetails connectionDetails) {
4539
assertThat(connectionDetails.getAuthToken()).isEqualTo(AuthTokens.basic("neo4j", "secret"));
4640
try (Driver driver = GraphDatabase.driver(connectionDetails.getUri(), connectionDetails.getAuthToken())) {
4741
assertThatNoException().isThrownBy(driver::verifyConnectivity);

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/oracle/OracleFreeJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@
2020
import java.time.Duration;
2121

2222
import org.awaitility.Awaitility;
23-
import org.junit.jupiter.api.Test;
2423
import org.junit.jupiter.api.condition.OS;
2524

2625
import org.springframework.boot.autoconfigure.jdbc.JdbcConnectionDetails;
27-
import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests;
26+
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
2827
import org.springframework.boot.jdbc.DatabaseDriver;
2928
import org.springframework.boot.testsupport.container.TestImage;
3029
import org.springframework.boot.testsupport.junit.DisabledOnOs;
@@ -41,17 +40,12 @@
4140
*/
4241
@DisabledOnOs(os = { OS.LINUX, OS.MAC }, architecture = "aarch64",
4342
disabledReason = "The Oracle image has no ARM support")
44-
class OracleFreeJdbcDockerComposeConnectionDetailsFactoryIntegrationTests
45-
extends AbstractDockerComposeIntegrationTests {
43+
class OracleFreeJdbcDockerComposeConnectionDetailsFactoryIntegrationTests {
4644

47-
OracleFreeJdbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
48-
super("oracle-compose.yaml", TestImage.ORACLE_FREE);
49-
}
50-
51-
@Test
5245
@SuppressWarnings("unchecked")
53-
void runCreatesConnectionDetailsThatCanBeUsedToAccessDatabase() throws Exception {
54-
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
46+
@DockerComposeTest(composeFile = "oracle-compose.yaml", image = TestImage.ORACLE_FREE)
47+
void runCreatesConnectionDetailsThatCanBeUsedToAccessDatabase(JdbcConnectionDetails connectionDetails)
48+
throws Exception {
5549
assertThat(connectionDetails.getUsername()).isEqualTo("app_user");
5650
assertThat(connectionDetails.getPassword()).isEqualTo("app_user_secret");
5751
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:oracle:thin:@").endsWith("/freepdb1");

0 commit comments

Comments
 (0)