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 cc365417f..bbccc8120 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 @@ -88,6 +88,7 @@ import com.mongodb.WriteResult; * @author Thomas Risberg * @author Amol Nayak * @author Patryk Wasik + * @author Thomas Darimont */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:infrastructure.xml") @@ -1661,6 +1662,27 @@ public class MongoTemplateTests { assertThat(result.get(0).date, is(notNullValue())); } + /** + * @see DATAMONGO-540 + */ + @Test + public void findOneAfterUpsertForNonExistingObjectReturnsTheInsertedObject() { + + String idValue = "4711"; + Query query = new Query(Criteria.where("id").is(idValue)); + + String fieldValue = "bubu"; + Update update = Update.update("field", fieldValue); + + String collectionName = "datamongo540"; + template.upsert(query, update, collectionName); + Sample result = template.findOne(query, Sample.class, collectionName); + + assertThat(result, is(notNullValue())); + assertThat(result.field, is(fieldValue)); + assertThat(result.id, is(idValue)); + } + static class MyId { String first;