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

OZG-4949 Avoided Hamcrest

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