DATAMONGO-2326 - Upgrade to MongoDB Reactive Streams Driver 1.12.0-rc0.

This commit is contained in:
Mark Paluch
2019-07-26 10:00:53 +02:00
parent 0145b68f61
commit 7c25675cbb
3 changed files with 30 additions and 27 deletions

View File

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

View File

@@ -126,15 +126,15 @@ public class ReactiveMongoTemplateUnitTests {
when(collection.aggregate(anyList())).thenReturn(aggregatePublisher);
when(collection.aggregate(anyList(), any(Class.class))).thenReturn(aggregatePublisher);
when(collection.count(any(), any(CountOptions.class))).thenReturn(Mono.just(0L));
when(collection.updateOne(any(), any(), any(UpdateOptions.class))).thenReturn(updateResultPublisher);
when(collection.updateMany(any(Bson.class), any(), any())).thenReturn(updateResultPublisher);
when(collection.findOneAndUpdate(any(), any(), any(FindOneAndUpdateOptions.class)))
when(collection.updateOne(any(), any(Bson.class), any(UpdateOptions.class))).thenReturn(updateResultPublisher);
when(collection.updateMany(any(Bson.class), any(Bson.class), any())).thenReturn(updateResultPublisher);
when(collection.findOneAndUpdate(any(), any(Bson.class), any(FindOneAndUpdateOptions.class)))
.thenReturn(findAndUpdatePublisher);
when(collection.findOneAndReplace(any(Bson.class), any(), any())).thenReturn(findPublisher);
when(collection.findOneAndDelete(any(), any(FindOneAndDeleteOptions.class))).thenReturn(findPublisher);
when(collection.distinct(anyString(), any(Document.class), any())).thenReturn(distinctPublisher);
when(collection.deleteMany(any(Bson.class), any())).thenReturn(deletePublisher);
when(collection.findOneAndUpdate(any(), any(), any(FindOneAndUpdateOptions.class)))
when(collection.findOneAndUpdate(any(), any(Bson.class), any(FindOneAndUpdateOptions.class)))
.thenReturn(findAndUpdatePublisher);
when(collection.mapReduce(anyString(), anyString(), any())).thenReturn(mapReducePublisher);
when(collection.replaceOne(any(Bson.class), any(), any(ReplaceOptions.class))).thenReturn(updateResultPublisher);
@@ -222,13 +222,13 @@ public class ReactiveMongoTemplateUnitTests {
@Test // DATAMONGO-1518
public void findAndModfiyShoudUseCollationWhenPresent() {
when(collection.findOneAndUpdate(any(Bson.class), any(), any())).thenReturn(Mono.empty());
when(collection.findOneAndUpdate(any(Bson.class), any(Bson.class), any())).thenReturn(Mono.empty());
template.findAndModify(new BasicQuery("{}").collation(Collation.of("fr")), new Update(), AutogenerateableId.class)
.subscribe();
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");
}
@@ -263,13 +263,13 @@ public class ReactiveMongoTemplateUnitTests {
@Test // DATAMONGO-1518
public void updateOneShouldUseCollationWhenPresent() {
when(collection.updateOne(any(Bson.class), any(), any())).thenReturn(Mono.empty());
when(collection.updateOne(any(Bson.class), any(Bson.class), any())).thenReturn(Mono.empty());
template.updateFirst(new BasicQuery("{}").collation(Collation.of("fr")), new Update().set("foo", "bar"),
AutogenerateableId.class).subscribe();
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");
}
@@ -277,13 +277,13 @@ public class ReactiveMongoTemplateUnitTests {
@Test // DATAMONGO-1518
public void updateManyShouldUseCollationWhenPresent() {
when(collection.updateMany(any(Bson.class), any(), any())).thenReturn(Mono.empty());
when(collection.updateMany(any(Bson.class), any(Bson.class), any())).thenReturn(Mono.empty());
template.updateMulti(new BasicQuery("{}").collation(Collation.of("fr")), new Update().set("foo", "bar"),
AutogenerateableId.class).subscribe();
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");
@@ -410,7 +410,7 @@ public class ReactiveMongoTemplateUnitTests {
EntityWithListOfSimple.class).subscribe();
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())
.contains(new org.bson.Document("element", new Document("$gte", 100)));
@@ -424,7 +424,7 @@ public class ReactiveMongoTemplateUnitTests {
EntityWithListOfSimple.class).subscribe();
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())
.contains(new org.bson.Document("element", new Document("$gte", 100)));
@@ -468,7 +468,7 @@ public class ReactiveMongoTemplateUnitTests {
template.findAndModify(new BasicQuery("{}"), new Update(), Sith.class).subscribe();
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())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@@ -622,7 +622,7 @@ public class ReactiveMongoTemplateUnitTests {
template.updateFirst(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class).subscribe();
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())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@@ -635,7 +635,7 @@ public class ReactiveMongoTemplateUnitTests {
.subscribe();
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())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build());
@@ -647,7 +647,7 @@ public class ReactiveMongoTemplateUnitTests {
template.updateMulti(new BasicQuery("{}"), Update.update("foo", "bar"), Sith.class).subscribe();
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())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("de_AT").build());
@@ -660,7 +660,7 @@ public class ReactiveMongoTemplateUnitTests {
.subscribe();
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())
.isEqualTo(com.mongodb.client.model.Collation.builder().locale("fr").build());

View File

@@ -16,7 +16,7 @@
package org.springframework.data.mongodb.core;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyBoolean;
@@ -29,12 +29,14 @@ import java.lang.reflect.Proxy;
import org.bson.Document;
import org.bson.codecs.BsonValueCodec;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.conversions.Bson;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.reactivestreams.Publisher;
import org.springframework.data.geo.Metrics;
import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.ReactiveMongoDatabaseFactory;
@@ -111,11 +113,12 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
when(collection.aggregate(any(ClientSession.class), anyList(), any(Class.class))).thenReturn(aggregatePublisher);
when(collection.count(any(ClientSession.class), any(), any(CountOptions.class))).thenReturn(resultPublisher);
when(collection.drop(any(ClientSession.class))).thenReturn(resultPublisher);
when(collection.findOneAndUpdate(any(ClientSession.class), any(), any(), any())).thenReturn(resultPublisher);
when(collection.distinct(any(ClientSession.class), any(), any(), any())).thenReturn(distinctPublisher);
when(collection.updateOne(any(ClientSession.class), any(), any(), any(UpdateOptions.class)))
when(collection.findOneAndUpdate(any(ClientSession.class), any(), any(Bson.class), any()))
.thenReturn(resultPublisher);
when(collection.updateMany(any(ClientSession.class), any(), any(), any(UpdateOptions.class)))
when(collection.distinct(any(ClientSession.class), any(), any(Bson.class), any())).thenReturn(distinctPublisher);
when(collection.updateOne(any(ClientSession.class), any(), any(Bson.class), any(UpdateOptions.class)))
.thenReturn(resultPublisher);
when(collection.updateMany(any(ClientSession.class), any(), any(Bson.class), any(UpdateOptions.class)))
.thenReturn(resultPublisher);
when(collection.dropIndex(any(ClientSession.class), anyString())).thenReturn(resultPublisher);
when(collection.mapReduce(any(ClientSession.class), any(), any(), any())).thenReturn(mapReducePublisher);
@@ -245,7 +248,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
template.findAndModify(new Query(), new Update().set("foo", "bar"), Person.class).subscribe();
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
@@ -278,7 +281,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
template.updateFirst(new Query(), Update.update("foo", "bar"), Person.class).subscribe();
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
@@ -286,7 +289,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
template.updateMulti(new Query(), Update.update("foo", "bar"), Person.class).subscribe();
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
@@ -294,7 +297,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
template.upsert(new Query(), Update.update("foo", "bar"), Person.class).subscribe();
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