mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-29 21:59:02 +00:00
Merge branch '4.1.x'
Closes gh-51889
This commit is contained in:
+7
@@ -37,6 +37,13 @@ class MariaDbJdbcDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
}
|
||||
|
||||
@DockerComposeTest(composeFile = "mariadb-with-empty-root-password-compose.yaml", image = TestImage.MARIADB)
|
||||
void runWithEmptyRootPasswordCreatesConnectionDetails(JdbcConnectionDetails connectionDetails) {
|
||||
assertThat(connectionDetails.getUsername()).isEqualTo("root");
|
||||
assertThat(connectionDetails.getPassword()).isEmpty();
|
||||
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:mariadb://").endsWith("/mydatabase");
|
||||
}
|
||||
|
||||
private void assertConnectionDetails(JdbcConnectionDetails connectionDetails) {
|
||||
assertThat(connectionDetails.getUsername()).isEqualTo("myuser");
|
||||
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
services:
|
||||
database:
|
||||
image: '{imageName}'
|
||||
ports:
|
||||
- '3306'
|
||||
environment:
|
||||
- 'MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=yes'
|
||||
- 'MARIADB_DATABASE=mydatabase'
|
||||
+1
-1
@@ -57,7 +57,7 @@ class MariaDbEnvironment {
|
||||
Assert.state(!env.containsKey("MARIADB_RANDOM_ROOT_PASSWORD"), "MARIADB_RANDOM_ROOT_PASSWORD is not supported");
|
||||
Assert.state(!env.containsKey("MYSQL_RANDOM_ROOT_PASSWORD"), "MYSQL_RANDOM_ROOT_PASSWORD is not supported");
|
||||
Assert.state(!env.containsKey("MARIADB_ROOT_PASSWORD_HASH"), "MARIADB_ROOT_PASSWORD_HASH is not supported");
|
||||
boolean allowEmpty = env.containsKey("MARIADB_ALLOW_EMPTY_PASSWORD")
|
||||
boolean allowEmpty = env.containsKey("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD")
|
||||
|| env.containsKey("MYSQL_ALLOW_EMPTY_PASSWORD") || env.containsKey("ALLOW_EMPTY_PASSWORD");
|
||||
String password = env.get("MARIADB_PASSWORD");
|
||||
password = (password != null) ? password : env.get("MYSQL_PASSWORD");
|
||||
|
||||
+6
-6
@@ -139,9 +139,9 @@ class MariaDbEnvironmentTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void getPasswordWhenHasNoPasswordAndMariadbAllowEmptyPassword() {
|
||||
void getPasswordWhenHasNoPasswordAndMariadbAllowEmptyRootPassword() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
assertThat(environment.getPassword()).isEmpty();
|
||||
}
|
||||
|
||||
@@ -155,21 +155,21 @@ class MariaDbEnvironmentTests {
|
||||
@Test
|
||||
void getDatabaseWhenHasMariadbDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDatabaseWhenHasMysqlDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MYSQL_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MYSQL_DATABASE", "db"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDatabaseWhenHasMariadbAndMysqlDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db", "MYSQL_DATABASE", "otherdb"));
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true",
|
||||
"MARIADB_DATABASE", "db", "MYSQL_DATABASE", "otherdb"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -39,6 +39,13 @@ class MariaDbR2dbcDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
}
|
||||
|
||||
@DockerComposeTest(composeFile = "mariadb-with-empty-root-password-compose.yaml", image = TestImage.MARIADB)
|
||||
void runWithEmptyRootPasswordCreatesConnectionDetails(R2dbcConnectionDetails connectionDetails) {
|
||||
ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions();
|
||||
assertThat(connectionFactoryOptions.toString()).contains("database=mydatabase", "driver=mariadb", "user=root");
|
||||
assertThat(connectionFactoryOptions.hasOption(ConnectionFactoryOptions.PASSWORD)).isFalse();
|
||||
}
|
||||
|
||||
private void assertConnectionDetails(R2dbcConnectionDetails connectionDetails) {
|
||||
ConnectionFactoryOptions connectionFactoryOptions = connectionDetails.getConnectionFactoryOptions();
|
||||
assertThat(connectionFactoryOptions.toString()).contains("database=mydatabase", "driver=mariadb",
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
services:
|
||||
database:
|
||||
image: '{imageName}'
|
||||
ports:
|
||||
- '3306'
|
||||
environment:
|
||||
- 'MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=yes'
|
||||
- 'MARIADB_DATABASE=mydatabase'
|
||||
+1
-1
@@ -57,7 +57,7 @@ class MariaDbEnvironment {
|
||||
Assert.state(!env.containsKey("MARIADB_RANDOM_ROOT_PASSWORD"), "MARIADB_RANDOM_ROOT_PASSWORD is not supported");
|
||||
Assert.state(!env.containsKey("MYSQL_RANDOM_ROOT_PASSWORD"), "MYSQL_RANDOM_ROOT_PASSWORD is not supported");
|
||||
Assert.state(!env.containsKey("MARIADB_ROOT_PASSWORD_HASH"), "MARIADB_ROOT_PASSWORD_HASH is not supported");
|
||||
boolean allowEmpty = env.containsKey("MARIADB_ALLOW_EMPTY_PASSWORD")
|
||||
boolean allowEmpty = env.containsKey("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD")
|
||||
|| env.containsKey("MYSQL_ALLOW_EMPTY_PASSWORD") || env.containsKey("ALLOW_EMPTY_PASSWORD");
|
||||
String password = env.get("MARIADB_PASSWORD");
|
||||
password = (password != null) ? password : env.get("MYSQL_PASSWORD");
|
||||
|
||||
+6
-6
@@ -139,9 +139,9 @@ class MariaDbEnvironmentTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void getPasswordWhenHasNoPasswordAndMariadbAllowEmptyPassword() {
|
||||
void getPasswordWhenHasNoPasswordAndMariadbAllowEmptyRootPassword() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
assertThat(environment.getPassword()).isEmpty();
|
||||
}
|
||||
|
||||
@@ -155,21 +155,21 @@ class MariaDbEnvironmentTests {
|
||||
@Test
|
||||
void getDatabaseWhenHasMariadbDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MARIADB_DATABASE", "db"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDatabaseWhenHasMysqlDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MYSQL_DATABASE", "db"));
|
||||
Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true", "MYSQL_DATABASE", "db"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getDatabaseWhenHasMariadbAndMysqlDatabase() {
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(
|
||||
Map.of("MARIADB_ALLOW_EMPTY_PASSWORD", "true", "MARIADB_DATABASE", "db", "MYSQL_DATABASE", "otherdb"));
|
||||
MariaDbEnvironment environment = new MariaDbEnvironment(Map.of("MARIADB_ALLOW_EMPTY_ROOT_PASSWORD", "true",
|
||||
"MARIADB_DATABASE", "db", "MYSQL_DATABASE", "otherdb"));
|
||||
assertThat(environment.getDatabase()).isEqualTo("db");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user