DATAMONGO-2326 - Upgrade to MongoDB Reactive Streams Driver 1.12.0-rc0.
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -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>
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user