diff --git a/pom.xml b/pom.xml index 8366754b..e7715ec3 100644 --- a/pom.xml +++ b/pom.xml @@ -186,6 +186,15 @@ **/*Test.java + + --add-opens java.base/java.lang=ALL-UNNAMED + --add-opens java.base/java.util=ALL-UNNAMED + --add-opens java.base/java.net=ALL-UNNAMED + --add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED + --add-opens java.base/java.io=ALL-UNNAMED + --add-opens java.base/java.lang.reflect=ALL-UNNAMED + -Djunit.jupiter.extensions.autodetection.enabled=true + @@ -361,6 +370,18 @@ test ${org.mockito.inline.version} + + net.bytebuddy + byte-buddy + 1.15.11 + test + + + net.bytebuddy + byte-buddy-agent + 1.15.11 + test + com.github.tomakehurst wiremock-jre8 @@ -412,8 +433,8 @@ 1.8.2 2.2 1.5.3.Final - 4.6.1 - 4.5.1 + 5.2.0 + 5.2.0 0.2.0 1.18.32 2.0.17 diff --git a/src/main/java/com/mindee/parsing/v2/field/ObjectField.java b/src/main/java/com/mindee/parsing/v2/field/ObjectField.java index 8798d6b2..33aca48b 100644 --- a/src/main/java/com/mindee/parsing/v2/field/ObjectField.java +++ b/src/main/java/com/mindee/parsing/v2/field/ObjectField.java @@ -42,6 +42,26 @@ public LinkedHashMap getSimpleFields() throws IllegalStateE return simpleFields; } + /** + * Retrieves all subfields from the {@code fields} map as a {@link LinkedHashMap} of + * {@code ListField} objects, keyed by their field names. + * + * @return a {@link LinkedHashMap} containing the field names as keys and their corresponding + * {@code ListField} instances as values (only includes fields that are list fields) + */ + public LinkedHashMap getListFields() { + LinkedHashMap listFields = new LinkedHashMap<>(); + if (fields != null) { + for (String fieldName : fields.keySet()) { + DynamicField field = fields.get(fieldName); + if (field != null && field.getType() == DynamicField.FieldType.LIST_FIELD) { + listFields.put(fieldName, field.getListField()); + } + } + } + return listFields; + } + @Override public String toString() { return "\n" + (fields != null ? fields.toString(1) : ""); diff --git a/src/test/java/com/mindee/MindeeSettingsTest.java b/src/test/java/com/mindee/MindeeSettingsTest.java index 4ee59da1..46f76d69 100644 --- a/src/test/java/com/mindee/MindeeSettingsTest.java +++ b/src/test/java/com/mindee/MindeeSettingsTest.java @@ -11,7 +11,7 @@ public class MindeeSettingsTest { @SetEnvironmentVariable(key = "MINDEE_API_URL", value = "https://example.com") void setEnvironmentVariablesAndEmptyParams() { MindeeSettings settings = new MindeeSettings("", ""); - Assertions.assertEquals(settings.getApiKey().orElse(""), "abcd"); - Assertions.assertEquals(settings.getBaseUrl(), "https://example.com"); + Assertions.assertEquals("abcd", settings.getApiKey().orElse("")); + Assertions.assertEquals("https://example.com", settings.getBaseUrl()); } } diff --git a/src/test/java/com/mindee/input/LocalResponseV2Test.java b/src/test/java/com/mindee/input/LocalResponseV2Test.java index b33eab2d..c085af31 100644 --- a/src/test/java/com/mindee/input/LocalResponseV2Test.java +++ b/src/test/java/com/mindee/input/LocalResponseV2Test.java @@ -19,7 +19,7 @@ public class LocalResponseV2Test { /** * Real signature using fake secret key. */ - String signature = "1df388c992d87897fe61dfc56c444c58fc3c7369c31e2b5fd20d867695e93e85"; + String signature = "f390d9f7f57ac04f47b6309d8a40236b0182610804fc20e91b1f6028aaca07a7"; /** * File which the signature applies to. diff --git a/src/test/java/com/mindee/parsing/v2/InferenceTest.java b/src/test/java/com/mindee/parsing/v2/InferenceTest.java index 411617e5..8ee1b058 100644 --- a/src/test/java/com/mindee/parsing/v2/InferenceTest.java +++ b/src/test/java/com/mindee/parsing/v2/InferenceTest.java @@ -174,6 +174,7 @@ void deepNestedFields_mustExposeCorrectTypes() throws IOException { InferenceFields lvl1 = fieldObject.getFields(); assertNotNull(lvl1.get("sub_object_list").getListField()); assertNotNull(lvl1.get("sub_object_object").getObjectField()); + assertEquals(1, lvl1.get("sub_object_object").getObjectField().getListFields().size()); ObjectField subObjectObject = lvl1.get("sub_object_object").getObjectField(); InferenceFields lvl2 = subObjectObject.getFields(); diff --git a/src/test/resources b/src/test/resources index 0c51e1d3..67ccc1d9 160000 --- a/src/test/resources +++ b/src/test/resources @@ -1 +1 @@ -Subproject commit 0c51e1d3e2258404c44280f25f4951ba6fe27324 +Subproject commit 67ccc1d9cf8b6263860f79eafbaa2e8b8dd7ac3f