aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java')
-rw-r--r--document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java51
1 files changed, 51 insertions, 0 deletions
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 080528fea77..12ccba62005 100644
--- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
+++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java
@@ -20,6 +20,7 @@ import com.yahoo.document.MapDataType;
import com.yahoo.document.PositionDataType;
import com.yahoo.document.StructDataType;
import com.yahoo.document.TensorDataType;
+import com.yahoo.document.TestAndSetCondition;
import com.yahoo.document.WeightedSetDataType;
import com.yahoo.document.datatypes.Array;
import com.yahoo.document.datatypes.BoolFieldValue;
@@ -221,6 +222,56 @@ public class JsonReaderTestCase {
}
@Test
+ public void readSingleDocumentsPutStreaming() throws IOException {
+ String json = """
+ {
+ "remove": "id:unittest:smoke::ignored",
+ "ignored-extra-array": [{ "foo": null }, { }],
+ "ignored-extra-object": { "foo": [null, { }], "bar": { } },
+ "fields": {
+ "something": "smoketest",
+ "flag": true,
+ "nalle": "bamse"
+ },
+ "id": "id:unittest:smoke::ignored",
+ "create": false,
+ "condition": "true"
+ }
+ """;
+ ParsedDocumentOperation operation = createReader(json).readSingleDocumentStreaming(DocumentOperationType.PUT,"id:unittest:smoke::doc1");
+ DocumentPut put = ((DocumentPut) operation.operation());
+ assertFalse(put.getCreateIfNonExistent());
+ assertEquals("true", put.getCondition().getSelection());
+ smokeTestDoc(put.getDocument());
+ }
+
+ @Test
+ public void readSingleDocumentsUpdateStreaming() throws IOException {
+ String json = """
+ {
+ "remove": "id:unittest:smoke::ignored",
+ "ignored-extra-array": [{ "foo": null }, { }],
+ "ignored-extra-object": { "foo": [null, { }], "bar": { } },
+ "fields": {
+ "something": { "assign": "smoketest" },
+ "flag": { "assign": true },
+ "nalle": { "assign": "bamse" }
+ },
+ "id": "id:unittest:smoke::ignored",
+ "create": true,
+ "condition": "false"
+ }
+ """;
+ ParsedDocumentOperation operation = createReader(json).readSingleDocumentStreaming(DocumentOperationType.UPDATE,"id:unittest:smoke::doc1");
+ Document doc = new Document(types.getDocumentType("smoke"), new DocumentId("id:unittest:smoke::doc1"));
+ DocumentUpdate update = ((DocumentUpdate) operation.operation());
+ update.applyTo(doc);
+ smokeTestDoc(doc);
+ assertTrue(update.getCreateIfNonExistent());
+ assertEquals("false", update.getCondition().getSelection());
+ }
+
+ @Test
public void readSingleDocumentPut() throws IOException {
Document doc = docFromJson("""
{