Skip to content
This repository was archived by the owner on Feb 24, 2022. It is now read-only.

Commit a62455c

Browse files
committed
mystuff-32 When we request category we see information about creator with login and password
Closes #32
1 parent 2b48271 commit a62455c

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

back/src/main/java/org/webtree/mystuff/model/domain/User.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.webtree.mystuff.model.domain;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnore;
34
import org.neo4j.ogm.annotation.GraphId;
45
import org.neo4j.ogm.annotation.NodeEntity;
56
import org.springframework.security.core.GrantedAuthority;
@@ -14,6 +15,7 @@ public class User implements UserDetails {
1415
@GraphId
1516
private Long id = null;
1617
private String username;
18+
@JsonIgnore
1719
private String password;
1820
private Date lastPasswordResetDate;
1921

back/src/test/java/org/webtree/mystuff/controller/SecurityControllerTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.springframework.security.test.context.support.WithAnonymousUser;
1515
import org.springframework.test.web.servlet.MvcResult;
1616
import org.springframework.test.web.servlet.ResultActions;
17+
import org.webtree.mystuff.model.domain.AuthDetails;
1718
import org.webtree.mystuff.model.domain.User;
1819
import org.webtree.mystuff.security.JwtTokenUtil;
1920
import org.webtree.mystuff.service.UserService;
@@ -39,10 +40,14 @@ public void whenLoginWithCorrectUser_shouldReturnValidToken() throws Exception {
3940
User user = User.Builder.create().withUsername(TEST_USERNAME).withPassword(TEST_PASS).build();
4041
userService.add(user);
4142

43+
AuthDetails authDetails = new AuthDetails();
44+
authDetails.setUsername(TEST_USERNAME);
45+
authDetails.setPassword(TEST_PASS);
46+
4247
MvcResult mvcResult = mockMvc.perform(
4348
post("/rest/token/new")
4449
.contentType(MediaType.APPLICATION_JSON)
45-
.content(objectMapper.writeValueAsString(user))
50+
.content(objectMapper.writeValueAsString(authDetails))
4651
)
4752
.andExpect(status().isOk())
4853
.andExpect(jsonPath("$.errors").doesNotExist())

back/src/test/java/org/webtree/mystuff/controller/StuffControllerTest.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.boot.test.mock.mockito.SpyBean;
2626
import org.springframework.security.test.context.support.WithAnonymousUser;
2727
import org.springframework.test.web.servlet.MvcResult;
28+
import org.webtree.mystuff.model.domain.AuthDetails;
2829
import org.webtree.mystuff.model.domain.Category;
2930
import org.webtree.mystuff.model.domain.Stuff;
3031
import org.webtree.mystuff.model.domain.User;
@@ -141,11 +142,14 @@ public void whenDeleteStuff_shouldNotReturnItForUser() throws Exception {
141142
@WithAnonymousUser
142143
public void whenAddExistingStuff_shouldReturnForBothUsers() throws Exception {
143144
Stuff stuff = stuffService.save(buildNewStuff(NAME, USER_1));
145+
AuthDetails authDetails = new AuthDetails();
146+
authDetails.setUsername(USER_2);
147+
authDetails.setPassword("pass");
144148
User user2 = userService.add(User.Builder.create().withUsername(USER_2).withPassword("pass").build());
145149
MvcResult mvcResult = mockMvc.perform(
146150
post("/rest/token/new")
147151
.contentType(APPLICATION_JSON)
148-
.content(objectMapper.writeValueAsString(user2))
152+
.content(objectMapper.writeValueAsString(authDetails))
149153
)
150154
.andExpect(status().isOk())
151155
.andExpect(jsonPath("$.errors").doesNotExist())
@@ -243,6 +247,16 @@ public void whenAddExistingCategory_shouldReturnIt_andDonNotTryToCreate() throws
243247
verify(categoryService, never()).save(any());
244248
}
245249

250+
@Test // bug #32
251+
public void whenGetStuff_shouldNotReturnUserPassword() throws Exception {
252+
Stuff stuff = stuffService.save(buildNewStuffWithStaffCategory(NAME, USER_1, buildNewStaffCategories(CATEGORY1)));
253+
mockMvc.perform(get("/rest/stuff/" + stuff.getId()).contentType(APPLICATION_JSON))
254+
.andExpect(status().isOk())
255+
.andExpect(jsonPath("$.creator").isNotEmpty())
256+
.andExpect(jsonPath("$.creator.username").value(USER_1))
257+
.andExpect(jsonPath("$.creator.password").doesNotExist());
258+
}
259+
246260
private Stuff buildNewStuff(String name, String username) {
247261
return Stuff.Builder.create().withUsers(buildNewUsers(username)).withName(name).build();
248262
}
@@ -263,12 +277,13 @@ private User addUser() {
263277
}
264278

265279
private Set<User> buildNewUsers(String username) {
266-
return Sets.newHashSet(userService.add(User.Builder.create().withUsername(username).build()));
280+
return Sets.newHashSet(userService.add(User.Builder.create().withUsername(username).withPassword("qweasd").build()));
267281
}
268282

269283

270284
private Stuff buildNewStuffWithStaffCategory(String name, String username, Set<Category> categories) {
271-
return Stuff.Builder.create().withUsers(buildNewUsers(username)).withName(name)
285+
Set<User> users = buildNewUsers(username);
286+
return Stuff.Builder.create().withCreator(users.iterator().next()).withUsers(users).withName(name)
272287
.withCategories(categories).build();
273288
}
274289

0 commit comments

Comments
 (0)