aboutsummaryrefslogtreecommitdiffstats
path: root/document/src
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2024-01-26 13:13:21 +0100
committerjonmv <venstad@gmail.com>2024-01-26 13:13:21 +0100
commit2d2130e7a102e16284bb6154e924184572c952ec (patch)
treeea14caf7642c0c35470505492f04f3ea600a7c41 /document/src
parent769811b442f47ac9f13638b0d3ee0b0ecbf06b47 (diff)
Check for "fields" field
Diffstat (limited to 'document/src')
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonReader.java3
-rw-r--r--document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java9
2 files changed, 11 insertions, 1 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonReader.java b/document/src/main/java/com/yahoo/document/json/JsonReader.java
index adf876262fa..b6cf8c6e18b 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonReader.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonReader.java
@@ -136,7 +136,8 @@ public class JsonReader {
if (null != parser.nextToken())
throw new IllegalArgumentException("expected end of input, got " + parser.currentToken());
- assert null != operation: "VespaDocumentReader should throw on missing fields";
+ if (null == operation)
+ throw new IllegalArgumentException("document is missing the required \"fields\" field");
if (null != create) {
switch (operationType) {
diff --git a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
index 12ccba62005..aa043a25d78 100644
--- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
+++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
@@ -222,6 +222,15 @@ public class JsonReaderTestCase {
}
@Test
+ public void readDocumentWithMissingFieldsField() {
+ assertEquals("document is missing the required \"fields\" field",
+ assertThrows(IllegalArgumentException.class,
+ () -> createReader("{ }").readSingleDocumentStreaming(DocumentOperationType.PUT,
+ "id:unittest:testnull::whee"))
+ .getMessage());
+ }
+
+ @Test
public void readSingleDocumentsPutStreaming() throws IOException {
String json = """
{