package egovframework.rte.psl.data.mongodb; import static org.junit.Assert.assertEquals; import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Query.query; import static org.springframework.data.mongodb.core.query.Update.update; import java.util.List; import egovframework.rte.psl.data.mongodb.domain.SimplePerson; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath*:META-INF/spring/context-data-*.xml") public class MongoTemplateTest { private static final Logger LOGGER = LoggerFactory.getLogger(MongoTemplateTest.class); @Resource(name="mongoTemplate") private MongoTemplate mongoTemplate; @Test public void testBasicOperations() { SimplePerson person = new SimplePerson("Joe", 34); // Insert mongoTemplate.insert(person); LOGGER.info("Insert : " + person); // Find person = mongoTemplate.findOne(new Query(where("name").is("Joe")), SimplePerson.class); LOGGER.info("Found: " + person); assertEquals("Joe", person.getName()); // Update mongoTemplate.updateFirst(query(where("name").is("Joe")), update("age", 35), SimplePerson.class); person = mongoTemplate.findOne(query(where("name").is("Joe")), SimplePerson.class); LOGGER.info("Updated: " + person); assertEquals(35, person.getAge()); // Delete mongoTemplate.remove(person); // Check that deletion worked List<SimplePerson> people = mongoTemplate.findAll(SimplePerson.class); LOGGER.info("Number of people = : " + people.size()); assertEquals(0, people.size()); mongoTemplate.dropCollection("person"); } }