From 8fd36d04e191c2f0c5bc19bc82a8e3dcd3d8eea7 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 25 Apr 2023 10:30:56 +0100 Subject: [PATCH] Improve MsSqlServerR2dbcDockerComposeConnectionDetailsFactory tests See gh-35144 --- .../spring-boot-docker-compose/build.gradle | 1 + ...mposeConnectionDetailsFactoryIntegrationTests.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-docker-compose/build.gradle b/spring-boot-project/spring-boot-docker-compose/build.gradle index 4fd5afde00..588e65cfe6 100644 --- a/spring-boot-project/spring-boot-docker-compose/build.gradle +++ b/spring-boot-project/spring-boot-docker-compose/build.gradle @@ -30,4 +30,5 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter") testRuntimeOnly("com.microsoft.sqlserver:mssql-jdbc") + testRuntimeOnly("io.r2dbc:r2dbc-mssql") } diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/sqlserver/MsSqlServerR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/sqlserver/MsSqlServerR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java index 07a661b3a9..dcc888a187 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/sqlserver/MsSqlServerR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/sqlserver/MsSqlServerR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,11 +16,14 @@ package org.springframework.boot.docker.compose.service.connection.sqlserver; +import io.r2dbc.spi.ConnectionFactories; import io.r2dbc.spi.ConnectionFactoryOptions; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.r2dbc.R2dbcConnectionDetails; import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIntegrationTests; +import org.springframework.boot.jdbc.DatabaseDriver; +import org.springframework.r2dbc.core.DatabaseClient; import static org.assertj.core.api.Assertions.assertThat; @@ -37,12 +40,18 @@ class MsSqlServerR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests } @Test - void runCreatesConnectionDetails() { + void runCreatesConnectionDetailsThatCanBeUsedToAccessDatabase() { R2dbcConnectionDetails connectionDetails = run(R2dbcConnectionDetails.class); ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions(); assertThat(connectionFactoryOptions.toString()).contains("driver=mssql", "password=REDACTED", "user=SA"); assertThat(connectionFactoryOptions.getRequiredValue(ConnectionFactoryOptions.PASSWORD)) .isEqualTo("verYs3cret"); + Object result = DatabaseClient.create(ConnectionFactories.get(connectionFactoryOptions)) + .sql(DatabaseDriver.SQLSERVER.getValidationQuery()) + .map((row, metadata) -> row.get(0)) + .first() + .block(); + assertThat(result).isEqualTo(1); } }