Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ public class MariaDBR2DBCDatabaseContainer implements R2DBCDatabaseContainer {
@Delegate(types = Startable.class)
private final MariaDBContainer<?> container;

public static String getR2dbcUrl(MariaDBContainer<?> container) {
return String.format(
"r2dbc:mariadb://%s:%d/%s",
container.getHost(),
container.getMappedPort(MariaDBContainer.MARIADB_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(MariaDBContainer<?> container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ public MariaDBR2DBCDatabaseContainer(MariaDBContainer container) {
this.container = container;
}

public static String getR2dbcUrl(MariaDBContainer container) {
return String.format(
"r2dbc:mariadb://%s:%d/%s",
container.getHost(),
container.getMappedPort(MariaDBContainer.MARIADB_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(MariaDBContainer container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.containers;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
import org.testcontainers.utility.DockerImageName;

Expand All @@ -20,4 +25,27 @@ protected String createR2DBCUrl() {
protected MariaDBContainer<?> createContainer() {
return new MariaDBContainer<>(DockerImageName.parse("mariadb:10.3.39"));
}

@Test
void testGetR2dbcUrl() {
try (
MariaDBContainer<?> container = new MariaDBContainer<>(DockerImageName.parse("mariadb:10.3.39"))
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = MariaDBR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.mariadb;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;
import org.testcontainers.utility.DockerImageName;

Expand All @@ -20,4 +25,27 @@ protected String createR2DBCUrl() {
protected MariaDBContainer createContainer() {
return new MariaDBContainer(DockerImageName.parse("mariadb:10.3.39"));
}

@Test
void testGetR2dbcUrl() {
try (
MariaDBContainer container = new MariaDBContainer(DockerImageName.parse("mariadb:10.3.39"))
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = MariaDBR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ public class MySQLR2DBCDatabaseContainer implements R2DBCDatabaseContainer {
@Delegate(types = Startable.class)
private final MySQLContainer<?> container;

public static String getR2dbcUrl(MySQLContainer<?> container) {
return String.format(
"r2dbc:mysql://%s:%d/%s",
container.getHost(),
container.getMappedPort(MySQLContainer.MYSQL_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(MySQLContainer<?> container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ public MySQLR2DBCDatabaseContainer(MySQLContainer container) {
this.container = container;
}

public static String getR2dbcUrl(MySQLContainer container) {
return String.format(
"r2dbc:mysql://%s:%d/%s",
container.getHost(),
container.getMappedPort(MySQLContainer.MYSQL_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(MySQLContainer container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.containers;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.MySQLTestImages;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;

Expand All @@ -20,4 +25,27 @@ protected String createR2DBCUrl() {
protected MySQLContainer<?> createContainer() {
return new MySQLContainer<>(MySQLTestImages.MYSQL_80_IMAGE);
}

@Test
void testGetR2dbcUrl() {
try (
MySQLContainer<?> container = new MySQLContainer<>(MySQLTestImages.MYSQL_80_IMAGE)
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = MySQLR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.mysql;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.MySQLTestImages;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;

Expand All @@ -20,4 +25,27 @@ protected String createR2DBCUrl() {
protected MySQLContainer createContainer() {
return new MySQLContainer(MySQLTestImages.MYSQL_80_IMAGE);
}

@Test
void testGetR2dbcUrl() {
try (
MySQLContainer container = new MySQLContainer(MySQLTestImages.MYSQL_80_IMAGE)
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = MySQLR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ public final class PostgreSQLR2DBCDatabaseContainer implements R2DBCDatabaseCont
@Delegate(types = Startable.class)
private final PostgreSQLContainer<?> container;

public static String getR2dbcUrl(PostgreSQLContainer<?> container) {
return String.format(
"r2dbc:postgresql://%s:%d/%s",
container.getHost(),
container.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(PostgreSQLContainer<?> container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ public PostgreSQLR2DBCDatabaseContainer(PostgreSQLContainer container) {
this.container = container;
}

public static String getR2dbcUrl(PostgreSQLContainer container) {
return String.format(
"r2dbc:postgresql://%s:%d/%s",
container.getHost(),
container.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT),
container.getDatabaseName()
);
}

public static ConnectionFactoryOptions getOptions(PostgreSQLContainer container) {
ConnectionFactoryOptions options = ConnectionFactoryOptions
.builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.containers;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.PostgreSQLTestImages;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;

Expand All @@ -27,4 +32,27 @@ protected ConnectionFactoryOptions getOptions(PostgreSQLContainer<?> container)
protected String createR2DBCUrl() {
return "r2dbc:tc:postgresql:///db?TC_IMAGE_TAG=10-alpine";
}

@Test
void testGetR2dbcUrl() {
try (
PostgreSQLContainer<?> container = new PostgreSQLContainer<>(PostgreSQLTestImages.POSTGRES_TEST_IMAGE)
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = PostgreSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.testcontainers.postgresql;

import static org.assertj.core.api.Assertions.assertThat;

import io.r2dbc.spi.ConnectionFactories;
import io.r2dbc.spi.ConnectionFactory;
import io.r2dbc.spi.ConnectionFactoryOptions;
import org.junit.jupiter.api.Test;
import org.testcontainers.PostgreSQLTestImages;
import org.testcontainers.r2dbc.AbstractR2DBCDatabaseContainerTest;

Expand All @@ -27,4 +32,27 @@ protected ConnectionFactoryOptions getOptions(PostgreSQLContainer container) {
protected String createR2DBCUrl() {
return "r2dbc:tc:postgresql:///db?TC_IMAGE_TAG=10-alpine";
}

@Test
void testGetR2dbcUrl() {
try (
PostgreSQLContainer container = new PostgreSQLContainer(PostgreSQLTestImages.POSTGRES_TEST_IMAGE)
.withDatabaseName("testdb")
.withUsername("testuser")
.withPassword("testpass")
) {
container.start();
String url = PostgreSQLR2DBCDatabaseContainer.getR2dbcUrl(container);
assertThat(url).contains("/testdb");
ConnectionFactory connectionFactory = ConnectionFactories.get(
ConnectionFactoryOptions
.parse(url)
.mutate()
.option(ConnectionFactoryOptions.USER, container.getUsername())
.option(ConnectionFactoryOptions.PASSWORD, container.getPassword())
.build()
);
runTestQuery(connectionFactory);
}
}
}
Loading