Skip to content

Commit 74325d5

Browse files
DATAMONGO-2330 - Polishing.
Added tests. Original Pull Request: #775
1 parent e6ea2e1 commit 74325d5

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.junit.Before;
3131
import org.junit.Test;
3232
import org.junit.runner.RunWith;
33+
import org.mockito.Answers;
3334
import org.mockito.ArgumentCaptor;
3435
import org.mockito.Captor;
3536
import org.mockito.Mock;
@@ -49,6 +50,7 @@
4950
import org.springframework.data.mongodb.core.query.Collation;
5051
import org.springframework.data.mongodb.core.query.Update;
5152

53+
import com.mongodb.WriteConcern;
5254
import com.mongodb.client.MongoCollection;
5355
import com.mongodb.client.MongoDatabase;
5456
import com.mongodb.client.model.DeleteManyModel;
@@ -67,7 +69,7 @@ public class DefaultBulkOperationsUnitTests {
6769

6870
MongoTemplate template;
6971
@Mock MongoDatabase database;
70-
@Mock MongoCollection<Document> collection;
72+
@Mock(answer = Answers.RETURNS_DEEP_STUBS) MongoCollection<Document> collection;
7173
@Mock MongoDbFactory factory;
7274
@Mock DbRefResolver dbRefResolver;
7375
@Captor ArgumentCaptor<List<WriteModel<Document>>> captor;
@@ -156,6 +158,26 @@ public void bulkRemoveShouldMapQueryCorrectly() {
156158
assertThat(updateModel.getFilter()).isEqualTo(new Document("first_name", "danerys"));
157159
}
158160

161+
@Test // DATAMONGO-2330
162+
public void writeConcernNotAppliedWhenNotSet() {
163+
164+
ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen"))
165+
.execute();
166+
167+
verify(collection, never()).withWriteConcern(any());
168+
}
169+
170+
@Test // DATAMONGO-2330
171+
public void writeConcernAppliedCorrectlyWhenSet() {
172+
173+
ops.setDefaultWriteConcern(WriteConcern.MAJORITY);
174+
175+
ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen"))
176+
.execute();
177+
178+
verify(collection).withWriteConcern(eq(WriteConcern.MAJORITY));
179+
}
180+
159181
class SomeDomainType {
160182

161183
@Id String id;

0 commit comments

Comments
 (0)