UsuarioController { @GetMapping("/usuarios/{login}") public Usuario recuperarPorLogin(@PathVariable("login") String login) { return usuarioService.recuperarPorLogin(login).orElseThrow(RuntimeException::new); } UsuarioController(UsuarioService usuarioService); @GetMapping("/usuarios/{login}") Usuario recuperarPorLogin(@PathVariable("login") String login); @GetMapping("/usuarios") List<Usuario> listarUsuarios(); @PostMapping("/usuarios") ResponseEntity<Usuario> salvarUsuario(@RequestBody @Valid Usuario usuario); @PutMapping("/usuarios") Usuario atualizarUsuario(@RequestBody @Valid Usuario usuario); @DeleteMapping("/usuarios/{id}") void removerUsuario(@PathVariable("id") Long id);  }
@Test public void recuperarPorLoginTest() throws Exception { usuarioRepository.save(createUser()); this.mockMvc.perform(get("/usuarios/diego")) .andExpect(status().isOk()) .andExpect(jsonPath("$.id").exists()) .andExpect(jsonPath("$.login").value("diego")) .andExpect(jsonPath("$.email").value("diego.pessoa@ifpb.edu.br")) .andExpect(jsonPath("$.cpf").value("627.380.950-03")) .andExpect(jsonPath("$.idade").value(31)) .andExpect(jsonPath("$.nome").value("Diego Pessoa")) .andReturn(); }