Check that we correctly propagate delete request parameters
This commit is contained in:
parent
b2ec4c1f17
commit
efa28e05f8
|
@ -22,6 +22,7 @@ package org.elasticsearch.client;
|
||||||
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpEntity;
|
||||||
import org.apache.http.entity.ByteArrayEntity;
|
import org.apache.http.entity.ByteArrayEntity;
|
||||||
import org.elasticsearch.action.DocWriteRequest;
|
import org.elasticsearch.action.DocWriteRequest;
|
||||||
|
import org.elasticsearch.action.delete.DeleteRequest;
|
||||||
import org.elasticsearch.action.get.GetRequest;
|
import org.elasticsearch.action.get.GetRequest;
|
||||||
import org.elasticsearch.action.index.IndexRequest;
|
import org.elasticsearch.action.index.IndexRequest;
|
||||||
import org.elasticsearch.action.support.WriteRequest;
|
import org.elasticsearch.action.support.WriteRequest;
|
||||||
|
@ -55,6 +56,64 @@ public class RequestTests extends ESTestCase {
|
||||||
getAndExistsTest(Request::get, "GET");
|
getAndExistsTest(Request::get, "GET");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testDelete() throws IOException {
|
||||||
|
String index = randomAsciiOfLengthBetween(3, 10);
|
||||||
|
String type = randomAsciiOfLengthBetween(3, 10);
|
||||||
|
String id = randomAsciiOfLengthBetween(3, 10);
|
||||||
|
DeleteRequest deleteRequest = new DeleteRequest(index, type, id);
|
||||||
|
|
||||||
|
Map<String, String> expectedParams = new HashMap<>();
|
||||||
|
|
||||||
|
if (randomBoolean()) {
|
||||||
|
long version = randomFrom(Versions.MATCH_ANY, Versions.MATCH_DELETED, Versions.NOT_FOUND, randomNonNegativeLong());
|
||||||
|
deleteRequest.version(version);
|
||||||
|
if (version != Versions.MATCH_ANY) {
|
||||||
|
expectedParams.put("version", Long.toString(version));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
VersionType versionType = randomFrom(VersionType.values());
|
||||||
|
deleteRequest.versionType(versionType);
|
||||||
|
if (versionType != VersionType.INTERNAL) {
|
||||||
|
expectedParams.put("version_type", versionType.name().toLowerCase(Locale.ROOT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String timeout = randomTimeValue();
|
||||||
|
deleteRequest.timeout(timeout);
|
||||||
|
expectedParams.put("timeout", timeout);
|
||||||
|
} else {
|
||||||
|
expectedParams.put("timeout", ReplicationRequest.DEFAULT_TIMEOUT.getStringRep());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (frequently()) {
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String routing = randomAsciiOfLengthBetween(3, 10);
|
||||||
|
deleteRequest.routing(routing);
|
||||||
|
expectedParams.put("routing", routing);
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String parent = randomAsciiOfLengthBetween(3, 10);
|
||||||
|
deleteRequest.parent(parent);
|
||||||
|
expectedParams.put("parent", parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (randomBoolean()) {
|
||||||
|
WriteRequest.RefreshPolicy refreshPolicy = randomFrom(WriteRequest.RefreshPolicy.values());
|
||||||
|
deleteRequest.setRefreshPolicy(refreshPolicy);
|
||||||
|
if (refreshPolicy != WriteRequest.RefreshPolicy.NONE) {
|
||||||
|
expectedParams.put("refresh", refreshPolicy.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Request request = Request.delete(deleteRequest);
|
||||||
|
assertEquals("/" + index + "/" + type + "/" + id, request.endpoint);
|
||||||
|
assertEquals(expectedParams, request.params);
|
||||||
|
assertEquals("DELETE", request.method);
|
||||||
|
}
|
||||||
|
|
||||||
public void testExists() {
|
public void testExists() {
|
||||||
getAndExistsTest(Request::exists, "HEAD");
|
getAndExistsTest(Request::exists, "HEAD");
|
||||||
}
|
}
|
||||||
|
@ -307,4 +366,4 @@ public class RequestTests extends ESTestCase {
|
||||||
assertEquals("/a/b/_create", Request.endpoint("a", "b", "_create"));
|
assertEquals("/a/b/_create", Request.endpoint("a", "b", "_create"));
|
||||||
assertEquals("/a/b/c/_create", Request.endpoint("a", "b", "c", "_create"));
|
assertEquals("/a/b/c/_create", Request.endpoint("a", "b", "c", "_create"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue