Skip to content

Commit 33e4e38

Browse files
DATAMONGO-2189 - Polishing.
Assert returned object is not the same as the saved one and move helper method. Original Pull Request: #638
1 parent 915385b commit 33e4e38

File tree

2 files changed

+41
-33
lines changed

2 files changed

+41
-33
lines changed

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

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545

4646
import org.bson.types.ObjectId;
4747
import org.hamcrest.collection.IsMapContaining;
48+
import org.hamcrest.core.IsSame;
4849
import org.joda.time.DateTime;
4950
import org.junit.After;
5051
import org.junit.Before;
@@ -3520,39 +3521,30 @@ public void onBeforeSave(BeforeSaveEvent<Document> event) {
35203521
public void afterSaveEventContainsSavedObjectUsingInsertAll() {
35213522

35223523
AtomicReference<ImmutableVersioned> saved = createAfterSaveReference();
3524+
ImmutableVersioned source = new ImmutableVersioned();
35233525

3524-
template.insertAll(Collections.singletonList(new ImmutableVersioned()));
3526+
template.insertAll(Collections.singletonList(source));
35253527

35263528
assertThat(saved.get(), is(notNullValue()));
3529+
assertThat(saved.get(), is(not(sameInstance(source))));
35273530
assertThat(saved.get().id, is(notNullValue()));
3531+
35283532
}
35293533

35303534
@Test // DATAMONGO-2189
35313535
@DirtiesContext
35323536
public void afterSaveEventContainsSavedObjectUsingInsert() {
35333537

35343538
AtomicReference<ImmutableVersioned> saved = createAfterSaveReference();
3539+
ImmutableVersioned source = new ImmutableVersioned();
35353540

3536-
template.insert(new ImmutableVersioned());
3541+
template.insert(source);
35373542

35383543
assertThat(saved.get(), is(notNullValue()));
3544+
assertThat(saved.get(), is(not(sameInstance(source))));
35393545
assertThat(saved.get().id, is(notNullValue()));
35403546
}
35413547

3542-
private AtomicReference<ImmutableVersioned> createAfterSaveReference() {
3543-
3544-
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
3545-
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
3546-
3547-
@Override
3548-
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
3549-
saved.set(event.getSource());
3550-
}
3551-
});
3552-
3553-
return saved;
3554-
}
3555-
35563548
@Test // DATAMONGO-1509
35573549
public void findsByGenericNestedListElements() {
35583550

@@ -3695,6 +3687,20 @@ public void saveAndLoadStringThatIsAnObjectIdAsString() {
36953687
assertThat(target).isEqualTo(source);
36963688
}
36973689

3690+
private AtomicReference<ImmutableVersioned> createAfterSaveReference() {
3691+
3692+
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
3693+
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
3694+
3695+
@Override
3696+
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
3697+
saved.set(event.getSource());
3698+
}
3699+
});
3700+
3701+
return saved;
3702+
}
3703+
36983704
static class TypeWithNumbers {
36993705

37003706
@Id String id;

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

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1330,13 +1330,14 @@ public void removeShouldConsiderSkipAndSort() {
13301330
public void afterSaveEventContainsSavedObjectUsingInsert() {
13311331

13321332
AtomicReference<ImmutableVersioned> saved = createAfterSaveReference();
1333+
ImmutableVersioned source = new ImmutableVersioned();
13331334

1334-
template.insert(new ImmutableVersioned()) //
1335+
template.insert(source) //
13351336
.as(StepVerifier::create) //
13361337
.expectNextCount(1) //
13371338
.verifyComplete();
13381339

1339-
assertThat(saved.get()).isNotNull();
1340+
assertThat(saved.get()).isNotNull().isNotSameAs(source);
13401341
assertThat(saved.get().id).isNotNull();
13411342
}
13421343

@@ -1345,30 +1346,17 @@ public void afterSaveEventContainsSavedObjectUsingInsert() {
13451346
public void afterSaveEventContainsSavedObjectUsingInsertAll() {
13461347

13471348
AtomicReference<ImmutableVersioned> saved = createAfterSaveReference();
1349+
ImmutableVersioned source = new ImmutableVersioned();
13481350

13491351
template.insertAll(Collections.singleton(new ImmutableVersioned())) //
13501352
.as(StepVerifier::create) //
13511353
.expectNextCount(1) //
13521354
.verifyComplete();
13531355

1354-
assertThat(saved.get()).isNotNull();
1356+
assertThat(saved.get()).isNotNull().isNotSameAs(source);
13551357
assertThat(saved.get().id).isNotNull();
13561358
}
13571359

1358-
private AtomicReference<ImmutableVersioned> createAfterSaveReference() {
1359-
1360-
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
1361-
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
1362-
1363-
@Override
1364-
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
1365-
saved.set(event.getSource());
1366-
}
1367-
});
1368-
1369-
return saved;
1370-
}
1371-
13721360
@Test // DATAMONGO-2012
13731361
public void watchesDatabaseCorrectly() throws InterruptedException {
13741362

@@ -1490,6 +1478,20 @@ private PersonWithAList createPersonWithAList(String firstname, int age) {
14901478
return p;
14911479
}
14921480

1481+
private AtomicReference<ImmutableVersioned> createAfterSaveReference() {
1482+
1483+
AtomicReference<ImmutableVersioned> saved = new AtomicReference<>();
1484+
context.addApplicationListener(new AbstractMongoEventListener<ImmutableVersioned>() {
1485+
1486+
@Override
1487+
public void onAfterSave(AfterSaveEvent<ImmutableVersioned> event) {
1488+
saved.set(event.getSource());
1489+
}
1490+
});
1491+
1492+
return saved;
1493+
}
1494+
14931495
@AllArgsConstructor
14941496
@Wither
14951497
static class ImmutableVersioned {

0 commit comments

Comments
 (0)