diff --git a/pom.xml b/pom.xml
index 728c77f16..08da7a446 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
spring-data-mongodb
2.2.0.BUILD-SNAPSHOT
3.11.0-rc0
- 1.11.0
+ 1.12.0-rc0
1.19
diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java
index aabc64ff7..01e6e7f7e 100644
--- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java
+++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java
@@ -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 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 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 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 options = ArgumentCaptor.forClass(UpdateOptions.class);
- verify(collection).updateOne(any(), any(), options.capture());
+ verify(collection).updateOne(any(), any(Bson.class), options.capture());
Assertions.assertThat((List) options.getValue().getArrayFilters())
.contains(new org.bson.Document("element", new Document("$gte", 100)));
@@ -424,7 +424,7 @@ public class ReactiveMongoTemplateUnitTests {
EntityWithListOfSimple.class).subscribe();
ArgumentCaptor options = ArgumentCaptor.forClass(FindOneAndUpdateOptions.class);
- verify(collection).findOneAndUpdate(any(), any(), options.capture());
+ verify(collection).findOneAndUpdate(any(), any(Bson.class), options.capture());
Assertions.assertThat((List) 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 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 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 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 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 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());
diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveSessionBoundMongoTemplateUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveSessionBoundMongoTemplateUnitTests.java
index b0233611f..bee7bee0f 100644
--- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveSessionBoundMongoTemplateUnitTests.java
+++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveSessionBoundMongoTemplateUnitTests.java
@@ -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