diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java index 52a8fafd9..d19b1d556 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java @@ -26,8 +26,6 @@ import static org.springframework.data.mongodb.core.query.Criteria.*; import static org.springframework.data.mongodb.core.query.Query.*; import static org.springframework.data.mongodb.core.query.Update.*; -import com.mongodb.BasicDBObject; -import com.mongodb.DBObject; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -45,7 +43,6 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import java.util.stream.IntStream; -import org.bson.Document; import org.bson.types.ObjectId; import org.hamcrest.collection.IsMapContaining; import org.joda.time.DateTime; @@ -86,7 +83,6 @@ import org.springframework.data.mongodb.core.index.Index; import org.springframework.data.mongodb.core.index.IndexField; import org.springframework.data.mongodb.core.index.IndexInfo; import org.springframework.data.mongodb.core.mapping.Field; -import org.springframework.data.mongodb.core.mapping.MongoId; import org.springframework.data.mongodb.core.mapping.MongoMappingContext; import org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener; import org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent; @@ -107,6 +103,8 @@ import org.springframework.util.ClassUtils; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; +import com.mongodb.BasicDBObject; +import com.mongodb.DBObject; import com.mongodb.DBRef; import com.mongodb.Mongo; import com.mongodb.MongoException; @@ -3519,11 +3517,14 @@ public class MongoTemplateTests { public void afterSaveEventContainsSavedObjectUsingInsertAll() { AtomicReference saved = createAfterSaveReference(); + ImmutableVersioned source = new ImmutableVersioned(); - template.insertAll(Collections.singletonList(new ImmutableVersioned())); + template.insertAll(Collections.singletonList(source)); assertThat(saved.get(), is(notNullValue())); + assertThat(saved.get(), is(not(sameInstance(source)))); assertThat(saved.get().id, is(notNullValue())); + } @Test // DATAMONGO-2189 @@ -3531,27 +3532,15 @@ public class MongoTemplateTests { public void afterSaveEventContainsSavedObjectUsingInsert() { AtomicReference saved = createAfterSaveReference(); + ImmutableVersioned source = new ImmutableVersioned(); - template.insert(new ImmutableVersioned()); + template.insert(source); assertThat(saved.get(), is(notNullValue())); + assertThat(saved.get(), is(not(sameInstance(source)))); assertThat(saved.get().id, is(notNullValue())); } - private AtomicReference createAfterSaveReference() { - - AtomicReference saved = new AtomicReference<>(); - context.addApplicationListener(new AbstractMongoEventListener() { - - @Override - public void onAfterSave(AfterSaveEvent event) { - saved.set(event.getSource()); - } - }); - - return saved; - } - @Test // DATAMONGO-1509 public void findsByGenericNestedListElements() { @@ -3674,6 +3663,20 @@ public class MongoTemplateTests { assertThat(read.modified).isEqualTo(result.modified).describedAs("Expected auditing information to be read!"); } + private AtomicReference createAfterSaveReference() { + + AtomicReference saved = new AtomicReference<>(); + context.addApplicationListener(new AbstractMongoEventListener() { + + @Override + public void onAfterSave(AfterSaveEvent event) { + saved.set(event.getSource()); + } + }); + + return saved; + } + static class TypeWithNumbers { @Id String id; diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java index 085df70e6..fec54de39 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java @@ -1329,13 +1329,14 @@ public class ReactiveMongoTemplateTests { public void afterSaveEventContainsSavedObjectUsingInsert() { AtomicReference saved = createAfterSaveReference(); + ImmutableVersioned source = new ImmutableVersioned(); - template.insert(new ImmutableVersioned()) // + template.insert(source) // .as(StepVerifier::create) // .expectNextCount(1) // .verifyComplete(); - assertThat(saved.get()).isNotNull(); + assertThat(saved.get()).isNotNull().isNotSameAs(source); assertThat(saved.get().id).isNotNull(); } @@ -1344,30 +1345,17 @@ public class ReactiveMongoTemplateTests { public void afterSaveEventContainsSavedObjectUsingInsertAll() { AtomicReference saved = createAfterSaveReference(); + ImmutableVersioned source = new ImmutableVersioned(); template.insertAll(Collections.singleton(new ImmutableVersioned())) // .as(StepVerifier::create) // .expectNextCount(1) // .verifyComplete(); - assertThat(saved.get()).isNotNull(); + assertThat(saved.get()).isNotNull().isNotSameAs(source); assertThat(saved.get().id).isNotNull(); } - private AtomicReference createAfterSaveReference() { - - AtomicReference saved = new AtomicReference<>(); - context.addApplicationListener(new AbstractMongoEventListener() { - - @Override - public void onAfterSave(AfterSaveEvent event) { - saved.set(event.getSource()); - } - }); - - return saved; - } - @Test // DATAMONGO-2012 public void watchesDatabaseCorrectly() throws InterruptedException { @@ -1452,6 +1440,20 @@ public class ReactiveMongoTemplateTests { return p; } + private AtomicReference createAfterSaveReference() { + + AtomicReference saved = new AtomicReference<>(); + context.addApplicationListener(new AbstractMongoEventListener() { + + @Override + public void onAfterSave(AfterSaveEvent event) { + saved.set(event.getSource()); + } + }); + + return saved; + } + @AllArgsConstructor @Wither static class ImmutableVersioned {