Skip to content

Commit 1119a4a

Browse files
christophstroblmp911de
authored andcommitted
Close clients created during tests.
See #3817 Original pull request: #3987.
1 parent 162a9ab commit 1119a4a

23 files changed

+148
-45
lines changed

spring-data-mongodb/src/test/java/ConfigClassInDefaultPackage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@
1919
import java.util.Set;
2020

2121
import org.springframework.context.annotation.Configuration;
22-
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
2322

2423
import com.mongodb.client.MongoClient;
2524
import com.mongodb.client.MongoClients;
25+
import org.springframework.data.mongodb.test.util.MongoClientClosingTestConfiguration;
2626

2727
/**
2828
* Sample configuration class in default package.
2929
*
3030
* @author Oliver Gierke
3131
*/
3232
@Configuration
33-
public class ConfigClassInDefaultPackage extends AbstractMongoClientConfiguration {
33+
public class ConfigClassInDefaultPackage extends MongoClientClosingTestConfiguration {
3434

3535
/*
3636
* (non-Javadoc)

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractIntegrationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.dao.DataAccessException;
3030
import org.springframework.data.mongodb.core.CollectionCallback;
3131
import org.springframework.data.mongodb.core.MongoOperations;
32+
import org.springframework.data.mongodb.test.util.MongoClientClosingTestConfiguration;
3233
import org.springframework.data.mongodb.test.util.MongoTestUtils;
3334
import org.springframework.test.context.ContextConfiguration;
3435
import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -45,7 +46,7 @@
4546
public abstract class AbstractIntegrationTests {
4647

4748
@Configuration
48-
static class TestConfig extends AbstractMongoClientConfiguration {
49+
static class TestConfig extends MongoClientClosingTestConfiguration {
4950

5051
@Override
5152
protected String getDatabaseName() {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractMongoConfigurationUnitTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.junit.jupiter.api.Test;
2929

30+
import org.mockito.Mockito;
3031
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
3132
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
3233
import org.springframework.context.annotation.Bean;
@@ -158,7 +159,7 @@ protected String getDatabaseName() {
158159

159160
@Override
160161
public MongoClient mongoClient() {
161-
return MongoClients.create();
162+
return Mockito.mock(MongoClient.class);
162163
}
163164

164165
@Override
@@ -186,7 +187,7 @@ protected String getDatabaseName() {
186187

187188
@Override
188189
public MongoClient mongoClient() {
189-
return MongoClients.create();
190+
return Mockito.mock(MongoClient.class);
190191
}
191192

192193
@Override

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractReactiveMongoConfigurationUnitTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ protected String getDatabaseName() {
158158

159159
@Override
160160
public MongoClient reactiveMongoClient() {
161-
return MongoTestUtils.reactiveClient();
161+
return Mockito.mock(MongoClient.class);
162162
}
163163

164164
@Override

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AuditingViaJavaConfigRepositoriesTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
5050
import org.springframework.data.mongodb.test.util.Client;
5151
import org.springframework.data.mongodb.test.util.MongoClientExtension;
52+
import org.springframework.data.mongodb.test.util.MongoClientClosingTestConfiguration;
5253
import org.springframework.data.mongodb.test.util.MongoTestUtils;
5354
import org.springframework.stereotype.Repository;
5455
import org.springframework.test.context.ContextConfiguration;
@@ -233,7 +234,7 @@ static class SimpleConfigWithRepositories extends SimpleConfig {}
233234

234235
@Configuration
235236
@EnableMongoAuditing
236-
static class SimpleConfig extends AbstractMongoClientConfiguration {
237+
static class SimpleConfig extends MongoClientClosingTestConfiguration {
237238

238239
@Override
239240
public MongoClient mongoClient() {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/MongoDbFactoryParserIntegrationTests.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import org.junit.jupiter.api.BeforeEach;
2121
import org.junit.jupiter.api.Test;
22-
2322
import org.springframework.beans.factory.config.BeanDefinition;
2423
import org.springframework.beans.factory.config.ConstructorArgumentValues;
2524
import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder;
@@ -74,6 +73,7 @@ public void parsesWriteConcern() {
7473

7574
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean.xml");
7675
assertWriteConcern(ctx, WriteConcern.ACKNOWLEDGED);
76+
ctx.close();
7777
}
7878

7979
@Test // DATAMONGO-2199
@@ -82,6 +82,7 @@ public void parsesCustomWriteConcern() {
8282
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
8383
"namespace/db-factory-bean-custom-write-concern.xml");
8484
assertWriteConcern(ctx, new WriteConcern("rack1"));
85+
ctx.close();
8586
}
8687

8788
@Test // DATAMONGO-331
@@ -90,10 +91,10 @@ public void readsReplicasWriteConcernCorrectly() {
9091
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(
9192
"namespace/db-factory-bean-custom-write-concern.xml");
9293
MongoDatabaseFactory factory = ctx.getBean("second", MongoDatabaseFactory.class);
93-
MongoDatabase db = factory.getMongoDatabase();
94+
ctx.close();
9495

96+
MongoDatabase db = factory.getMongoDatabase();
9597
assertThat(db.getWriteConcern()).isEqualTo(WriteConcern.W2);
96-
ctx.close();
9798
}
9899

99100
// This test will fail since equals in WriteConcern uses == for _w and not .equals
@@ -127,6 +128,8 @@ public void setsUpMongoDbFactoryUsingAMongoUriWithoutCredentials() {
127128
MongoDatabaseFactory dbFactory = factory.getBean("mongoDbFactory", MongoDatabaseFactory.class);
128129
MongoDatabase db = dbFactory.getMongoDatabase();
129130
assertThat(db.getName()).isEqualTo("database");
131+
132+
factory.destroyBean(dbFactory);
130133
}
131134

132135
@Test // DATAMONGO-1218
@@ -171,6 +174,8 @@ public void usesConnectionStringToCreateClientClient() {
171174
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean.xml");
172175

173176
MongoDatabaseFactory dbFactory = ctx.getBean("with-connection-string", MongoDatabaseFactory.class);
177+
ctx.close();
178+
174179
assertThat(dbFactory).isInstanceOf(SimpleMongoClientDatabaseFactory.class);
175180
assertThat(ReflectionTestUtils.getField(dbFactory, "mongoClient"))
176181
.isInstanceOf(com.mongodb.client.MongoClient.class);

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/ReactiveAuditingTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.springframework.data.mapping.callback.EntityCallback;
2222
import org.springframework.data.mongodb.core.mapping.event.AuditingEntityCallback;
2323
import org.springframework.data.mongodb.core.mapping.event.ReactiveAuditingEntityCallback;
24+
import org.springframework.data.mongodb.test.util.ReactiveMongoClientClosingTestConfiguration;
2425
import org.springframework.test.util.ReflectionTestUtils;
2526
import reactor.core.publisher.Mono;
2627
import reactor.test.StepVerifier;
@@ -75,7 +76,7 @@ class ReactiveAuditingTests {
7576
@EnableReactiveMongoAuditing
7677
@EnableReactiveMongoRepositories(basePackageClasses = ReactiveAuditingTests.class, considerNestedRepositories = true,
7778
includeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE, classes = ReactiveAuditablePersonRepository.class))
78-
static class Config extends AbstractReactiveMongoConfiguration {
79+
static class Config extends ReactiveMongoClientClosingTestConfiguration {
7980

8081
@Override
8182
protected String getDatabaseName() {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import org.springframework.data.mapping.MappingException;
6565
import org.springframework.data.mongodb.InvalidMongoDbApiUsageException;
6666
import org.springframework.data.mongodb.MongoDatabaseFactory;
67+
import org.springframework.data.mongodb.core.BulkOperations.BulkMode;
6768
import org.springframework.data.mongodb.core.convert.LazyLoadingProxy;
6869
import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
6970
import org.springframework.data.mongodb.core.index.Index;
@@ -3580,7 +3581,7 @@ public void removeShouldConsiderLimit() {
35803581
.mapToObj(i -> new Sample("id-" + i, i % 2 == 0 ? "stark" : "lannister")) //
35813582
.collect(Collectors.toList());
35823583

3583-
template.insertAll(samples);
3584+
template.bulkOps(BulkMode.UNORDERED, Sample.class).insert(samples).execute();
35843585

35853586
DeleteResult wr = template.remove(query(where("field").is("lannister")).limit(25), Sample.class);
35863587

@@ -3595,7 +3596,7 @@ public void removeShouldConsiderSkipAndSort() {
35953596
.mapToObj(i -> new Sample("id-" + i, i % 2 == 0 ? "stark" : "lannister")) //
35963597
.collect(Collectors.toList());
35973598

3598-
template.insertAll(samples);
3599+
template.bulkOps(BulkMode.UNORDERED, Sample.class).insert(samples).execute();
35993600

36003601
DeleteResult wr = template.remove(new Query().skip(25).with(Sort.by("field")), Sample.class);
36013602

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/geo/AbstractGeoSpatialTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@
3737
import org.springframework.data.geo.Metrics;
3838
import org.springframework.data.geo.Point;
3939
import org.springframework.data.geo.Polygon;
40-
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
4140
import org.springframework.data.mongodb.core.BulkOperations.BulkMode;
4241
import org.springframework.data.mongodb.core.MongoTemplate;
4342
import org.springframework.data.mongodb.core.TestEntities;
4443
import org.springframework.data.mongodb.core.Venue;
4544
import org.springframework.data.mongodb.core.query.NearQuery;
4645
import org.springframework.data.mongodb.core.query.Query;
46+
import org.springframework.data.mongodb.test.util.MongoClientClosingTestConfiguration;
4747
import org.springframework.data.mongodb.test.util.MongoTestUtils;
4848
import org.springframework.test.context.ContextConfiguration;
4949
import org.springframework.test.context.junit4.SpringRunner;
@@ -60,7 +60,7 @@
6060
public abstract class AbstractGeoSpatialTests {
6161

6262
@Configuration
63-
static class TestConfig extends AbstractMongoClientConfiguration {
63+
static class TestConfig extends MongoClientClosingTestConfiguration {
6464

6565
@Override
6666
protected String getDatabaseName() {
@@ -111,10 +111,7 @@ protected void removeVenues() {
111111
}
112112

113113
protected void addVenues() {
114-
115-
116114
template.bulkOps(BulkMode.UNORDERED, Venue.class).insert(TestEntities.geolocation().newYork()).execute();
117-
// template.insertAll(TestEntities.geolocation().newYork());
118115
}
119116

120117
@Test

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/GeoIndexedAppConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
import java.util.Set;
2020

2121
import org.springframework.context.annotation.Bean;
22-
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
2322
import org.springframework.data.mongodb.core.mapping.event.LoggingEventListener;
23+
import org.springframework.data.mongodb.test.util.MongoClientClosingTestConfiguration;
2424
import org.springframework.data.mongodb.test.util.MongoTestUtils;
2525

2626
import com.mongodb.client.MongoClient;
2727

28-
public class GeoIndexedAppConfig extends AbstractMongoClientConfiguration {
28+
public class GeoIndexedAppConfig extends MongoClientClosingTestConfiguration {
2929

3030
public static String GEO_DB = "database";
3131
public static String GEO_COLLECTION = "geolocation";

0 commit comments

Comments
 (0)