Skip to content
Snippets Groups Projects
Commit bf68e9ed authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6381 Fix ExceptionControllerITCase

parent 6b242b53
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,7 @@ import jakarta.validation.constraints.NotEmpty;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.util.Arrays;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -45,37 +46,37 @@ class ExceptionControllerITCase {
@Nested
class TestConstraintViolationException {
@Test
@SneakyThrows
void shouldHaveInvalidFieldNameInResponse() {
@BeforeEach
void setUpException() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations("Not Empty"));
throw new ConstraintViolationException(getConstraintViolations());
});
}
private Set<ConstraintViolation<ValidatedClass>> getConstraintViolations() {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
return validator.validate(ValidatedClass.builder().string(StringUtils.EMPTY).build());
}
@Test
@SneakyThrows
void shouldHaveInvalidFieldNameInResponse() {
var result = performGet();
result.andExpect(jsonPath("$.invalidParams[*].name").value("string2"));
result.andExpect(jsonPath("$.invalidParams[*].name").value("string"));
}
@Test
@SneakyThrows
void shouldHaveTwoInvalidParamsInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations(StringUtils.EMPTY));
});
void shouldHaveInvalidParamsInResponse() {
var result = performGet();
result.andExpect(jsonPath("$.invalidParams[*].length()").value(Arrays.asList(new Integer[] { 4, 4 })));
result.andExpect(jsonPath("$.invalidParams[*].length()").value(Arrays.asList(new Integer[] { 4 })));
}
@Test
@SneakyThrows
void shouldHaveMessageInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations(StringUtils.EMPTY));
});
var result = performGet();
result.andExpect(jsonPath("$.invalidParams[0].reason").value("Empty field"));
......@@ -84,27 +85,16 @@ class ExceptionControllerITCase {
@Test
@SneakyThrows
void shouldHaveValueInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations(StringUtils.EMPTY));
});
var result = performGet();
result.andExpect(jsonPath("$.invalidParams[0].value").value(""));
}
private Set<ConstraintViolation<ValidatedClass>> getConstraintViolations(String string) {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
return validator.validate(ValidatedClass.builder().string1(string).build());
}
@Getter
@Builder
private static class ValidatedClass {
@NotEmpty(message = "Empty field")
private String string1;
@NotEmpty(message = "Empty field")
private String string2;
private String string;
}
@SneakyThrows
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment