summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-08-11 13:44:37 +0200
committerjonmv <venstad@gmail.com>2022-08-11 13:44:37 +0200
commit5fec3608e404237ac006b59a4acf41bcfb1353dc (patch)
tree35591f766954719296d124d8db9d9fee9e389d05 /vespaclient-container-plugin/src/test/java/com/yahoo
parent8be6039101a0c4006199c2946d8381c86428ec11 (diff)
Add --speedTest to feed client CLI, and dryRun to /doc/v1
Diffstat (limited to 'vespaclient-container-plugin/src/test/java/com/yahoo')
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java83
1 files changed, 61 insertions, 22 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 74a86b6a7b7..baedae5f580 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
@@ -524,6 +524,67 @@ public class DocumentV1ApiTest {
"}", response.readAll());
assertEquals(404, response.getStatus());
+ // POST with speedTest=true returns an immediate OK response
+ access.session.expect((__, ___) -> {
+ fail("Should not cause an actual feed operation");
+ return null;
+ });
+ response = driver.sendRequest("http://localhost/document/v1/space/music/number/1/two?dryRun=true", POST,
+ "NOT JSON, NOT PARSED");
+ assertSameJson("{" +
+ " \"pathId\": \"/document/v1/space/music/number/1/two\"," +
+ " \"id\": \"id:space:music:n=1:two\"" +
+ "}", response.readAll());
+ assertEquals(200, response.getStatus());
+
+ // PUT with speedTest=true returns an immediate OK response
+ access.session.expect((__, ___) -> {
+ fail("Should not cause an actual feed operation");
+ return null;
+ });
+ response = driver.sendRequest("http://localhost/document/v1/space/music/number/1/two?dryRun=true", PUT,
+ "NOT JSON, NOT PARSED");
+ assertSameJson("{" +
+ " \"pathId\": \"/document/v1/space/music/number/1/two\"," +
+ " \"id\": \"id:space:music:n=1:two\"" +
+ "}", response.readAll());
+ assertEquals(200, response.getStatus());
+
+ // DELETE with speedTest=true returns an immediate OK response
+ access.session.expect((__, ___) -> {
+ fail("Should not cause an actual feed operation");
+ return null;
+ });
+ response = driver.sendRequest("http://localhost/document/v1/space/music/number/1/two?dryRun=true", DELETE,
+ "NOT JSON, NOT PARSED");
+ assertSameJson("{" +
+ " \"pathId\": \"/document/v1/space/music/number/1/two\"," +
+ " \"id\": \"id:space:music:n=1:two\"" +
+ "}", response.readAll());
+ assertEquals(200, response.getStatus());
+
+ // PUT with a document update payload is a document update operation.
+ access.session.expect((update, parameters) -> {
+ DocumentUpdate expectedUpdate = new DocumentUpdate(doc3.getDataType(), doc3.getId());
+ expectedUpdate.addFieldUpdate(FieldUpdate.createAssign(doc3.getField("artist"), new StringFieldValue("Lisa Ekdahl")));
+ expectedUpdate.setCreateIfNonExistent(true);
+ assertEquals(expectedUpdate, update);
+ assertEquals(parameters(), parameters);
+ parameters.responseHandler().get().handleResponse(new UpdateResponse(0, true));
+ return new Result();
+ });
+ response = driver.sendRequest("http://localhost/document/v1/space/music/group/a/three?create=true&timeout=1e1s&dryRun=false", PUT,
+ "{" +
+ " \"fields\": {" +
+ " \"artist\": { \"assign\": \"Lisa Ekdahl\" }" +
+ " }" +
+ "}");
+ assertSameJson("{" +
+ " \"pathId\": \"/document/v1/space/music/group/a/three\"," +
+ " \"id\": \"id:space:music:g=a:three\"" +
+ "}", response.readAll());
+ assertEquals(200, response.getStatus());
+
// POST with a document payload is a document put operation.
access.session.expect((put, parameters) -> {
DocumentPut expectedPut = new DocumentPut(doc2);
@@ -566,28 +627,6 @@ public class DocumentV1ApiTest {
"}", response.readAll());
assertEquals(200, response.getStatus());
- // PUT with a document update payload is a document update operation.
- access.session.expect((update, parameters) -> {
- DocumentUpdate expectedUpdate = new DocumentUpdate(doc3.getDataType(), doc3.getId());
- expectedUpdate.addFieldUpdate(FieldUpdate.createAssign(doc3.getField("artist"), new StringFieldValue("Lisa Ekdahl")));
- expectedUpdate.setCreateIfNonExistent(true);
- assertEquals(expectedUpdate, update);
- assertEquals(parameters(), parameters);
- parameters.responseHandler().get().handleResponse(new UpdateResponse(0, true));
- return new Result();
- });
- response = driver.sendRequest("http://localhost/document/v1/space/music/group/a/three?create=true&timeout=1e1s", PUT,
- "{" +
- " \"fields\": {" +
- " \"artist\": { \"assign\": \"Lisa Ekdahl\" }" +
- " }" +
- "}");
- assertSameJson("{" +
- " \"pathId\": \"/document/v1/space/music/group/a/three\"," +
- " \"id\": \"id:space:music:g=a:three\"" +
- "}", response.readAll());
- assertEquals(200, response.getStatus());
-
// POST with no payload is a 400
access.session.expect((__, ___) -> { throw new AssertionError("Not supposed to happen"); });
response = driver.sendRequest("http://localhost/document/v1/space/music/number/1/two?condition=test%20it", POST, "");