diff --git a/src/test/java/de/ozgcloud/admin/common/errorhandling/AdminExceptionHandlerTest.java b/src/test/java/de/ozgcloud/admin/common/errorhandling/AdminExceptionHandlerTest.java index 2cd825c630f0812143c7b4f3ae4747d48dd91d5c..00d555b441707b0d45545ce4273dd06b6d139097 100644 --- a/src/test/java/de/ozgcloud/admin/common/errorhandling/AdminExceptionHandlerTest.java +++ b/src/test/java/de/ozgcloud/admin/common/errorhandling/AdminExceptionHandlerTest.java @@ -74,6 +74,42 @@ class AdminExceptionHandlerTest { result.andExpect(jsonPath("$.status").value(expectedStatus.value())); } + @ParameterizedTest + @MethodSource("exceptionAndExpectedStatus") + @SneakyThrows + void shouldRespondWithTitler(Class<? extends Exception> exceptionClass, HttpStatus expectedStatus) { + var result = doPerformWithError(exceptionClass); + + result.andExpect(jsonPath("$.title").exists()); + } + + @ParameterizedTest + @MethodSource("exceptionAndExpectedStatus") + @SneakyThrows + void shouldRespondWithDetail(Class<? extends Exception> exceptionClass, HttpStatus expectedStatus) { + var result = doPerformWithError(exceptionClass); + + result.andExpect(jsonPath("$.detail").exists()); + } + + @ParameterizedTest + @MethodSource("exceptionAndExpectedStatus") + @SneakyThrows + void shouldRespondWithInstance(Class<? extends Exception> exceptionClass, HttpStatus expectedStatus) { + var result = doPerformWithError(exceptionClass); + + result.andExpect(jsonPath("$.instance").exists()); + } + + @ParameterizedTest + @MethodSource("exceptionAndExpectedStatus") + @SneakyThrows + void shouldRespondWithType(Class<? extends Exception> exceptionClass, HttpStatus expectedStatus) { + var result = doPerformWithError(exceptionClass); + + result.andExpect(jsonPath("$.type").exists()); + } + private static Stream<Arguments> exceptionAndExpectedStatus() { return STATUS_BY_EXCEPTION.entrySet().stream().map(kv -> Arguments.of(kv.getKey(), kv.getValue())); }