From f2ef351fb1bf51e9f94d563bc5d205121ceefc44 Mon Sep 17 00:00:00 2001 From: Ryan Bergman Date: Tue, 20 Aug 2024 13:44:49 -0500 Subject: [PATCH] test showing behavior for #532 --- .../test/java/BehaviorTests/AsObjectTest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/unirest-bdd-tests/src/test/java/BehaviorTests/AsObjectTest.java b/unirest-bdd-tests/src/test/java/BehaviorTests/AsObjectTest.java index 21a4206c..f4ab1bb6 100644 --- a/unirest-bdd-tests/src/test/java/BehaviorTests/AsObjectTest.java +++ b/unirest-bdd-tests/src/test/java/BehaviorTests/AsObjectTest.java @@ -207,6 +207,34 @@ void canSetObjectMapperToFailOnUnknown() { assertEquals(Arrays.asList(1,2,3), error.foo); } + @Test + void parsingExceptions() { + MockServer.setStringResponse("hi im not json"); + + var ex = Unirest.get(MockServer.ERROR_RESPONSE) + .asObject(SomeTestClass.class) + .getParsingError() + .get(); + + assertThat(ex) + .isInstanceOf(UnirestParsingException.class) + .hasMessage("kong.unirest.core.UnirestException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n" + + " at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 3]"); + + var ex2 = Unirest.get(MockServer.ERROR_RESPONSE) + .asObject(new GenericType() {}) + .getParsingError() + .get(); + + assertThat(ex2) + .isInstanceOf(UnirestParsingException.class) + .hasMessage("kong.unirest.core.UnirestException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'hi': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n" + + " at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 3]"); + + } + + static class SomeTestClass {} + public static class Error { public List foo; }