This commit is contained in:
@ -46,21 +46,15 @@ public class UserResource {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("login")
|
@PostMapping("login")
|
||||||
public ResponseEntity<HttpResponse> login(@RequestBody User user) {
|
public ResponseEntity<User> login(@RequestBody User user) {
|
||||||
|
|
||||||
authenticate(user.getUsername(), user.getPassword());
|
authenticate(user.getUsername(), user.getPassword());
|
||||||
UserDetails userDetails = userService.loadUserByUsername(user.getUsername());
|
UserDetails userDetails = userService.loadUserByUsername(user.getUsername());
|
||||||
|
User byUsername = userService.findByUsername(user.getUsername());
|
||||||
HttpResponse httpResponse = HttpResponse.builder()
|
|
||||||
.httpStatus(OK)
|
|
||||||
.reason(OK.getReasonPhrase().toUpperCase())
|
|
||||||
.message("User logged in successfully")
|
|
||||||
.httpStatusCode(OK.value())
|
|
||||||
.build();
|
|
||||||
|
|
||||||
return ResponseEntity.ok()
|
return ResponseEntity.ok()
|
||||||
.header(SecurityConstants.JWT_TOKEN_HEADER, jwtTokenProvider.generateJwtToken(userDetails))
|
.header(SecurityConstants.JWT_TOKEN_HEADER, jwtTokenProvider.generateJwtToken(userDetails))
|
||||||
.body(httpResponse);
|
.body(byUsername);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("add")
|
@PostMapping("add")
|
||||||
|
|||||||
@ -198,20 +198,23 @@ class UserResourceTest extends BaseUserTest {
|
|||||||
.username(username)
|
.username(username)
|
||||||
.password(password)
|
.password(password)
|
||||||
.build();
|
.build();
|
||||||
var responseEntity = restTemplate.postForEntity("/user/login", userLogin, HttpResponse.class);
|
var responseEntity = restTemplate.postForEntity("/user/login", userLogin, User.class);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
log.debug("Response Entity: {}", responseEntity);
|
log.debug("Response Entity: {}", responseEntity);
|
||||||
assertThat(responseEntity.getStatusCode()).isEqualTo(OK);
|
assertThat(responseEntity.getStatusCode()).isEqualTo(OK);
|
||||||
assertThat(responseEntity.getBody())
|
assertThat(responseEntity.getBody())
|
||||||
.isNotNull()
|
.isNotNull()
|
||||||
.hasNoNullFieldsOrProperties()
|
.hasNoNullFieldsOrPropertiesExcept("lastLoginDate", "lastLoginDateDisplay", "password")
|
||||||
.satisfies(httpResponse -> assertAll(
|
.hasFieldOrPropertyWithValue("username", fakeUser.getUsername())
|
||||||
() -> assertThat(httpResponse.getHttpStatusCode()).isEqualTo(200),
|
.hasFieldOrPropertyWithValue("email", fakeUser.getEmail())
|
||||||
() -> assertThat(httpResponse.getHttpStatus()).isEqualTo(OK),
|
.hasFieldOrPropertyWithValue("firstName", fakeUser.getFirstName())
|
||||||
() -> assertThat(httpResponse.getReason()).isEqualTo("OK"),
|
.hasFieldOrPropertyWithValue("lastName", fakeUser.getLastName())
|
||||||
() -> assertThat(httpResponse.getMessage()).isEqualTo(expectedMessage)
|
.hasFieldOrPropertyWithValue("isActive", true)
|
||||||
));
|
.hasFieldOrPropertyWithValue("isNotLocked", true)
|
||||||
|
.hasFieldOrPropertyWithValue("role", "ROLE_ADMIN")
|
||||||
|
.satisfies(u -> assertThat(u.getProfileImageUrl()).endsWith(String.format("/user/image/profile/%s/avatar.jpg", u.getUserId())));
|
||||||
|
|
||||||
String token = responseEntity.getHeaders().getFirst(JWT_TOKEN_HEADER);
|
String token = responseEntity.getHeaders().getFirst(JWT_TOKEN_HEADER);
|
||||||
log.debug("Token: {}", token);
|
log.debug("Token: {}", token);
|
||||||
assertThat(token).isNotBlank();
|
assertThat(token).isNotBlank();
|
||||||
|
|||||||
Reference in New Issue
Block a user