Skip to content

Commit 0cd0043

Browse files
author
Hattinger04
committed
now test file for user working!
1 parent 7ff89bd commit 0cd0043

File tree

2 files changed

+80
-4
lines changed

2 files changed

+80
-4
lines changed

src/main/java/io/github/Hattinger04/user/UserController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ public ResponseEntity<?> getUserById(@PathVariable long id) {
8686
public ResponseEntity<?> createUser(@RequestBody JsonNode node) {
8787
User user = mapper.convertValue(node.get("user"), User.class);
8888
if (user == null) {
89-
return new ResponseEntity<>("Could not save user -> wrong data", HttpStatus.BAD_REQUEST);
89+
return new ResponseEntity<>("Could not save user -> wrong data "+ node.toPrettyString(), HttpStatus.BAD_REQUEST);
9090
}
9191
if (!userService.saveUser(user)) {
92-
return new ResponseEntity<>("Could not save user -> error in database", HttpStatus.BAD_REQUEST);
92+
return new ResponseEntity<>("Could not save user -> error in database " + node.toPrettyString(), HttpStatus.BAD_REQUEST);
9393
}
9494
return new ResponseEntity<>(HttpStatus.OK);
9595
}
@@ -104,7 +104,7 @@ public ResponseEntity<?> createUser(@RequestBody JsonNode node) {
104104
@PreAuthorize("hasAuthority('DEV')")
105105
public ResponseEntity<?> updateUser(@RequestBody JsonNode node) {
106106
User user = mapper.convertValue(node.get("user"), User.class);
107-
if (userService.updateUser(user)) {
107+
if (!userService.updateUser(user)) {
108108
return new ResponseEntity<>("Could not update user!", HttpStatus.NOT_FOUND);
109109
}
110110
return new ResponseEntity<>(HttpStatus.OK);
@@ -118,7 +118,7 @@ public ResponseEntity<?> updateUser(@RequestBody JsonNode node) {
118118
*/
119119
@DeleteMapping("/users")
120120
@PreAuthorize("hasAuthority('DEV')")
121-
public ResponseEntity<?> deleteUserByID(@RequestBody JsonNode node) {
121+
public ResponseEntity<?> deleteUser(@RequestBody JsonNode node) {
122122
User user = mapper.convertValue(node.get("user"), User.class);
123123
if (!userService.deleteUser(user.getId())) {
124124
return new ResponseEntity<>("Could not delete user!", HttpStatus.NOT_FOUND);

src/test/java/io/github/Hattinger04/UserControllerTest.java

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package io.github.Hattinger04;
22

3+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
34
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
5+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
6+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
47
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
58

69
import org.junit.Before;
10+
import org.junit.jupiter.api.Disabled;
711
import org.junit.jupiter.api.Test;
812
import org.junit.runner.RunWith;
913
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,13 +20,19 @@
1620
import org.springframework.context.annotation.ComponentScan;
1721
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
1822
import org.springframework.http.HttpStatus;
23+
import org.springframework.http.MediaType;
1924
import org.springframework.security.test.context.support.WithMockUser;
2025
import org.springframework.test.context.junit4.SpringRunner;
2126
import org.springframework.test.web.servlet.MockMvc;
2227
import org.springframework.test.web.servlet.MvcResult;
2328
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
2429

30+
import com.fasterxml.jackson.databind.JsonNode;
31+
import com.fasterxml.jackson.databind.ObjectMapper;
32+
import com.fasterxml.jackson.databind.node.ObjectNode;
33+
2534
import io.github.Hattinger04.user.UserController;
35+
import io.github.Hattinger04.user.model.User;
2636

2737
@RunWith(SpringRunner.class)
2838
@EntityScan("io.github.Hattinger04.*")
@@ -39,6 +49,9 @@ class UserControllerTest {
3949

4050
@Autowired
4151
private MockMvc mockMvc;
52+
53+
@Autowired
54+
private ObjectMapper objectMapper;
4255

4356
@Before
4457
public void setup() {
@@ -77,4 +90,67 @@ public void testGetAdminUserByUsername() throws Exception {
7790
.andExpect(status().is(HttpStatus.OK.value())).andReturn();
7891
output(result.getResponse().getStatus());
7992
}
93+
94+
@Disabled // Activate when you want to try it out - currently deactivated!
95+
@Test
96+
@WithMockUser(authorities = "ADMIN")
97+
public void testCreateUser() throws Exception {
98+
User user = new User();
99+
user.setUsername("new_user");
100+
user.setPassword("new_password");
101+
102+
JsonNode node = objectMapper.valueToTree(user);
103+
ObjectNode objectNode = objectMapper.createObjectNode();
104+
objectNode.set("user", node);
105+
106+
String json = objectMapper.writeValueAsString(objectNode);
107+
108+
MvcResult result = mockMvc.perform(post("https://localhost:" + port + "/user/users", 1)
109+
.content(json)
110+
.contentType(MediaType.APPLICATION_JSON))
111+
.andExpect(status().is(HttpStatus.OK.value()))
112+
.andReturn();
113+
output(result.getResponse().getStatus());
114+
}
115+
// Set correct id for user you want to change!
116+
@Test
117+
@WithMockUser(authorities = "ADMIN")
118+
public void testUpdateUser() throws Exception {
119+
User user = new User();
120+
user.setId(3);
121+
user.setUsername("new_user_updated");
122+
user.setPassword("new_password_updated");
123+
124+
JsonNode node = objectMapper.valueToTree(user);
125+
ObjectNode objectNode = objectMapper.createObjectNode();
126+
objectNode.set("user", node);
127+
128+
String json = objectMapper.writeValueAsString(objectNode);
129+
MvcResult result = mockMvc.perform(put("https://localhost:" + port + "/user/users", 1)
130+
.content(json)
131+
.contentType(MediaType.APPLICATION_JSON))
132+
.andExpect(status().is(HttpStatus.OK.value()))
133+
.andReturn();
134+
output(result.getResponse().getStatus());
135+
}
136+
137+
// @Disabled // Activate when you want to try it out - currently deactivated!
138+
@Test
139+
@WithMockUser(authorities = "ADMIN")
140+
public void testDeleteUserByID() throws Exception {
141+
User user = new User();
142+
user.setId(3);
143+
144+
JsonNode node = objectMapper.valueToTree(user);
145+
ObjectNode objectNode = objectMapper.createObjectNode();
146+
objectNode.set("user", node);
147+
148+
String json = objectMapper.writeValueAsString(objectNode);
149+
MvcResult result = mockMvc.perform(delete("https://localhost:" + port + "/user/users", 1)
150+
.content(json)
151+
.contentType(MediaType.APPLICATION_JSON))
152+
.andExpect(status().is(HttpStatus.OK.value()))
153+
.andReturn();
154+
output(result.getResponse().getStatus());
155+
}
80156
}

0 commit comments

Comments
 (0)