Apply customizers to build when created embedded Mongo client

Closes gh-11132
This commit is contained in:
Andy Wilkinson 2017-11-24 10:58:58 +00:00
parent 45e8c237de
commit 51b56782a3
2 changed files with 11 additions and 0 deletions

View File

@ -92,6 +92,7 @@ public class ReactiveMongoClientFactory {
ClusterSettings clusterSettings = ClusterSettings.builder()
.hosts(Collections.singletonList(new ServerAddress(host, port))).build();
builder.clusterSettings(clusterSettings);
customize(builder);
return MongoClients.create(builder.build());
}

View File

@ -161,6 +161,16 @@ public class ReactiveMongoClientFactoryTests {
verify(customizer).customize(any(MongoClientSettings.Builder.class));
}
@Test
public void customizerIsInvokedForEmbeddedMongo() {
MongoProperties properties = new MongoProperties();
this.environment.setProperty("local.mongo.port", "27017");
MongoClientSettingsBuilderCustomizer customizer = mock(
MongoClientSettingsBuilderCustomizer.class);
createMongoClient(properties, this.environment, customizer);
verify(customizer).customize(any(MongoClientSettings.Builder.class));
}
private MongoClient createMongoClient(MongoProperties properties) {
return createMongoClient(properties, this.environment);
}