From 42d12fc32705b80fffa802e7e4b7628e969bc4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9da=20Housni=20Alaoui?= Date: Sun, 28 Jun 2026 14:53:52 +0200 Subject: [PATCH] Make sure tests don't rely on Jackson auto-detection --- .../cosium/hal_model2/HalFormsBodyTest.java | 9 ++-- .../com/cosium/hal_model2/OptionsTest.java | 12 ++--- .../com/cosium/hal_model2/TemplateTest.java | 52 ++++++++++++------- .../com/cosium/hal_model2/TestJsonMapper.java | 23 ++++++++ 4 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 src/test/java/com/cosium/hal_model2/TestJsonMapper.java diff --git a/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java b/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java index b1b276b..42c8c48 100644 --- a/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java +++ b/src/test/java/com/cosium/hal_model2/HalFormsBodyTest.java @@ -8,7 +8,6 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import tools.jackson.core.type.TypeReference; -import tools.jackson.databind.json.JsonMapper; import tools.jackson.jr.ob.JSON; /** @@ -16,9 +15,6 @@ */ class HalFormsBodyTest { - private static final JsonMapper JSON_MAPPER = - JsonMapper.builder().addModule(new HalModelJacksonModule()).build(); - @Test @DisplayName("Parse atomic value") void test1() { @@ -45,7 +41,8 @@ void test1() { .end() .finish(); - HalFormsBody halFormsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody halFormsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(halFormsBody.representation().username()).isEqualTo("jdoe"); assertThat(halFormsBody.linkByName()).containsOnlyKeys("self"); assertThat(halFormsBody.requireLink("self").href().expand()) @@ -94,7 +91,7 @@ void test2() { .finish(); HalFormsBody>> halFormsBody = - JSON_MAPPER.readValue(json, new TypeReference<>() {}); + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(halFormsBody.representation().requireEmbedded().content()) .containsExactly("element1", "element2"); assertThat(halFormsBody.linkByName()).containsOnlyKeys("self"); diff --git a/src/test/java/com/cosium/hal_model2/OptionsTest.java b/src/test/java/com/cosium/hal_model2/OptionsTest.java index 125a67d..f055672 100644 --- a/src/test/java/com/cosium/hal_model2/OptionsTest.java +++ b/src/test/java/com/cosium/hal_model2/OptionsTest.java @@ -5,7 +5,6 @@ import java.util.Map; import org.junit.jupiter.api.Test; import tools.jackson.core.type.TypeReference; -import tools.jackson.databind.json.JsonMapper; import tools.jackson.jr.ob.JSON; /** @@ -13,9 +12,6 @@ */ class OptionsTest { - private static final JsonMapper JSON_MAPPER = - JsonMapper.builder().addModule(new HalModelJacksonModule()).build(); - @Test void inlineOfStringArray() { @@ -52,7 +48,7 @@ void inlineOfStringArray() { .finish(); Options options = - JSON_MAPPER + TestJsonMapper.INSTANCE .>readValue(json, new TypeReference<>() {}) .requireTemplate("default") .propertyByName() @@ -121,7 +117,7 @@ void referenceProperties() { .finish(); Options options = - JSON_MAPPER + TestJsonMapper.INSTANCE .>readValue(json, new TypeReference<>() {}) .requireTemplate("default") .propertyByName() @@ -194,7 +190,7 @@ void multipleReturnValues() { .finish(); Options options = - JSON_MAPPER + TestJsonMapper.INSTANCE .>readValue(json, new TypeReference<>() {}) .requireTemplate("default") .propertyByName() @@ -255,7 +251,7 @@ void externalArrayOfValues() { .finish(); Options options = - JSON_MAPPER + TestJsonMapper.INSTANCE .>readValue(json, new TypeReference<>() {}) .requireTemplate("default") .propertyByName() diff --git a/src/test/java/com/cosium/hal_model2/TemplateTest.java b/src/test/java/com/cosium/hal_model2/TemplateTest.java index 300a97e..e1a1721 100644 --- a/src/test/java/com/cosium/hal_model2/TemplateTest.java +++ b/src/test/java/com/cosium/hal_model2/TemplateTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import tools.jackson.core.type.TypeReference; -import tools.jackson.databind.json.JsonMapper; import tools.jackson.jr.ob.JSON; /** @@ -13,9 +12,6 @@ */ class TemplateTest { - private static final JsonMapper JSON_MAPPER = - JsonMapper.builder().addModule(new HalModelJacksonModule()).build(); - @Test @DisplayName("Parse template title") void test1() { @@ -37,7 +33,8 @@ void test1() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -75,7 +72,8 @@ void test2() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -116,7 +114,8 @@ void test3() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -157,7 +156,8 @@ void test4() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -198,7 +198,8 @@ void test5() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -239,7 +240,8 @@ void test6() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -280,7 +282,8 @@ void test7() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -321,7 +324,8 @@ void test8() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -362,7 +366,8 @@ void test10() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -403,7 +408,8 @@ void test11() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -444,7 +450,8 @@ void test12() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -485,7 +492,8 @@ void test13() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -526,7 +534,8 @@ void test14() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -567,7 +576,8 @@ void test15() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -602,7 +612,8 @@ void test16() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) @@ -634,7 +645,8 @@ void test17() { .end() .finish(); - HalFormsBody formsBody = JSON_MAPPER.readValue(json, new TypeReference<>() {}); + HalFormsBody formsBody = + TestJsonMapper.INSTANCE.readValue(json, new TypeReference<>() {}); assertThat(formsBody.linkByName()).containsOnlyKeys("self"); assertThat(formsBody.requireLink("self").href().expand()) diff --git a/src/test/java/com/cosium/hal_model2/TestJsonMapper.java b/src/test/java/com/cosium/hal_model2/TestJsonMapper.java new file mode 100644 index 0000000..f8b7f40 --- /dev/null +++ b/src/test/java/com/cosium/hal_model2/TestJsonMapper.java @@ -0,0 +1,23 @@ +package com.cosium.hal_model2; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import tools.jackson.databind.json.JsonMapper; + +/** + * @author Réda Housni Alaoui + */ +class TestJsonMapper { + + public static final JsonMapper INSTANCE = + JsonMapper.builder() + .addModule(new HalModelJacksonModule()) + .changeDefaultVisibility( + visibilityChecker -> + visibilityChecker + .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) + .withFieldVisibility(JsonAutoDetect.Visibility.NONE) + .withGetterVisibility(JsonAutoDetect.Visibility.NONE) + .withIsGetterVisibility(JsonAutoDetect.Visibility.NONE) + .withSetterVisibility(JsonAutoDetect.Visibility.NONE)) + .build(); +}