From 8de9e4177def5ada7784ff01a661d3dc0a4e7149 Mon Sep 17 00:00:00 2001 From: Scott Leberknight <174812+sleberknight@users.noreply.github.com> Date: Tue, 30 Apr 2024 20:53:37 +0000 Subject: [PATCH] Add response assertions to JsonProcessingExceptionMapperTest --- .../JsonProcessingExceptionMapperTest.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/kiwiproject/dropwizard/util/exception/JsonProcessingExceptionMapperTest.java b/src/test/java/org/kiwiproject/dropwizard/util/exception/JsonProcessingExceptionMapperTest.java index f87f61a8..481101fd 100644 --- a/src/test/java/org/kiwiproject/dropwizard/util/exception/JsonProcessingExceptionMapperTest.java +++ b/src/test/java/org/kiwiproject/dropwizard/util/exception/JsonProcessingExceptionMapperTest.java @@ -3,6 +3,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.kiwiproject.dropwizard.util.exception.ErrorMessageAssertions.assertAndGetErrorMessage; import static org.kiwiproject.test.constants.KiwiTestConstants.OBJECT_MAPPER; +import static org.kiwiproject.test.jaxrs.JaxrsTestHelper.assertBadRequest; +import static org.kiwiproject.test.jaxrs.JaxrsTestHelper.assertInternalServerErrorResponse; import static org.mockito.Mockito.mock; import com.fasterxml.jackson.core.JsonGenerationException; @@ -25,13 +27,20 @@ void shouldProcessJsonProcessingException() { var mapper = new JsonProcessingExceptionMapper(); var jsonException = createJsonException(); var response = mapper.toResponse(jsonException); - var errorMessage = assertAndGetErrorMessage(response); + assertBadRequest(response); + var errorMessage = assertAndGetErrorMessage(response); assertThat(errorMessage.getMessage()).isEqualTo(jsonException.getOriginalMessage()); } private JsonProcessingException createJsonException() { - String badJson = "{ \"first\": \"Bob\" \"last\": \"Jones\" )"; // missing comma before 'last' property + // missing comma before 'last' property + var badJson = """ + { + "first": "Bob" + "last": "Jones" + } + """; try { OBJECT_MAPPER.readValue(badJson, Person.class); } catch (JsonProcessingException e) { @@ -45,8 +54,9 @@ void shouldProcessJsonGenerationException() { var mapper = new JsonProcessingExceptionMapper(); var jsonException = new JsonGenerationException("Problem generating", mock(JsonGenerator.class)); var response = mapper.toResponse(jsonException); - var errorMessage = assertAndGetErrorMessage(response); + assertInternalServerErrorResponse(response); + var errorMessage = assertAndGetErrorMessage(response); assertThat(errorMessage.getMessage()).isEqualTo(jsonException.getOriginalMessage()); } @@ -57,8 +67,9 @@ void shouldProcessInvalidDefinitionException() { "Problem generating", mock(JavaType.class)); var response = mapper.toResponse(jsonException); - var errorMessage = assertAndGetErrorMessage(response); + assertInternalServerErrorResponse(response); + var errorMessage = assertAndGetErrorMessage(response); assertThat(errorMessage.getMessage()).isEqualTo(jsonException.getOriginalMessage()); } @@ -67,8 +78,9 @@ void shouldProcessJsonProcessingException_WithSpecificMessage() { var mapper = new JsonProcessingExceptionMapper(); var jsonException = new JsonParseException(mock(JsonParser.class), "No suitable constructor found for Foo"); var response = mapper.toResponse(jsonException); - var errorMessage = assertAndGetErrorMessage(response); + assertInternalServerErrorResponse(response); + var errorMessage = assertAndGetErrorMessage(response); assertThat(errorMessage.getMessage()).isEqualTo(jsonException.getOriginalMessage()); }