From fa1578f66753eaa3185c2cf6af3f2b123dfee3ed Mon Sep 17 00:00:00 2001 From: Jorge Bornhausen Date: Tue, 10 Dec 2024 17:09:35 +0100 Subject: [PATCH] test(json-service): increase coverage to 100% --- quarkus-json-service/pom.xml | 2 +- .../commons/json/JsonServiceImplTest.java | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/quarkus-json-service/pom.xml b/quarkus-json-service/pom.xml index bf0b531..622c1ea 100644 --- a/quarkus-json-service/pom.xml +++ b/quarkus-json-service/pom.xml @@ -42,7 +42,7 @@ INSTRUCTION COVEREDRATIO - 0.83 + 1 diff --git a/quarkus-json-service/src/test/java/ch/phoenixtechnologies/quarkus/commons/json/JsonServiceImplTest.java b/quarkus-json-service/src/test/java/ch/phoenixtechnologies/quarkus/commons/json/JsonServiceImplTest.java index d01d46c..4dbcdbf 100644 --- a/quarkus-json-service/src/test/java/ch/phoenixtechnologies/quarkus/commons/json/JsonServiceImplTest.java +++ b/quarkus-json-service/src/test/java/ch/phoenixtechnologies/quarkus/commons/json/JsonServiceImplTest.java @@ -17,6 +17,15 @@ class JsonServiceImplTest { record TestRecord(String name, int age) {} + static class CircularReference { + CircularReference reference; + + @Override + public String toString() { + return "CircularReference"; + } + } + @Inject JsonServiceImpl jsonService; @@ -29,6 +38,17 @@ class JsonServiceImplTest { assertThat(actual).as("Json should match expected value").isEqualTo(expected); } + @Test + void toJsonWithCircularReference() { + var circularReference = new CircularReference(); + circularReference.reference = circularReference; + + assertThatThrownBy(() -> jsonService.toJson(circularReference)) + .as("Should throw IllegalArgumentException when input is invalid") + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Unable to write object as json String: CircularReference"); + } + @Test void fromJsonWithClass() { var json = "{\"name\":\"John Doe\",\"age\":30}";