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:
Christoph Strobl
2019-01-28 11:13:52 +01:00
parent 915385b710
commit 33e4e38e4a
2 changed files with 41 additions and 33 deletions

View File

@@ -45,6 +45,7 @@ import java.util.stream.IntStream;
import org.bson.types.ObjectId;
import org.hamcrest.collection.IsMapContaining;
import org.hamcrest.core.IsSame;
import org.joda.time.DateTime;
import org.junit.After;
import org.junit.Before;
@@ -3520,11 +3521,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
@@ -3532,27 +3536,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() {
@@ -3695,6 +3687,20 @@ public class MongoTemplateTests {
assertThat(target).isEqualTo(source);
}
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;

View File

@@ -1330,13 +1330,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();
}
@@ -1345,30 +1346,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 {
@@ -1490,6 +1478,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 {