From 2365dba8d9138d5b6a7edf56d707ae16fcba1cac Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 31 Jul 2019 14:12:07 +0200 Subject: [PATCH] DATAMONGO-2330 - Polishing. Added tests. Original Pull Request: #775 --- .../core/DefaultBulkOperationsUnitTests.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/DefaultBulkOperationsUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/DefaultBulkOperationsUnitTests.java index 1b1c4e0d8..2f7aac3f5 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/DefaultBulkOperationsUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/DefaultBulkOperationsUnitTests.java @@ -63,6 +63,7 @@ import org.springframework.data.mongodb.core.query.Collation; import org.springframework.data.mongodb.core.query.Update; import com.mongodb.MongoWriteException; +import com.mongodb.WriteConcern; import com.mongodb.WriteError; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; @@ -86,7 +87,7 @@ public class DefaultBulkOperationsUnitTests { MongoTemplate template; @Mock MongoDatabase database; - @Mock(answer= Answers.RETURNS_DEEP_STUBS) MongoCollection collection; + @Mock(answer = Answers.RETURNS_DEEP_STUBS) MongoCollection collection; @Mock MongoDbFactory factory; @Mock DbRefResolver dbRefResolver; @Captor ArgumentCaptor>> captor; @@ -299,6 +300,26 @@ public class DefaultBulkOperationsUnitTests { verify(eventPublisher, never()).publishEvent(any(AfterSaveEvent.class)); } + @Test // DATAMONGO-2330 + public void writeConcernNotAppliedWhenNotSet() { + + ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")) + .execute(); + + verify(collection, never()).withWriteConcern(any()); + } + + @Test // DATAMONGO-2330 + public void writeConcernAppliedCorrectlyWhenSet() { + + ops.setDefaultWriteConcern(WriteConcern.MAJORITY); + + ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")) + .execute(); + + verify(collection).withWriteConcern(eq(WriteConcern.MAJORITY)); + } + class SomeDomainType { @Id String id;