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