diff --git a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java index 9c4f670c8d..403b3be919 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -61,16 +61,6 @@ class PostgresJdbcDockerComposeConnectionDetailsFactoryIntegrationTests { checkDatabaseAccess(connectionDetails); } - @DockerComposeTest(composeFile = "postgres-bitnami-empty-password-compose.yaml", - image = TestImage.BITNAMI_POSTGRESQL) - void runWithBitnamiImageCreatesConnectionDetailsWithAllowEmptyPassword(JdbcConnectionDetails connectionDetails) - throws ClassNotFoundException { - assertThat(connectionDetails.getUsername()).isEqualTo("myuser"); - assertThat(connectionDetails.getPassword()).isEmpty(); - assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:postgresql://").endsWith("/mydatabase"); - checkDatabaseAccess(connectionDetails); - } - @DockerComposeTest(composeFile = "postgres-application-name-compose.yaml", image = TestImage.POSTGRESQL) void runCreatesConnectionDetailsApplicationName(JdbcConnectionDetails connectionDetails) throws ClassNotFoundException { diff --git a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java index f11c465224..29df612dab 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -64,17 +64,6 @@ class PostgresR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests { checkDatabaseAccess(connectionDetails); } - @DockerComposeTest(composeFile = "postgres-bitnami-empty-password-compose.yaml", - image = TestImage.BITNAMI_POSTGRESQL) - void runWithBitnamiImageCreatesConnectionDetailsWithAllowEmptyPassword(R2dbcConnectionDetails connectionDetails) { - ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions(); - assertThat(connectionFactoryOptions.getRequiredValue(ConnectionFactoryOptions.USER)).isEqualTo("myuser"); - assertThat(connectionFactoryOptions.getValue(ConnectionFactoryOptions.PASSWORD)).isNull(); - assertThat(connectionFactoryOptions.getRequiredValue(ConnectionFactoryOptions.DATABASE)) - .isEqualTo("mydatabase"); - checkDatabaseAccess(connectionDetails); - } - @DockerComposeTest(composeFile = "postgres-application-name-compose.yaml", image = TestImage.POSTGRESQL) void runCreatesConnectionDetailsApplicationName(R2dbcConnectionDetails connectionDetails) { assertConnectionDetails(connectionDetails); diff --git a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/postgres/postgres-bitnami-empty-password-compose.yaml b/spring-boot-project/spring-boot-docker-compose/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/postgres/postgres-bitnami-empty-password-compose.yaml deleted file mode 100644 index 9677963416..0000000000 --- a/spring-boot-project/spring-boot-docker-compose/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/postgres/postgres-bitnami-empty-password-compose.yaml +++ /dev/null @@ -1,9 +0,0 @@ -services: - database: - image: '{imageName}' - ports: - - '5432' - environment: - - 'POSTGRESQL_USERNAME=myuser' - - 'POSTGRESQL_DATABASE=mydatabase' - - 'ALLOW_EMPTY_PASSWORD=yes' diff --git a/spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironment.java b/spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironment.java index 07c1ce583b..a4f64eae03 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironment.java +++ b/spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironment.java @@ -17,7 +17,6 @@ package org.springframework.boot.docker.compose.service.connection.postgres; import java.util.Map; -import java.util.Objects; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -69,8 +68,8 @@ class PostgresEnvironment { } String password = env.getOrDefault("POSTGRES_PASSWORD", env.get("POSTGRESQL_PASSWORD")); boolean allowEmpty = env.containsKey("ALLOW_EMPTY_PASSWORD"); - Assert.state(allowEmpty || StringUtils.hasLength(password), "PostgreSQL password must be provided"); - return Objects.requireNonNullElse(password, ""); + Assert.state(allowEmpty || StringUtils.hasLength(password), "No PostgreSQL password found"); + return (password != null) ? password : ""; } private boolean isUsingTrustHostAuthMethod(Map env) { diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironmentTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironmentTests.java index 519d217b99..83cec657c1 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironmentTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/postgres/PostgresEnvironmentTests.java @@ -39,7 +39,7 @@ class PostgresEnvironmentTests { @Test void createWhenNoPostgresPasswordThrowsException() { assertThatIllegalStateException().isThrownBy(() -> new PostgresEnvironment(Collections.emptyMap())) - .withMessage("PostgreSQL password must be provided"); + .withMessage("No PostgreSQL password found"); } @Test