HLRC: split tasks request converters (#33441)
In an effort to encapsulate the different clients, the request converters are being shuffled around. This splits the TasksClient request converters.
This commit is contained in:
parent
cd4bdde328
commit
6a3adbd935
|
@ -30,8 +30,6 @@ import org.apache.http.entity.ContentType;
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.util.BytesRef;
|
||||||
import org.elasticsearch.action.DocWriteRequest;
|
import org.elasticsearch.action.DocWriteRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
|
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest;
|
|
||||||
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequest;
|
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
|
||||||
|
@ -111,7 +109,6 @@ import org.elasticsearch.index.reindex.ReindexRequest;
|
||||||
import org.elasticsearch.index.reindex.UpdateByQueryRequest;
|
import org.elasticsearch.index.reindex.UpdateByQueryRequest;
|
||||||
import org.elasticsearch.protocol.xpack.XPackInfoRequest;
|
import org.elasticsearch.protocol.xpack.XPackInfoRequest;
|
||||||
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
|
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
|
||||||
import org.elasticsearch.protocol.xpack.graph.GraphExploreRequest;
|
|
||||||
import org.elasticsearch.protocol.xpack.migration.IndexUpgradeInfoRequest;
|
import org.elasticsearch.protocol.xpack.migration.IndexUpgradeInfoRequest;
|
||||||
import org.elasticsearch.protocol.xpack.watcher.DeleteWatchRequest;
|
import org.elasticsearch.protocol.xpack.watcher.DeleteWatchRequest;
|
||||||
import org.elasticsearch.protocol.xpack.watcher.PutWatchRequest;
|
import org.elasticsearch.protocol.xpack.watcher.PutWatchRequest;
|
||||||
|
@ -138,17 +135,6 @@ final class RequestConverters {
|
||||||
// Contains only status utility methods
|
// Contains only status utility methods
|
||||||
}
|
}
|
||||||
|
|
||||||
static Request cancelTasks(CancelTasksRequest cancelTasksRequest) {
|
|
||||||
Request request = new Request(HttpPost.METHOD_NAME, "/_tasks/_cancel");
|
|
||||||
Params params = new Params(request);
|
|
||||||
params.withTimeout(cancelTasksRequest.getTimeout())
|
|
||||||
.withTaskId(cancelTasksRequest.getTaskId())
|
|
||||||
.withNodes(cancelTasksRequest.getNodes())
|
|
||||||
.withParentTaskId(cancelTasksRequest.getParentTaskId())
|
|
||||||
.withActions(cancelTasksRequest.getActions());
|
|
||||||
return request;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Request delete(DeleteRequest deleteRequest) {
|
static Request delete(DeleteRequest deleteRequest) {
|
||||||
String endpoint = endpoint(deleteRequest.index(), deleteRequest.type(), deleteRequest.id());
|
String endpoint = endpoint(deleteRequest.index(), deleteRequest.type(), deleteRequest.id());
|
||||||
Request request = new Request(HttpDelete.METHOD_NAME, endpoint);
|
Request request = new Request(HttpDelete.METHOD_NAME, endpoint);
|
||||||
|
@ -760,22 +746,6 @@ final class RequestConverters {
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Request listTasks(ListTasksRequest listTaskRequest) {
|
|
||||||
if (listTaskRequest.getTaskId() != null && listTaskRequest.getTaskId().isSet()) {
|
|
||||||
throw new IllegalArgumentException("TaskId cannot be used for list tasks request");
|
|
||||||
}
|
|
||||||
Request request = new Request(HttpGet.METHOD_NAME, "/_tasks");
|
|
||||||
Params params = new Params(request);
|
|
||||||
params.withTimeout(listTaskRequest.getTimeout())
|
|
||||||
.withDetailed(listTaskRequest.getDetailed())
|
|
||||||
.withWaitForCompletion(listTaskRequest.getWaitForCompletion())
|
|
||||||
.withParentTaskId(listTaskRequest.getParentTaskId())
|
|
||||||
.withNodes(listTaskRequest.getNodes())
|
|
||||||
.withActions(listTaskRequest.getActions())
|
|
||||||
.putParam("group_by", "none");
|
|
||||||
return request;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Request reindex(ReindexRequest reindexRequest) throws IOException {
|
static Request reindex(ReindexRequest reindexRequest) throws IOException {
|
||||||
String endpoint = new EndpointBuilder().addPathPart("_reindex").build();
|
String endpoint = new EndpointBuilder().addPathPart("_reindex").build();
|
||||||
Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
||||||
|
|
|
@ -51,7 +51,7 @@ public final class TasksClient {
|
||||||
* @throws IOException in case there is a problem sending the request or parsing back the response
|
* @throws IOException in case there is a problem sending the request or parsing back the response
|
||||||
*/
|
*/
|
||||||
public ListTasksResponse list(ListTasksRequest request, RequestOptions options) throws IOException {
|
public ListTasksResponse list(ListTasksRequest request, RequestOptions options) throws IOException {
|
||||||
return restHighLevelClient.performRequestAndParseEntity(request, RequestConverters::listTasks, options,
|
return restHighLevelClient.performRequestAndParseEntity(request, TasksRequestConverters::listTasks, options,
|
||||||
ListTasksResponse::fromXContent, emptySet());
|
ListTasksResponse::fromXContent, emptySet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ public final class TasksClient {
|
||||||
* @param listener the listener to be notified upon request completion
|
* @param listener the listener to be notified upon request completion
|
||||||
*/
|
*/
|
||||||
public void listAsync(ListTasksRequest request, RequestOptions options, ActionListener<ListTasksResponse> listener) {
|
public void listAsync(ListTasksRequest request, RequestOptions options, ActionListener<ListTasksResponse> listener) {
|
||||||
restHighLevelClient.performRequestAsyncAndParseEntity(request, RequestConverters::listTasks, options,
|
restHighLevelClient.performRequestAsyncAndParseEntity(request, TasksRequestConverters::listTasks, options,
|
||||||
ListTasksResponse::fromXContent, listener, emptySet());
|
ListTasksResponse::fromXContent, listener, emptySet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ public final class TasksClient {
|
||||||
public CancelTasksResponse cancel(CancelTasksRequest cancelTasksRequest, RequestOptions options ) throws IOException {
|
public CancelTasksResponse cancel(CancelTasksRequest cancelTasksRequest, RequestOptions options ) throws IOException {
|
||||||
return restHighLevelClient.performRequestAndParseEntity(
|
return restHighLevelClient.performRequestAndParseEntity(
|
||||||
cancelTasksRequest,
|
cancelTasksRequest,
|
||||||
RequestConverters::cancelTasks,
|
TasksRequestConverters::cancelTasks,
|
||||||
options,
|
options,
|
||||||
CancelTasksResponse::fromXContent,
|
CancelTasksResponse::fromXContent,
|
||||||
emptySet()
|
emptySet()
|
||||||
|
@ -101,7 +101,7 @@ public final class TasksClient {
|
||||||
public void cancelAsync(CancelTasksRequest cancelTasksRequest, RequestOptions options, ActionListener<CancelTasksResponse> listener) {
|
public void cancelAsync(CancelTasksRequest cancelTasksRequest, RequestOptions options, ActionListener<CancelTasksResponse> listener) {
|
||||||
restHighLevelClient.performRequestAsyncAndParseEntity(
|
restHighLevelClient.performRequestAsyncAndParseEntity(
|
||||||
cancelTasksRequest,
|
cancelTasksRequest,
|
||||||
RequestConverters::cancelTasks,
|
TasksRequestConverters::cancelTasks,
|
||||||
options,
|
options,
|
||||||
CancelTasksResponse::fromXContent,
|
CancelTasksResponse::fromXContent,
|
||||||
listener,
|
listener,
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.elasticsearch.client;
|
||||||
|
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.client.methods.HttpPost;
|
||||||
|
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest;
|
||||||
|
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequest;
|
||||||
|
|
||||||
|
public class TasksRequestConverters {
|
||||||
|
|
||||||
|
static Request cancelTasks(CancelTasksRequest cancelTasksRequest) {
|
||||||
|
Request request = new Request(HttpPost.METHOD_NAME, "/_tasks/_cancel");
|
||||||
|
RequestConverters.Params params = new RequestConverters.Params(request);
|
||||||
|
params.withTimeout(cancelTasksRequest.getTimeout())
|
||||||
|
.withTaskId(cancelTasksRequest.getTaskId())
|
||||||
|
.withNodes(cancelTasksRequest.getNodes())
|
||||||
|
.withParentTaskId(cancelTasksRequest.getParentTaskId())
|
||||||
|
.withActions(cancelTasksRequest.getActions());
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Request listTasks(ListTasksRequest listTaskRequest) {
|
||||||
|
if (listTaskRequest.getTaskId() != null && listTaskRequest.getTaskId().isSet()) {
|
||||||
|
throw new IllegalArgumentException("TaskId cannot be used for list tasks request");
|
||||||
|
}
|
||||||
|
Request request = new Request(HttpGet.METHOD_NAME, "/_tasks");
|
||||||
|
RequestConverters.Params params = new RequestConverters.Params(request);
|
||||||
|
params.withTimeout(listTaskRequest.getTimeout())
|
||||||
|
.withDetailed(listTaskRequest.getDetailed())
|
||||||
|
.withWaitForCompletion(listTaskRequest.getWaitForCompletion())
|
||||||
|
.withParentTaskId(listTaskRequest.getParentTaskId())
|
||||||
|
.withNodes(listTaskRequest.getNodes())
|
||||||
|
.withActions(listTaskRequest.getActions())
|
||||||
|
.putParam("group_by", "none");
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,8 +29,6 @@ import org.apache.http.entity.ByteArrayEntity;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
import org.elasticsearch.action.ActionRequestValidationException;
|
import org.elasticsearch.action.ActionRequestValidationException;
|
||||||
import org.elasticsearch.action.DocWriteRequest;
|
import org.elasticsearch.action.DocWriteRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest;
|
|
||||||
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequest;
|
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
|
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
|
||||||
|
@ -145,7 +143,6 @@ import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
|
||||||
import org.elasticsearch.search.rescore.QueryRescorerBuilder;
|
import org.elasticsearch.search.rescore.QueryRescorerBuilder;
|
||||||
import org.elasticsearch.search.suggest.SuggestBuilder;
|
import org.elasticsearch.search.suggest.SuggestBuilder;
|
||||||
import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder;
|
import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder;
|
||||||
import org.elasticsearch.tasks.TaskId;
|
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
import org.elasticsearch.test.RandomObjects;
|
import org.elasticsearch.test.RandomObjects;
|
||||||
|
|
||||||
|
@ -184,7 +181,6 @@ import static org.hamcrest.CoreMatchers.equalTo;
|
||||||
import static org.hamcrest.Matchers.hasEntry;
|
import static org.hamcrest.Matchers.hasEntry;
|
||||||
import static org.hamcrest.Matchers.hasKey;
|
import static org.hamcrest.Matchers.hasKey;
|
||||||
import static org.hamcrest.Matchers.is;
|
import static org.hamcrest.Matchers.is;
|
||||||
import static org.hamcrest.Matchers.notNullValue;
|
|
||||||
import static org.hamcrest.Matchers.nullValue;
|
import static org.hamcrest.Matchers.nullValue;
|
||||||
|
|
||||||
public class RequestConvertersTests extends ESTestCase {
|
public class RequestConvertersTests extends ESTestCase {
|
||||||
|
@ -2000,83 +1996,6 @@ public class RequestConvertersTests extends ESTestCase {
|
||||||
assertEquals(expectedParams, request.getParameters());
|
assertEquals(expectedParams, request.getParameters());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCancelTasks() {
|
|
||||||
CancelTasksRequest request = new CancelTasksRequest();
|
|
||||||
Map<String, String> expectedParams = new HashMap<>();
|
|
||||||
TaskId taskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
|
||||||
TaskId parentTaskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
|
||||||
request.setTaskId(taskId);
|
|
||||||
request.setParentTaskId(parentTaskId);
|
|
||||||
expectedParams.put("task_id", taskId.toString());
|
|
||||||
expectedParams.put("parent_task_id", parentTaskId.toString());
|
|
||||||
Request httpRequest = RequestConverters.cancelTasks(request);
|
|
||||||
assertThat(httpRequest, notNullValue());
|
|
||||||
assertThat(httpRequest.getMethod(), equalTo(HttpPost.METHOD_NAME));
|
|
||||||
assertThat(httpRequest.getEntity(), nullValue());
|
|
||||||
assertThat(httpRequest.getEndpoint(), equalTo("/_tasks/_cancel"));
|
|
||||||
assertThat(httpRequest.getParameters(), equalTo(expectedParams));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testListTasks() {
|
|
||||||
{
|
|
||||||
ListTasksRequest request = new ListTasksRequest();
|
|
||||||
Map<String, String> expectedParams = new HashMap<>();
|
|
||||||
if (randomBoolean()) {
|
|
||||||
request.setDetailed(randomBoolean());
|
|
||||||
if (request.getDetailed()) {
|
|
||||||
expectedParams.put("detailed", "true");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (randomBoolean()) {
|
|
||||||
request.setWaitForCompletion(randomBoolean());
|
|
||||||
if (request.getWaitForCompletion()) {
|
|
||||||
expectedParams.put("wait_for_completion", "true");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (randomBoolean()) {
|
|
||||||
String timeout = randomTimeValue();
|
|
||||||
request.setTimeout(timeout);
|
|
||||||
expectedParams.put("timeout", timeout);
|
|
||||||
}
|
|
||||||
if (randomBoolean()) {
|
|
||||||
if (randomBoolean()) {
|
|
||||||
TaskId taskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
|
||||||
request.setParentTaskId(taskId);
|
|
||||||
expectedParams.put("parent_task_id", taskId.toString());
|
|
||||||
} else {
|
|
||||||
request.setParentTask(TaskId.EMPTY_TASK_ID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (randomBoolean()) {
|
|
||||||
String[] nodes = generateRandomStringArray(10, 8, false);
|
|
||||||
request.setNodes(nodes);
|
|
||||||
if (nodes.length > 0) {
|
|
||||||
expectedParams.put("nodes", String.join(",", nodes));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (randomBoolean()) {
|
|
||||||
String[] actions = generateRandomStringArray(10, 8, false);
|
|
||||||
request.setActions(actions);
|
|
||||||
if (actions.length > 0) {
|
|
||||||
expectedParams.put("actions", String.join(",", actions));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
expectedParams.put("group_by", "none");
|
|
||||||
Request httpRequest = RequestConverters.listTasks(request);
|
|
||||||
assertThat(httpRequest, notNullValue());
|
|
||||||
assertThat(httpRequest.getMethod(), equalTo(HttpGet.METHOD_NAME));
|
|
||||||
assertThat(httpRequest.getEntity(), nullValue());
|
|
||||||
assertThat(httpRequest.getEndpoint(), equalTo("/_tasks"));
|
|
||||||
assertThat(httpRequest.getParameters(), equalTo(expectedParams));
|
|
||||||
}
|
|
||||||
{
|
|
||||||
ListTasksRequest request = new ListTasksRequest();
|
|
||||||
request.setTaskId(new TaskId(randomAlphaOfLength(5), randomNonNegativeLong()));
|
|
||||||
IllegalArgumentException exception = expectThrows(IllegalArgumentException.class, () -> RequestConverters.listTasks(request));
|
|
||||||
assertEquals("TaskId cannot be used for list tasks request", exception.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testGetRepositories() {
|
public void testGetRepositories() {
|
||||||
Map<String, String> expectedParams = new HashMap<>();
|
Map<String, String> expectedParams = new HashMap<>();
|
||||||
StringBuilder endpoint = new StringBuilder("/_snapshot");
|
StringBuilder endpoint = new StringBuilder("/_snapshot");
|
||||||
|
|
|
@ -0,0 +1,115 @@
|
||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.elasticsearch.client;
|
||||||
|
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.client.methods.HttpPost;
|
||||||
|
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest;
|
||||||
|
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequest;
|
||||||
|
import org.elasticsearch.tasks.TaskId;
|
||||||
|
import org.elasticsearch.test.ESTestCase;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.hamcrest.CoreMatchers.equalTo;
|
||||||
|
import static org.hamcrest.Matchers.notNullValue;
|
||||||
|
import static org.hamcrest.Matchers.nullValue;
|
||||||
|
|
||||||
|
public class TasksRequestConvertersTests extends ESTestCase {
|
||||||
|
|
||||||
|
public void testCancelTasks() {
|
||||||
|
CancelTasksRequest request = new CancelTasksRequest();
|
||||||
|
Map<String, String> expectedParams = new HashMap<>();
|
||||||
|
TaskId taskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
||||||
|
TaskId parentTaskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
||||||
|
request.setTaskId(taskId);
|
||||||
|
request.setParentTaskId(parentTaskId);
|
||||||
|
expectedParams.put("task_id", taskId.toString());
|
||||||
|
expectedParams.put("parent_task_id", parentTaskId.toString());
|
||||||
|
Request httpRequest = TasksRequestConverters.cancelTasks(request);
|
||||||
|
assertThat(httpRequest, notNullValue());
|
||||||
|
assertThat(httpRequest.getMethod(), equalTo(HttpPost.METHOD_NAME));
|
||||||
|
assertThat(httpRequest.getEntity(), nullValue());
|
||||||
|
assertThat(httpRequest.getEndpoint(), equalTo("/_tasks/_cancel"));
|
||||||
|
assertThat(httpRequest.getParameters(), equalTo(expectedParams));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testListTasks() {
|
||||||
|
{
|
||||||
|
ListTasksRequest request = new ListTasksRequest();
|
||||||
|
Map<String, String> expectedParams = new HashMap<>();
|
||||||
|
if (randomBoolean()) {
|
||||||
|
request.setDetailed(randomBoolean());
|
||||||
|
if (request.getDetailed()) {
|
||||||
|
expectedParams.put("detailed", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
request.setWaitForCompletion(randomBoolean());
|
||||||
|
if (request.getWaitForCompletion()) {
|
||||||
|
expectedParams.put("wait_for_completion", "true");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String timeout = randomTimeValue();
|
||||||
|
request.setTimeout(timeout);
|
||||||
|
expectedParams.put("timeout", timeout);
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
if (randomBoolean()) {
|
||||||
|
TaskId taskId = new TaskId(randomAlphaOfLength(5), randomNonNegativeLong());
|
||||||
|
request.setParentTaskId(taskId);
|
||||||
|
expectedParams.put("parent_task_id", taskId.toString());
|
||||||
|
} else {
|
||||||
|
request.setParentTask(TaskId.EMPTY_TASK_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String[] nodes = generateRandomStringArray(10, 8, false);
|
||||||
|
request.setNodes(nodes);
|
||||||
|
if (nodes.length > 0) {
|
||||||
|
expectedParams.put("nodes", String.join(",", nodes));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (randomBoolean()) {
|
||||||
|
String[] actions = generateRandomStringArray(10, 8, false);
|
||||||
|
request.setActions(actions);
|
||||||
|
if (actions.length > 0) {
|
||||||
|
expectedParams.put("actions", String.join(",", actions));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
expectedParams.put("group_by", "none");
|
||||||
|
Request httpRequest = TasksRequestConverters.listTasks(request);
|
||||||
|
assertThat(httpRequest, notNullValue());
|
||||||
|
assertThat(httpRequest.getMethod(), equalTo(HttpGet.METHOD_NAME));
|
||||||
|
assertThat(httpRequest.getEntity(), nullValue());
|
||||||
|
assertThat(httpRequest.getEndpoint(), equalTo("/_tasks"));
|
||||||
|
assertThat(httpRequest.getParameters(), equalTo(expectedParams));
|
||||||
|
}
|
||||||
|
{
|
||||||
|
ListTasksRequest request = new ListTasksRequest();
|
||||||
|
request.setTaskId(new TaskId(randomAlphaOfLength(5), randomNonNegativeLong()));
|
||||||
|
IllegalArgumentException exception = expectThrows(IllegalArgumentException.class, ()
|
||||||
|
-> TasksRequestConverters.listTasks(request));
|
||||||
|
assertEquals("TaskId cannot be used for list tasks request", exception.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue