Browse Source

DATAMONGO-2325 - Upgrade to MongoDB Driver 3.11.0-rc0.

Adapt tests to added overloads.
pull/773/head
Mark Paluch 7 years ago
parent
commit
0145b68f61
  1. 2
      pom.xml
  2. 20
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUnitTests.java
  3. 12
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/SessionBoundMongoTemplateUnitTests.java

2
pom.xml

@ -27,7 +27,7 @@
<project.type>multi</project.type> <project.type>multi</project.type>
<dist.id>spring-data-mongodb</dist.id> <dist.id>spring-data-mongodb</dist.id>
<springdata.commons>2.2.0.BUILD-SNAPSHOT</springdata.commons> <springdata.commons>2.2.0.BUILD-SNAPSHOT</springdata.commons>
<mongo>3.11.0-beta4</mongo> <mongo>3.11.0-rc0</mongo>
<mongo.reactivestreams>1.11.0</mongo.reactivestreams> <mongo.reactivestreams>1.11.0</mongo.reactivestreams>
<jmh.version>1.19</jmh.version> <jmh.version>1.19</jmh.version>
</properties> </properties>

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

@ -747,7 +747,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.findAndModify(new BasicQuery("{}").collation(Collation.of("fr")), new Update(), AutogenerateableId.class); template.findAndModify(new BasicQuery("{}").collation(Collation.of("fr")), new Update(), AutogenerateableId.class);
ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class); ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class);
verify(collection).findOneAndUpdate(any(), any(), options.capture()); verify(collection).findOneAndUpdate(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr");
} }
@ -795,7 +795,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
AutogenerateableId.class); AutogenerateableId.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateOne(any(), any(), options.capture()); verify(collection).updateOne(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr");
} }
@ -807,7 +807,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
AutogenerateableId.class); AutogenerateableId.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateMany(any(), any(), options.capture()); verify(collection).updateMany(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr");
} }
@ -1073,7 +1073,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
EntityWithListOfSimple.class); EntityWithListOfSimple.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateOne(any(), any(), options.capture()); verify(collection).updateOne(any(), any(Bson.class), options.capture());
Assertions.assertThat((List<Bson>) options.getValue().getArrayFilters()) Assertions.assertThat((List<Bson>) options.getValue().getArrayFilters())
.contains(new org.bson.Document("element", new Document("$gte", 100))); .contains(new org.bson.Document("element", new Document("$gte", 100)));
@ -1087,7 +1087,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
EntityWithListOfSimple.class); EntityWithListOfSimple.class);
ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class); ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class);
verify(collection).findOneAndUpdate(any(), any(), options.capture()); verify(collection).findOneAndUpdate(any(), any(Bson.class), options.capture());
Assertions.assertThat((List<Bson>) options.getValue().getArrayFilters()) Assertions.assertThat((List<Bson>) options.getValue().getArrayFilters())
.contains(new org.bson.Document("element", new Document("$gte", 100))); .contains(new org.bson.Document("element", new Document("$gte", 100)));
@ -1143,7 +1143,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.findAndModify(new BasicQuery("{}"), new Update(), Sith.class); template.findAndModify(new BasicQuery("{}"), new Update(), Sith.class);
ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class); ArgumentCaptor<FindOneAndUpdateOptions> options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class);
verify(collection).findOneAndUpdate(any(), any(), options.capture()); verify(collection).findOneAndUpdate(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation()) assertThat(options.getValue().getCollation())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build()); .isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@ -1313,7 +1313,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.updateFirst(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class); template.updateFirst(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateOne(any(), any(), options.capture()); verify(collection).updateOne(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation()) assertThat(options.getValue().getCollation())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build()); .isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@ -1325,7 +1325,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.updateFirst(new BasicQuery("{}").collation(Collation.of("fr")), Update.update("foo", "bar"), Sith.class); template.updateFirst(new BasicQuery("{}").collation(Collation.of("fr")), Update.update("foo", "bar"), Sith.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateOne(any(), any(), options.capture()); verify(collection).updateOne(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation()) assertThat(options.getValue().getCollation())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build()); .isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build());
@ -1337,7 +1337,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.updateMulti(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class); template.updateMulti(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateMany(any(), any(), options.capture()); verify(collection).updateMany(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation()) assertThat(options.getValue().getCollation())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build()); .isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@ -1349,7 +1349,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
template.updateMulti(new BasicQuery("{}").collation(Collation.of("fr")), Update.update("foo", "bar"), Sith.class); template.updateMulti(new BasicQuery("{}").collation(Collation.of("fr")), Update.update("foo", "bar"), Sith.class);
ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class); ArgumentCaptor<UpdateOptions> options = ArgumentCaptor.forClass(UpdateOptions.class);
verify(collection).updateMany(any(), any(), options.capture()); verify(collection).updateMany(any(), any(Bson.class), options.capture());
assertThat(options.getValue().getCollation()) assertThat(options.getValue().getCollation())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build()); .isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build());

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

