From 0afbf6fe193780d97322fc48b0f0d49415e3bc44 Mon Sep 17 00:00:00 2001 From: Thomas Darimont Date: Thu, 4 Jul 2013 22:06:04 +0200 Subject: [PATCH] =?UTF-8?q?DATAMONGO-540=20-=20Added=20test=20case=20to=20?= =?UTF-8?q?show=20findOne(=E2=80=A6)=20works=20after=20upsert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/mongodb/core/MongoTemplateTests.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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;