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

OZG-4717 ExceptionController refactoring

parent bf51d0b7
No related branches found
No related tags found
No related merge requests found
...@@ -36,7 +36,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExcep ...@@ -36,7 +36,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExcep
import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.common.errorhandling.TechnicalException;
@RestControllerAdvice @RestControllerAdvice
public class AdminExceptionHandler extends ResponseEntityExceptionHandler { public class ExceptionController extends ResponseEntityExceptionHandler {
static final Map<Class<? extends Exception>, HttpStatus> STATUS_BY_EXCEPTION = Map.of( static final Map<Class<? extends Exception>, HttpStatus> STATUS_BY_EXCEPTION = Map.of(
RuntimeException.class, HttpStatus.INTERNAL_SERVER_ERROR, RuntimeException.class, HttpStatus.INTERNAL_SERVER_ERROR,
......
...@@ -13,6 +13,7 @@ import jakarta.validation.ConstraintViolation; ...@@ -13,6 +13,7 @@ import jakarta.validation.ConstraintViolation;
import jakarta.validation.ConstraintViolationException; import jakarta.validation.ConstraintViolationException;
import jakarta.validation.Validation; import jakarta.validation.Validation;
import jakarta.validation.Validator; import jakarta.validation.Validator;
import jakarta.validation.constraints.NotEmpty;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -30,12 +31,14 @@ import org.springframework.test.web.servlet.ResultActions; ...@@ -30,12 +31,14 @@ import org.springframework.test.web.servlet.ResultActions;
import de.ozgcloud.admin.RootController; import de.ozgcloud.admin.RootController;
import de.ozgcloud.admin.RootModelAssembler; import de.ozgcloud.admin.RootModelAssembler;
import de.ozgcloud.common.test.ITCase; import de.ozgcloud.common.test.ITCase;
import lombok.Builder;
import lombok.Getter;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@ITCase @ITCase
@AutoConfigureMockMvc @AutoConfigureMockMvc
@WithMockUser @WithMockUser
public class AdminExceptionHandlerITCase { public class ExceptionControllerITCase {
@Autowired @Autowired
private MockMvc mockMvc; private MockMvc mockMvc;
...@@ -68,7 +71,7 @@ public class AdminExceptionHandlerITCase { ...@@ -68,7 +71,7 @@ public class AdminExceptionHandlerITCase {
} }
private static Stream<Arguments> exceptionAndExpectedStatus() { private static Stream<Arguments> exceptionAndExpectedStatus() {
return AdminExceptionHandler.STATUS_BY_EXCEPTION.entrySet().stream().map(kv -> Arguments.of(kv.getKey(), kv.getValue())); return ExceptionController.STATUS_BY_EXCEPTION.entrySet().stream().map(kv -> Arguments.of(kv.getKey(), kv.getValue()));
} }
} }
...@@ -93,6 +96,13 @@ public class AdminExceptionHandlerITCase { ...@@ -93,6 +96,13 @@ public class AdminExceptionHandlerITCase {
return validator.validate(object); return validator.validate(object);
} }
@Getter
@Builder
private static class ValidatedClass {
@NotEmpty(message = "Empty field")
private String string;
}
} }
@SneakyThrows @SneakyThrows
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
*/ */
package de.ozgcloud.admin.common.errorhandling; package de.ozgcloud.admin.common.errorhandling;
import static de.ozgcloud.admin.common.errorhandling.AdminExceptionHandler.*; import static de.ozgcloud.admin.common.errorhandling.ExceptionController.*;
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.*;
...@@ -41,7 +41,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; ...@@ -41,7 +41,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import lombok.SneakyThrows; import lombok.SneakyThrows;
class AdminExceptionHandlerTest { class ExceptionControllerTest {
private MockMvc mockMvc; private MockMvc mockMvc;
...@@ -49,7 +49,7 @@ class AdminExceptionHandlerTest { ...@@ -49,7 +49,7 @@ class AdminExceptionHandlerTest {
void setup() { void setup() {
mockMvc = MockMvcBuilders mockMvc = MockMvcBuilders
.standaloneSetup(new TestErrorController()) .standaloneSetup(new TestErrorController())
.setControllerAdvice(new AdminExceptionHandler()).build(); .setControllerAdvice(new ExceptionController()).build();
} }
@DisplayName("Error handler") @DisplayName("Error handler")
......
package de.ozgcloud.admin.common.errorhandling;
import jakarta.validation.constraints.NotEmpty;
import lombok.Builder;
import lombok.Getter;
import lombok.extern.jackson.Jacksonized;
@Getter
@Builder
@Jacksonized
public class ValidatedClass {
@NotEmpty(message = "Empty field")
private String string;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment