DATAMONGO-2189 - Polishing.
Assert returned object is not the same as the saved one and move helper method. Original Pull Request: #638
This commit is contained in:
@@ -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<ImmutableVersioned> 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<ImmutableVersioned> 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<ImmutableVersioned> createAfterSaveReference() {
|
||||
|
||||
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
|
||||
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
|
||||
|
||||
@Override
|
||||
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> 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<ImmutableVersioned> createAfterSaveReference() {
|
||||
|
||||
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
|
||||
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
|
||||
|
||||
@Override
|
||||
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
|
||||
saved.set(event.getSource());
|
||||
}
|
||||
});
|
||||
|
||||
return saved;
|
||||
}
|
||||
|
||||
static class TypeWithNumbers {
|
||||
|
||||
@Id String id;
|
||||
|
||||
@@ -1329,13 +1329,14 @@ public class ReactiveMongoTemplateTests {
|
||||
public void afterSaveEventContainsSavedObjectUsingInsert() {
|
||||
|
||||
AtomicReference<ImmutableVersioned> 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<ImmutableVersioned> 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<ImmutableVersioned> createAfterSaveReference() {
|
||||
|
||||
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
|
||||
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
|
||||
|
||||
@Override
|
||||
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> 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<ImmutableVersioned> createAfterSaveReference() {
|
||||
|
||||
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
|
||||
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
|
||||
|
||||
@Override
|
||||
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
|
||||
saved.set(event.getSource());
|
||||
}
|
||||
});
|
||||
|
||||
return saved;
|
||||
}
|
||||
|
||||
@AllArgsConstructor
|
||||
@Wither
|
||||
static class ImmutableVersioned {
|
||||
|
||||
Reference in New Issue
Block a user