From 3a01759a3b13881048cbc18a81fb296aee0ce9ff Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 17 Apr 2023 10:27:56 +0100 Subject: [PATCH] Protect tests against unstable toString ordering See gh-34747 --- .../ConnectionFactoryOptionsBuilderTests.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/r2dbc/ConnectionFactoryOptionsBuilderTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/r2dbc/ConnectionFactoryOptionsBuilderTests.java index c0d83f9811..91fd383c36 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/r2dbc/ConnectionFactoryOptionsBuilderTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/r2dbc/ConnectionFactoryOptionsBuilderTests.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.Map; import io.r2dbc.spi.ConnectionFactoryOptions; +import io.r2dbc.spi.Option; import org.junit.jupiter.api.Test; import org.springframework.boot.docker.compose.core.ConnectionPorts; @@ -52,16 +53,29 @@ class ConnectionFactoryOptionsBuilderTests { void buildBuildsOptions() { RunningService service = mockService(456); ConnectionFactoryOptions options = this.builder.build(service, "mydb", "user", "pass"); - assertThat(options).hasToString( - "ConnectionFactoryOptions{options={database=mydb, host=myhost, driver=mydb, password=REDACTED, port=456, user=user}}"); + assertThat(options).isEqualTo(ConnectionFactoryOptions.builder() + .option(ConnectionFactoryOptions.DATABASE, "mydb") + .option(ConnectionFactoryOptions.HOST, "myhost") + .option(ConnectionFactoryOptions.PORT, 456) + .option(ConnectionFactoryOptions.DRIVER, "mydb") + .option(ConnectionFactoryOptions.PASSWORD, "pass") + .option(ConnectionFactoryOptions.USER, "user") + .build()); } @Test void buildWhenHasParamsLabelBuildsOptions() { RunningService service = mockService(456, Map.of("org.springframework.boot.r2dbc.parameters", "foo=bar")); ConnectionFactoryOptions options = this.builder.build(service, "mydb", "user", "pass"); - assertThat(options).hasToString( - "ConnectionFactoryOptions{options={foo=bar, database=mydb, host=myhost, driver=mydb, password=REDACTED, port=456, user=user}}"); + assertThat(options).isEqualTo(ConnectionFactoryOptions.builder() + .option(ConnectionFactoryOptions.DATABASE, "mydb") + .option(ConnectionFactoryOptions.HOST, "myhost") + .option(ConnectionFactoryOptions.PORT, 456) + .option(ConnectionFactoryOptions.DRIVER, "mydb") + .option(ConnectionFactoryOptions.PASSWORD, "pass") + .option(ConnectionFactoryOptions.USER, "user") + .option(Option.valueOf("foo"), "bar") + .build()); } @Test