Skip to content

Commit d126393

Browse files
committed
Added tests with MongoTemplate
1 parent 0f43d06 commit d126393

File tree

2 files changed

+125
-66
lines changed

2 files changed

+125
-66
lines changed

spring-data-mongodb/src/main/java/org/baeldung/service/UserService.java

Lines changed: 0 additions & 66 deletions
This file was deleted.
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
package org.baeldung.mongotemplate;
2+
3+
import static org.hamcrest.CoreMatchers.is;
4+
import static org.junit.Assert.assertThat;
5+
6+
import org.baeldung.config.MongoConfig;
7+
import org.baeldung.model.User;
8+
import org.junit.After;
9+
import org.junit.Before;
10+
import org.junit.Test;
11+
import org.junit.runner.RunWith;
12+
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.data.mongodb.core.MongoTemplate;
14+
import org.springframework.data.mongodb.core.query.Criteria;
15+
import org.springframework.data.mongodb.core.query.Query;
16+
import org.springframework.data.mongodb.core.query.Update;
17+
import org.springframework.test.context.ContextConfiguration;
18+
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
19+
20+
@RunWith(SpringJUnit4ClassRunner.class)
21+
@ContextConfiguration(classes = MongoConfig.class)
22+
public class MongoTemplateIntegrationTest {
23+
24+
@Autowired
25+
private MongoTemplate mongoTemplate;
26+
27+
@Before
28+
public void testSetup() {
29+
mongoTemplate.createCollection(User.class);
30+
}
31+
32+
@After
33+
public void tearDown() {
34+
mongoTemplate.dropCollection(User.class);
35+
}
36+
37+
@Test
38+
public void whenInsertingUser_thenUserIsInserted() {
39+
User user = new User();
40+
user.setName("Jon");
41+
mongoTemplate.insert(user);
42+
}
43+
44+
@Test
45+
public void givenUserExists_whenSavingExistUser_thenUserIsUpdated() {
46+
User user = new User();
47+
user.setName("Jack");
48+
mongoTemplate.insert(user);
49+
50+
user = new User();
51+
user.setName("Jim");
52+
mongoTemplate.save(user);
53+
}
54+
55+
@Test
56+
public void givenUsersExist_whenUpdatingFirstUser_thenFirstUserIsUpdated() {
57+
User user = new User();
58+
user.setName("Alex");
59+
mongoTemplate.insert(user);
60+
61+
user = new User();
62+
user.setName("Alex");
63+
mongoTemplate.insert(user);
64+
65+
Query query = new Query();
66+
query.addCriteria(Criteria.where("name").is("Alex"));
67+
Update update = new Update();
68+
update.set("name", "James");
69+
mongoTemplate.updateFirst(query, update, User.class);
70+
}
71+
72+
@Test
73+
public void givenUsersExist_whenUpdatingMultiUser_thenAllUserAreUpdated() {
74+
User user = new User();
75+
user.setName("Eugen");
76+
mongoTemplate.insert(user);
77+
78+
user = new User();
79+
user.setName("Eugen");
80+
mongoTemplate.insert(user);
81+
82+
Query query = new Query();
83+
query.addCriteria(Criteria.where("name").is("Eugen"));
84+
Update update = new Update();
85+
update.set("name", "Victor");
86+
mongoTemplate.updateMulti(query, update, User.class);
87+
}
88+
89+
@Test
90+
public void givenUserExists_whenFindingAndModifyingUser_thenUserIsReturnedAndUpdated() {
91+
User user = new User();
92+
user.setName("Markus");
93+
mongoTemplate.insert(user);
94+
95+
Query query = new Query();
96+
query.addCriteria(Criteria.where("name").is("Markus"));
97+
Update update = new Update();
98+
update.set("name", "Nick");
99+
user = mongoTemplate.findAndModify(query, update, User.class);
100+
assertThat(user.getName(),is("Markus"));
101+
}
102+
103+
@Test
104+
public void givenUserExists_whenUpsertingUser_thenUserIsUpdated() {
105+
User user = new User();
106+
user.setName("Markus");
107+
mongoTemplate.insert(user);
108+
109+
Query query = new Query();
110+
query.addCriteria(Criteria.where("name").is("Markus"));
111+
Update update = new Update();
112+
update.set("name", "Nick");
113+
mongoTemplate.upsert(query, update, User.class);
114+
}
115+
116+
@Test
117+
public void givenUserExists_whenRemovingUser_thenUserIsRemoved() {
118+
User user = new User();
119+
user.setName("Benn");
120+
mongoTemplate.insert(user);
121+
122+
mongoTemplate.remove(user, "user");
123+
}
124+
125+
}

0 commit comments

Comments
 (0)