Skip to content

Commit 67e4c16

Browse files
committed
Add test and getR2dbcUrl on MariaDB, MySQL, PostgreSQL, MsSQL
1 parent 1d16803 commit 67e4c16

File tree

4 files changed

+86
-0
lines changed

4 files changed

+86
-0
lines changed

modules/mariadb/src/test/java/org/testcontainers/containers/MariaDBR2DBCDatabaseContainerTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.testcontainers.containers;
22

33
import io.r2dbc.spi.ConnectionFactoryOptions;
4+
import org.junit.Test;
45
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
56
import org.testcontainers.utility.DockerImageName;
67

8+
import static org.assertj.core.api.Assertions.assertThat;
9+
710
public class MariaDBR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest<MariaDBContainer<?>> {
811

912
@Override
@@ -20,4 +23,23 @@ protected String createR2DBCUrl() {
2023
protected MariaDBContainer<?> createContainer() {
2124
return new MariaDBContainer<>(DockerImageName.parse("mariadb:10.3.39"));
2225
}
26+
27+
@Test
28+
public void testGetR2DBCUrl() {
29+
MariaDBContainer<?> container = createContainer();
30+
container.start();
31+
32+
String expectedUrl =
33+
"r2dbc:mariadb://" +
34+
container.getHost() +
35+
":" +
36+
container.getMappedPort(MariaDBContainer.MARIADB_PORT) +
37+
"/" +
38+
container.getDatabaseName() +
39+
container.constructUrlParameters("?", "&");
40+
41+
String r2dbcUrl = MariaDBR2DBCDatabaseContainer.getR2dbcUrl(container);
42+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
43+
container.stop();
44+
}
2345
}

modules/mssqlserver/src/test/java/org/testcontainers/containers/MSSQLR2DBCDatabaseContainerTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.testcontainers.containers;
22

33
import io.r2dbc.spi.ConnectionFactoryOptions;
4+
import org.junit.Test;
45
import org.testcontainers.MSSQLServerTestImages;
56
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
67

8+
import static org.assertj.core.api.Assertions.assertThat;
9+
710
public class MSSQLR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest<MSSQLServerContainer<?>> {
811

912
@Override
@@ -20,4 +23,21 @@ protected String createR2DBCUrl() {
2023
protected MSSQLServerContainer<?> createContainer() {
2124
return new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE);
2225
}
26+
27+
@Test
28+
public void testGetR2DBCUrl() {
29+
MSSQLServerContainer<?> container = createContainer();
30+
container.start();
31+
32+
String expectedUrl =
33+
"r2dbc:sqlserver://" +
34+
container.getHost() +
35+
":" +
36+
container.getMappedPort(MSSQLServerContainer.MS_SQL_SERVER_PORT) +
37+
container.constructUrlParameters(";", ";");
38+
39+
String r2dbcUrl = MSSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
40+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
41+
container.stop();
42+
}
2343
}

modules/mysql/src/test/java/org/testcontainers/containers/MySQLR2DBCDatabaseContainerTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.testcontainers.containers;
22

33
import io.r2dbc.spi.ConnectionFactoryOptions;
4+
import org.junit.Test;
45
import org.testcontainers.MySQLTestImages;
56
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
67

8+
import static org.assertj.core.api.Assertions.assertThat;
9+
710
public class MySQLR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest<MySQLContainer<?>> {
811

912
@Override
@@ -20,4 +23,23 @@ protected String createR2DBCUrl() {
2023
protected MySQLContainer<?> createContainer() {
2124
return new MySQLContainer<>(MySQLTestImages.MYSQL_80_IMAGE);
2225
}
26+
27+
@Test
28+
public void testGetR2DBCUrl() {
29+
MySQLContainer<?> container = createContainer();
30+
container.start();
31+
32+
String expectedUrl =
33+
"r2dbc:mysql://" +
34+
container.getHost() +
35+
":" +
36+
container.getMappedPort(MySQLContainer.MYSQL_PORT) +
37+
"/" +
38+
container.getDatabaseName() +
39+
container.constructUrlParameters("?", "&");
40+
41+
String r2dbcUrl = MySQLR2DBCDatabaseContainer.getR2dbcUrl(container);
42+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
43+
container.stop();
44+
}
2345
}

modules/postgresql/src/test/java/org/testcontainers/containers/PostgreSQLR2DBCDatabaseContainerTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.testcontainers.containers;
22

33
import io.r2dbc.spi.ConnectionFactoryOptions;
4+
import org.junit.Test;
45
import org.testcontainers.PostgreSQLTestImages;
56
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
67

8+
import static org.assertj.core.api.Assertions.assertThat;
9+
710
public class PostgreSQLR2DBCDatabaseContainerTest extends AbstractR2DBCDatabaseContainerTest<PostgreSQLContainer<?>> {
811

912
@Override
@@ -27,4 +30,23 @@ protected ConnectionFactoryOptions getOptions(PostgreSQLContainer<?> container)
2730
protected String createR2DBCUrl() {
2831
return "r2dbc:tc:postgresql:///db?TC_IMAGE_TAG=10-alpine";
2932
}
33+
34+
@Test
35+
public void testGetR2DBCUrl() {
36+
PostgreSQLContainer<?> container = createContainer();
37+
container.start();
38+
39+
String expectedUrl =
40+
"r2dbc:postgresql://" +
41+
container.getHost() +
42+
":" +
43+
container.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT) +
44+
"/" +
45+
container.getDatabaseName() +
46+
container.constructUrlParameters("?", "&");
47+
48+
String r2dbcUrl = PostgreSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
49+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
50+
container.stop();
51+
}
3052
}

0 commit comments

Comments
 (0)