aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin/src/test
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-09-30 10:37:58 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-09-30 10:37:58 +0200
commita1917d6cc083d413f7cddcf154f159d067476bd7 (patch)
tree83d2e116ebb3ff774d5bad47db2a1aec1ab74c48 /vespaclient-container-plugin/src/test
parent374e7ae5caa94e2ba290fa5a85e88d95b972d3ca (diff)
Re-add test that was accidentally removed
Diffstat (limited to 'vespaclient-container-plugin/src/test')
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
index d8e3629a5b0..a2140337111 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
@@ -8,12 +8,15 @@ import com.yahoo.document.DocumentGet;
import com.yahoo.document.DocumentPut;
import com.yahoo.document.DocumentRemove;
import com.yahoo.document.DocumentTypeManager;
+import com.yahoo.document.DocumentUpdate;
import com.yahoo.document.TestAndSetCondition;
import com.yahoo.document.config.DocumentmanagerConfig;
+import com.yahoo.document.datatypes.StringFieldValue;
import com.yahoo.document.restapi.DocumentOperationExecutor.Group;
import com.yahoo.document.restapi.DocumentOperationExecutor.VisitorOptions;
import com.yahoo.document.restapi.DocumentOperationExecutorMock;
import com.yahoo.document.restapi.resource.DocumentV1ApiHandler.DocumentOperationParser;
+import com.yahoo.document.update.FieldUpdate;
import com.yahoo.documentapi.DocumentAccessParams;
import com.yahoo.documentapi.local.LocalDocumentAccess;
import com.yahoo.jdisc.Metric;
@@ -230,6 +233,26 @@ public class DocumentV1ApiTest {
assertEquals(put, executor.lastOperation());
assertEquals(parameters(), executor.lastParameters());
+ // PUT with a document update payload is a document update operation.
+ response = driver.sendRequest("http://localhost/document/v1/space/music/group/a/three?create=true", PUT,
+ "{" +
+ " \"fields\": {" +
+ " \"artist\": { \"assign\": \"Lisa Ekdahl\" }" +
+ " }" +
+ "}");
+ executor.lastOperationContext().success(Optional.empty());
+ assertSameJson("{" +
+ " \"pathId\": \"/document/v1/space/music/group/a/three\"," +
+ " \"id\": \"id:space:music:g=a:three\"" +
+ "}",
+ response.readAll());
+ DocumentUpdate update = new DocumentUpdate(doc3.getDataType(), doc3.getId());
+ update.addFieldUpdate(FieldUpdate.createAssign(doc3.getField("artist"), new StringFieldValue("Lisa Ekdahl")));
+ update.setCreateIfNonExistent(true);
+ assertEquals(update, executor.lastOperation());
+ assertEquals(parameters(), executor.lastParameters());
+ assertEquals(200, response.getStatus());
+
// POST with illegal payload is a 400
response = driver.sendRequest("http://localhost/document/v1/space/music/number/1/two?condition=test%20it", POST,
"{" +