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

OZG-4949 Avoided Hamcrest

parent 9d0ea1d6
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.admin.common.errorhandling;
import static org.hamcrest.Matchers.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
......@@ -15,7 +14,8 @@ import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.constraints.NotEmpty;
import org.junit.jupiter.api.BeforeEach;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.util.Arrays;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
......@@ -79,34 +79,45 @@ class ExceptionControllerITCase {
@Nested
class TestConstraintViolationException {
@BeforeEach
void mockModelAssemblerForException() {
@Test
@SneakyThrows
void shouldHaveInvalidFieldNameInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations());
throw new ConstraintViolationException(getConstraintViolations("Not Empty"));
});
var result = performGet();
result.andExpect(jsonPath("$.invalid-params[*].name").value("string2"));
}
@Test
@SneakyThrows
void shouldHaveFailedFieldNamesInResponse() {
void shouldHaveTwoInvalidParamsInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations(StringUtils.EMPTY));
});
var result = performGet();
result.andExpect(jsonPath("$.invalid-params[*].name").value(containsInAnyOrder("string1", "string2")));
result.andExpect(jsonPath("$.invalid-params[*].length()").value(Arrays.asList(new Integer[] { 2, 2 })));
}
@Test
@SneakyThrows
void shouldHaveMessageInResponse() {
when(modelAssembler.toModel(any())).thenAnswer((a) -> {
throw new ConstraintViolationException(getConstraintViolations(StringUtils.EMPTY));
});
var result = performGet();
result.andExpect(jsonPath("$.invalid-params[0].reason").value("Empty field"));
}
private Set<ConstraintViolation<ValidatedClass>> getConstraintViolations() {
private Set<ConstraintViolation<ValidatedClass>> getConstraintViolations(String string) {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
return validator.validate(ValidatedClass.builder().build());
return validator.validate(ValidatedClass.builder().string1(string).build());
}
@Getter
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment