Skip to content

Commit cae0b87

Browse files
Merge branch '3.1.x'
2 parents a9ff0f0 + 8f31a57 commit cae0b87

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

spring-boot-project/spring-boot-docker-compose/src/main/java/org/springframework/boot/docker/compose/service/connection/mongo/MongoDockerComposeConnectionDetailsFactory.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* @author Moritz Halbritter
3131
* @author Andy Wilkinson
3232
* @author Phillip Webb
33+
* @author Scott Frederick
3334
*/
3435
class MongoDockerComposeConnectionDetailsFactory extends DockerComposeConnectionDetailsFactory<MongoConnectionDetails> {
3536

@@ -73,6 +74,9 @@ private ConnectionString buildConnectionString(RunningService service) {
7374
builder.append(service.ports().get(MONGODB_PORT));
7475
builder.append("/");
7576
builder.append((environment.getDatabase() != null) ? environment.getDatabase() : "test");
77+
if (environment.getUsername() != null) {
78+
builder.append("?authSource=admin");
79+
}
7680
return new ConnectionString(builder.toString());
7781
}
7882

spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/mongo/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.docker.compose.service.connection.mongo;
1818

19+
import com.mongodb.ConnectionString;
1920
import org.junit.jupiter.api.Test;
2021

2122
import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails;
@@ -29,6 +30,7 @@
2930
* @author Moritz Halbritter
3031
* @author Andy Wilkinson
3132
* @author Phillip Webb
33+
* @author Scott Frederick
3234
*/
3335
class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
3436

@@ -39,8 +41,11 @@ class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends Abstrac
3941
@Test
4042
void runCreatesConnectionDetails() {
4143
MongoConnectionDetails connectionDetails = run(MongoConnectionDetails.class);
42-
assertThat(connectionDetails.getConnectionString().toString()).startsWith("mongodb://root:secret@")
43-
.endsWith("/mydatabase");
44+
ConnectionString connectionString = connectionDetails.getConnectionString();
45+
assertThat(connectionString.getCredential().getUserName()).isEqualTo("root");
46+
assertThat(connectionString.getCredential().getPassword()).isEqualTo("secret".toCharArray());
47+
assertThat(connectionString.getCredential().getSource()).isEqualTo("admin");
48+
assertThat(connectionString.getDatabase()).isEqualTo("mydatabase");
4449
assertThat(connectionDetails.getGridFs()).isNull();
4550
}
4651

0 commit comments

Comments
 (0)