@ -24,12 +24,14 @@ import java.util.Collections;
import org.bson.Document; import org.bson.Document;
import org.bson.codecs.BsonValueCodec; import org.bson.codecs.BsonValueCodec;
import org.bson.codecs.configuration.CodecRegistry; import org.bson.codecs.configuration.CodecRegistry;
import org.bson.conversions.Bson;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.data.geo.Metrics; import org.springframework.data.geo.Metrics;
import org.springframework.data.geo.Point; import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.data.mongodb.MongoDbFactory;
@ -46,6 +48,7 @@ import org.springframework.data.mongodb.core.query.Update;
import com.mongodb.MongoClient; import com.mongodb.MongoClient;
import com.mongodb.client.AggregateIterable; import com.mongodb.client.AggregateIterable;
import com.mongodb.client.ClientSession;
import com.mongodb.client.DistinctIterable; import com.mongodb.client.DistinctIterable;
import com.mongodb.client.FindIterable; import com.mongodb.client.FindIterable;
import com.mongodb.client.MapReduceIterable; import com.mongodb.client.MapReduceIterable;
@ -57,7 +60,6 @@ import com.mongodb.client.model.CountOptions;
import com.mongodb.client.model.DeleteOptions; import com.mongodb.client.model.DeleteOptions;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.UpdateOptions; import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.ClientSession;
/** /**
* Unit test for {@link SessionBoundMongoTemplate} making sure a proxied {@link MongoCollection} and * Unit test for {@link SessionBoundMongoTemplate} making sure a proxied {@link MongoCollection} and
@ -249,7 +251,7 @@ public class SessionBoundMongoTemplateUnitTests {
template.findAndModify(new Query(), new Update().set("foo", "bar"), Person.class); template.findAndModify(new Query(), new Update().set("foo", "bar"), Person.class);
verify(collection).findOneAndUpdate(eq(clientSession), any(), any(), any(FindOneAndUpdateOptions.class)); verify(collection).findOneAndUpdate(eq(clientSession), any(), any(Bson.class), any(FindOneAndUpdateOptions.class));
} }
@Test // DATAMONGO-1880 @Test // DATAMONGO-1880
@ -302,7 +304,7 @@ public class SessionBoundMongoTemplateUnitTests {
template.updateFirst(new Query(), Update.update("foo", "bar"), Person.class); template.updateFirst(new Query(), Update.update("foo", "bar"), Person.class);
verify(collection).updateOne(eq(clientSession), any(), any(), any(UpdateOptions.class)); verify(collection).updateOne(eq(clientSession), any(), any(Bson.class), any(UpdateOptions.class));
} }
@Test // DATAMONGO-1880 @Test // DATAMONGO-1880
@ -310,7 +312,7 @@ public class SessionBoundMongoTemplateUnitTests {
template.updateMulti(new Query(), Update.update("foo", "bar"), Person.class); template.updateMulti(new Query(), Update.update("foo", "bar"), Person.class);
verify(collection).updateMany(eq(clientSession), any(), any(), any(UpdateOptions.class)); verify(collection).updateMany(eq(clientSession), any(), any(Bson.class), any(UpdateOptions.class));
} }
@Test // DATAMONGO-1880 @Test // DATAMONGO-1880
@ -318,7 +320,7 @@ public class SessionBoundMongoTemplateUnitTests {
template.upsert(new Query(), Update.update("foo", "bar"), Person.class); template.upsert(new Query(), Update.update("foo", "bar"), Person.class);
verify(collection).updateOne(eq(clientSession), any(), any(), any(UpdateOptions.class)); verify(collection).updateOne(eq(clientSession), any(), any(Bson.class), any(UpdateOptions.class));
} }
@Test // DATAMONGO-1880 @Test // DATAMONGO-1880

Loading…
Cancel
Save