From ff2b13ffcd12b56f00a232c5b24b4360f3f06500 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 1 Mar 2024 10:55:23 +0100 Subject: [PATCH] OZG-4949 Avoided Hamcrest --- .../ExceptionControllerITCase.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/test/java/de/ozgcloud/admin/common/errorhandling/ExceptionControllerITCase.java b/src/test/java/de/ozgcloud/admin/common/errorhandling/ExceptionControllerITCase.java index 9ba9d27b..18880e17 100644 --- a/src/test/java/de/ozgcloud/admin/common/errorhandling/ExceptionControllerITCase.java +++ b/src/test/java/de/ozgcloud/admin/common/errorhandling/ExceptionControllerITCase.java @@ -1,7 +1,6 @@ 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 -- GitLab