Merge branch '3.1.x'

pull/35818/head
Scott Frederick 1 year ago
commit cae0b873a5

@ -30,6 +30,7 @@ import org.springframework.boot.docker.compose.service.connection.DockerComposeC
* @author Moritz Halbritter * @author Moritz Halbritter
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Phillip Webb * @author Phillip Webb
* @author Scott Frederick
*/ */
class MongoDockerComposeConnectionDetailsFactory extends DockerComposeConnectionDetailsFactory<MongoConnectionDetails> { class MongoDockerComposeConnectionDetailsFactory extends DockerComposeConnectionDetailsFactory<MongoConnectionDetails> {
@ -73,6 +74,9 @@ class MongoDockerComposeConnectionDetailsFactory extends DockerComposeConnection
builder.append(service.ports().get(MONGODB_PORT)); builder.append(service.ports().get(MONGODB_PORT));
builder.append("/"); builder.append("/");
builder.append((environment.getDatabase() != null) ? environment.getDatabase() : "test"); builder.append((environment.getDatabase() != null) ? environment.getDatabase() : "test");
if (environment.getUsername() != null) {
builder.append("?authSource=admin");
}
return new ConnectionString(builder.toString()); return new ConnectionString(builder.toString());
} }

@ -16,6 +16,7 @@
package org.springframework.boot.docker.compose.service.connection.mongo; package org.springframework.boot.docker.compose.service.connection.mongo;
import com.mongodb.ConnectionString;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails; import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails;
@ -29,6 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Moritz Halbritter * @author Moritz Halbritter
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Phillip Webb * @author Phillip Webb
* @author Scott Frederick
*/ */
class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests { class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
@ -39,8 +41,11 @@ class MongoDockerComposeConnectionDetailsFactoryIntegrationTests extends Abstrac
@Test @Test
void runCreatesConnectionDetails() { void runCreatesConnectionDetails() {
MongoConnectionDetails connectionDetails = run(MongoConnectionDetails.class); MongoConnectionDetails connectionDetails = run(MongoConnectionDetails.class);
assertThat(connectionDetails.getConnectionString().toString()).startsWith("mongodb://root:secret@") ConnectionString connectionString = connectionDetails.getConnectionString();
.endsWith("/mydatabase"); assertThat(connectionString.getCredential().getUserName()).isEqualTo("root");
assertThat(connectionString.getCredential().getPassword()).isEqualTo("secret".toCharArray());
assertThat(connectionString.getCredential().getSource()).isEqualTo("admin");
assertThat(connectionString.getDatabase()).isEqualTo("mydatabase");
assertThat(connectionDetails.getGridFs()).isNull(); assertThat(connectionDetails.getGridFs()).isNull();
} }

Loading…
Cancel
Save