Skip to content

Commit e61d52f

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

File tree

4 files changed

+102
-0
lines changed

4 files changed

+102
-0
lines changed

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

Lines changed: 26 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,27 @@ 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+
//given
30+
MariaDBContainer<?> container = createContainer();
31+
container.start();
32+
33+
String expectedUrl =
34+
"r2dbc:mariadb://" +
35+
container.getHost() +
36+
":" +
37+
container.getMappedPort(MariaDBContainer.MARIADB_PORT) +
38+
"/" +
39+
container.getDatabaseName() +
40+
container.constructUrlParameters("?", "&");
41+
42+
//when
43+
String r2dbcUrl = MariaDBR2DBCDatabaseContainer.getR2dbcUrl(container);
44+
//then
45+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
46+
//clean-up
47+
container.stop();
48+
}
2349
}

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

Lines changed: 24 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,25 @@ protected String createR2DBCUrl() {
2023
protected MSSQLServerContainer<?> createContainer() {
2124
return new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE);
2225
}
26+
27+
@Test
28+
public void testGetR2DBCUrl() {
29+
//given
30+
MSSQLServerContainer<?> container = createContainer();
31+
container.start();
32+
33+
String expectedUrl =
34+
"r2dbc:sqlserver://" +
35+
container.getHost() +
36+
":" +
37+
container.getMappedPort(MSSQLServerContainer.MS_SQL_SERVER_PORT) +
38+
container.constructUrlParameters(";", ";");
39+
40+
//when
41+
String r2dbcUrl = MSSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
42+
//then
43+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
44+
//clean-up
45+
container.stop();
46+
}
2347
}

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

Lines changed: 26 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,27 @@ protected String createR2DBCUrl() {
2023
protected MySQLContainer<?> createContainer() {
2124
return new MySQLContainer<>(MySQLTestImages.MYSQL_80_IMAGE);
2225
}
26+
27+
@Test
28+
public void testGetR2DBCUrl() {
29+
//given
30+
MySQLContainer<?> container = createContainer();
31+
container.start();
32+
33+
String expectedUrl =
34+
"r2dbc:mysql://" +
35+
container.getHost() +
36+
":" +
37+
container.getMappedPort(MySQLContainer.MYSQL_PORT) +
38+
"/" +
39+
container.getDatabaseName() +
40+
container.constructUrlParameters("?", "&");
41+
42+
//when
43+
String r2dbcUrl = MySQLR2DBCDatabaseContainer.getR2dbcUrl(container);
44+
//then
45+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
46+
//clean-up
47+
container.stop();
48+
}
2349
}

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

Lines changed: 26 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,27 @@ 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+
//given
37+
PostgreSQLContainer<?> container = createContainer();
38+
container.start();
39+
40+
String expectedUrl =
41+
"r2dbc:postgresql://" +
42+
container.getHost() +
43+
":" +
44+
container.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT) +
45+
"/" +
46+
container.getDatabaseName() +
47+
container.constructUrlParameters("?", "&");
48+
49+
//when
50+
String r2dbcUrl = PostgreSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
51+
//then
52+
assertThat(expectedUrl).isEqualTo(r2dbcUrl);
53+
//clean-up
54+
container.stop();
55+
}
3056
}

0 commit comments

Comments
 (0)