Guest User

Untitled

a guest
Nov 20th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.99 KB | None | 0 0
  1. @RestController
  2. @RequestMapping("/users")
  3. public class UsersController {
  4.  
  5. private final UsersService usersService;
  6.  
  7. @Autowired
  8. public UsersController(UsersService usersService) {
  9. this.usersService = usersService;
  10. }
  11.  
  12. @GetMapping(value="/{email}", produces="application/json")
  13. public User get(@PathVariable @Email String email) {
  14. return usersService.findByEmail(email);
  15. }
  16.  
  17. @PostMapping(consumes="application/json", produces="application/json")
  18. @ResponseBody
  19. public ResponseEntity<String> insert(@RequestBody @Valid User user){
  20. usersService.insert(user);
  21. return ResponseEntity.ok(user.getEmail());
  22. }
  23.  
  24. @DeleteMapping(value="/{email}", consumes="application/json", produces="application/json")
  25. public ResponseEntity<String> delete(@PathVariable @Email String email) {
  26. usersService.delete(email);
  27. return ResponseEntity.ok(email);
  28. }
  29.  
  30. @PutMapping(value="/{email}", consumes="application/json", produces="application/json")
  31. public ResponseEntity<User> update(@PathVariable @Email String email, @RequestBody @Valid User user) {
  32. usersService.update(email, user);
  33. return ResponseEntity.ok(user);
  34. }
  35.  
  36. }
  37.  
  38. @RunWith(SpringRunner.class)
  39. @SpringBootTest
  40. @AutoConfigureMockMvc
  41. @WithMockUser(username = "user", roles = "USER")
  42. public class UsersControllerTest {
  43.  
  44.  
  45. @Autowired
  46. private MockMvc mockMvc;
  47.  
  48. @Test
  49. public void findUser() throws Exception {
  50. mockMvc.perform(get("/users/{email}", new Object[] {"boy@test.com"})).andExpect(status().isOk()).andExpect(jsonPath("$.email", equalTo("boy@test.com"))).andExpect(jsonPath("$.userName", equalTo("boy")));
  51. }
  52.  
  53. @Test
  54. public void insertGetModifyDelete() throws Exception {
  55. User user = new User("userName", "email@email.com");
  56. ObjectMapper mapper = new ObjectMapper();
  57. String json = mapper.writeValueAsString(user);
  58. mockMvc.perform(post("/users").content(json).contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
  59. mockMvc.perform(put("/users/{email}", new Object[] {user.getEmail()}).content(json)).andDo(print()).andExpect(status().isOk());
  60. mockMvc.perform(delete("/users/{email}", new Object[] {user.getEmail()}).content(json)).andDo(print()).andExpect(status().isOk());
  61. }
  62.  
  63. }
  64.  
  65. MockHttpServletRequest:
  66. HTTP Method = GET
  67. Request URI = /users/boy@test.com
  68. Parameters = {}
  69. Headers = {}
  70. Body = null
  71. Session Attrs = {SPRING_SECURITY_CONTEXT=org.springframework.security.core.context.SecurityContextImpl@ca25360: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@ca25360: Principal: org.springframework.security.core.userdetails.User@36ebcb: Username: user; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_USER}
  72.  
  73. Handler:
  74. Type = es.tododev.fairtasks.rest.UsersController
  75. Method = public es.tododev.fairtasks.dto.User es.tododev.fairtasks.rest.UsersController.get(java.lang.String)
  76.  
  77. Async:
  78. Async started = false
  79. Async result = null
  80.  
  81. Resolved Exception:
  82. Type = null
  83.  
  84. ModelAndView:
  85. View name = null
  86. View = null
  87. Model = null
  88.  
  89. FlashMap:
  90. Attributes = null
  91.  
  92. MockHttpServletResponse:
  93. Status = 200
  94. Error message = null
  95. Headers = {Content-Disposition=[inline;filename=f.txt], Content-Type=[application/json;charset=UTF-8], X-Content-Type-Options=[nosniff], X-XSS-Protection=[1; mode=block], Cache-Control=[no-cache, no-store, max-age=0, must-revalidate], Pragma=[no-cache], Expires=[0], X-Frame-Options=[DENY]}
  96. Content type = application/json;charset=UTF-8
  97. Body = {"userName":"boy","email":"boy@test.com"}
  98. Forwarded URL = null
  99. Redirected URL = null
  100. Cookies = []
  101.  
  102. MockHttpServletRequest:
  103. HTTP Method = POST
  104. Request URI = /users
  105. Parameters = {}
  106. Headers = {Content-Type=[application/json;charset=UTF-8], Accept=[application/json]}
  107. Body = {"userName":"userName","email":"email@email.com"}
  108. Session Attrs = {org.springframework.security.web.csrf.HttpSessionCsrfTokenRepository.CSRF_TOKEN=org.springframework.security.web.csrf.DefaultCsrfToken@66944c7c, SPRING_SECURITY_CONTEXT=org.springframework.security.core.context.SecurityContextImpl@ca25360: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@ca25360: Principal: org.springframework.security.core.userdetails.User@36ebcb: Username: user; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_USER}
  109.  
  110. Handler:
  111. Type = null
  112.  
  113. Async:
  114. Async started = false
  115. Async result = null
  116.  
  117. Resolved Exception:
  118. Type = null
  119.  
  120. ModelAndView:
  121. View name = null
  122. View = null
  123. Model = null
  124.  
  125. FlashMap:
  126. Attributes = null
  127.  
  128. MockHttpServletResponse:
  129. Status = 403
  130. Error message = Forbidden
  131. Headers = {X-Content-Type-Options=[nosniff], X-XSS-Protection=[1; mode=block], Cache-Control=[no-cache, no-store, max-age=0, must-revalidate], Pragma=[no-cache], Expires=[0], X-Frame-Options=[DENY]}
  132. Content type = null
  133. Body =
  134. Forwarded URL = null
  135. Redirected URL = null
  136. Cookies = []
  137. [ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.155 s <<< FAILURE! - in es.tododev.fairtasks.rest.UsersControllerTest
  138. [ERROR] insertGetModifyDelete(es.tododev.fairtasks.rest.UsersControllerTest) Time elapsed: 0.028 s <<< FAILURE!
  139. java.lang.AssertionError: Status expected:<200> but was:<403>
  140. at es.tododev.fairtasks.rest.UsersControllerTest.insertGetModifyDelete(UsersControllerTest.java:48)
Add Comment
Please, Sign In to add comment