Skip to content

Commit 1c5ffc9

Browse files
committed
Add getR2dbcUrl Method on MariaDB, MySQL, PostgreSQL, MsSQL
1 parent 15a150a commit 1c5ffc9

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBR2DBCDatabaseContainer.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,11 @@ public ConnectionFactoryOptions configure(ConnectionFactoryOptions options) {
3232
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
3333
.build();
3434
}
35+
36+
public static String getR2dbcUrl(MariaDBContainer<?> container) {
37+
String additionalUrlParams = container.constructUrlParameters("?", "&");
38+
return (
39+
"r2dbc:mariadb://" + container.getHost() + ":" + container.getMappedPort(MariaDBContainer.MARIADB_PORT) + "/" + container.getDatabaseName() + additionalUrlParams
40+
);
41+
}
3542
}

modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLR2DBCDatabaseContainer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ public ConnectionFactoryOptions configure(ConnectionFactoryOptions options) {
3333
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
3434
.build();
3535
}
36+
37+
public static String getR2dbcUrl(MSSQLServerContainer<?> container) {
38+
String additionalUrlParams = container.constructUrlParameters(";", ";");
39+
return "r2dbc:sqlserver://" + container.getHost() + ":" + container.getMappedPort(MSSQLServerContainer.MS_SQL_SERVER_PORT) + additionalUrlParams;
40+
}
3641
}

modules/mysql/src/main/java/org/testcontainers/containers/MySQLR2DBCDatabaseContainer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@ public ConnectionFactoryOptions configure(ConnectionFactoryOptions options) {
3232
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
3333
.build();
3434
}
35+
36+
public static String getR2dbcUrl(MySQLContainer<?> container) {
37+
String additionalUrlParams = container.constructUrlParameters("?", "&");
38+
return "r2dbc:mysql://" + container.getHost() + ":" + container.getMappedPort(MySQLContainer.MYSQL_PORT) + "/" + container.getDatabaseName() + additionalUrlParams;
39+
}
3540
}

modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLR2DBCDatabaseContainer.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,17 @@ public ConnectionFactoryOptions configure(ConnectionFactoryOptions options) {
3232
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
3333
.build();
3434
}
35+
36+
public static String getR2dbcUrl(PostgreSQLContainer<?> container) {
37+
String additionalUrlParams = container.constructUrlParameters("?", "&");
38+
return (
39+
"r2dbc:postgresql://" +
40+
container.getHost() +
41+
":" +
42+
container.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT) +
43+
"/" +
44+
container.getDatabaseName() +
45+
additionalUrlParams
46+
);
47+
}
3548
}

0 commit comments

Comments
 (0)