Switch some x-pack tests to new style Requests (#32500)

In #29623 we added `Request` object flavored requests to the low level
REST client and in #30315 we deprecated the old `performRequest`s. This
changes all calls in the `x-pack/qa/audit-tests`,
`x-pack/qa/ml-disabled`, and `x-pack/qa/multi-node` projects to use the
new versions.
This commit is contained in:
Nik Everett 2018-08-21 14:48:53 -04:00 committed by GitHub
parent 28a0df2c7f
commit fcf8cadd9a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 45 deletions

View File

@ -5,16 +5,13 @@
*/
package org.elasticsearch.xpack.ml.integration;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.ResponseException;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.test.rest.ESRestTestCase;
import org.elasticsearch.xpack.ml.MachineLearning;
import java.util.Collections;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.hamcrest.Matchers.containsString;
@ -27,30 +24,40 @@ public class MlPluginDisabledIT extends ESRestTestCase {
public void testActionsFail() throws Exception {
XContentBuilder xContentBuilder = jsonBuilder();
xContentBuilder.startObject();
{
xContentBuilder.field("actions-fail-job", "foo");
xContentBuilder.field("description", "Analysis of response time by airline");
xContentBuilder.startObject("analysis_config");
{
xContentBuilder.field("bucket_span", "3600s");
xContentBuilder.startArray("detectors");
{
xContentBuilder.startObject();
{
xContentBuilder.field("function", "metric");
xContentBuilder.field("field_name", "responsetime");
xContentBuilder.field("by_field_name", "airline");
}
xContentBuilder.endObject();
}
xContentBuilder.endArray();
}
xContentBuilder.endObject();
xContentBuilder.startObject("data_description");
{
xContentBuilder.field("format", "xcontent");
xContentBuilder.field("time_field", "time");
xContentBuilder.field("time_format", "epoch");
}
xContentBuilder.endObject();
}
xContentBuilder.endObject();
ResponseException exception = expectThrows(ResponseException.class, () -> client().performRequest("put",
MachineLearning.BASE_PATH + "anomaly_detectors/foo", Collections.emptyMap(),
new StringEntity(Strings.toString(xContentBuilder), ContentType.APPLICATION_JSON)));
Request request = new Request("PUT", MachineLearning.BASE_PATH + "anomaly_detectors/foo");
request.setJsonEntity(Strings.toString(xContentBuilder));
ResponseException exception = expectThrows(ResponseException.class, () -> client().performRequest(request));
assertThat(exception.getMessage(), containsString("no handler found for uri [/_xpack/ml/anomaly_detectors/foo] and method [PUT]"));
}
}

View File

@ -6,7 +6,6 @@
package org.elasticsearch.xpack.security.audit;
import com.carrotsearch.hppc.cursors.ObjectCursor;
import org.apache.http.message.BasicHeader;
import org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.support.master.AcknowledgedResponse;
@ -111,10 +110,12 @@ public class IndexAuditIT extends ESIntegTestCase {
}
public void testIndexAuditTrailWorking() throws Exception {
Response response = getRestClient().performRequest("GET", "/",
new BasicHeader(UsernamePasswordToken.BASIC_AUTH_HEADER,
UsernamePasswordToken.basicAuthHeaderValue(USER, new SecureString(PASS.toCharArray()))));
assertThat(response.getStatusLine().getStatusCode(), is(200));
Request request = new Request("GET", "/");
RequestOptions.Builder options = request.getOptions().toBuilder();
options.addHeader(UsernamePasswordToken.BASIC_AUTH_HEADER,
UsernamePasswordToken.basicAuthHeaderValue(USER, new SecureString(PASS.toCharArray())));
request.setOptions(options);
Response response = getRestClient().performRequest(request);
final AtomicReference<ClusterState> lastClusterState = new AtomicReference<>();
final boolean found = awaitSecurityAuditIndex(lastClusterState, QueryBuilders.matchQuery("principal", USER));

View File

@ -5,8 +5,7 @@
*/
package org.elasticsearch.multi_node;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.Response;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.SecureString;
@ -16,10 +15,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.test.rest.ESRestTestCase;
import org.elasticsearch.test.rest.yaml.ObjectPath;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
import static org.elasticsearch.xpack.core.security.authc.support.UsernamePasswordToken.basicAuthHeaderValue;
import static org.hamcrest.Matchers.equalTo;
@ -59,12 +54,15 @@ public class GlobalCheckpointSyncActionIT extends ESRestTestCase {
builder.endObject();
}
builder.endObject();
final StringEntity entity = new StringEntity(Strings.toString(builder), ContentType.APPLICATION_JSON);
client().performRequest("PUT", "test-index", Collections.emptyMap(), entity);
Request createIndexRequest = new Request("PUT", "/test-index");
createIndexRequest.setJsonEntity(Strings.toString(builder));
client().performRequest(createIndexRequest);
}
// wait for the replica to recover
client().performRequest("GET", "/_cluster/health", Collections.singletonMap("wait_for_status", "green"));
Request healthRequest = new Request("GET", "/_cluster/health");
healthRequest.addParameter("wait_for_status", "green");
client().performRequest(healthRequest);
// index some documents
final int numberOfDocuments = randomIntBetween(0, 128);
@ -75,17 +73,18 @@ public class GlobalCheckpointSyncActionIT extends ESRestTestCase {
builder.field("foo", i);
}
builder.endObject();
final StringEntity entity = new StringEntity(Strings.toString(builder), ContentType.APPLICATION_JSON);
client().performRequest("PUT", "/test-index/test-type/" + i, Collections.emptyMap(), entity);
Request indexRequest = new Request("PUT", "/test-index/test-type/" + i);
indexRequest.setJsonEntity(Strings.toString(builder));
client().performRequest(indexRequest);
}
}
// we have to wait for the post-operation global checkpoint sync to propagate to the replica
assertBusy(() -> {
final Map<String, String> params = new HashMap<>(2);
params.put("level", "shards");
params.put("filter_path", "**.seq_no");
final Response response = client().performRequest("GET", "/test-index/_stats", params);
final Request request = new Request("GET", "/test-index/_stats");
request.addParameter("level", "shards");
request.addParameter("filter_path", "**.seq_no");
final Response response = client().performRequest(request);
final ObjectPath path = ObjectPath.createFromResponse(response);
// int looks funny here since global checkpoints are longs but the response parser does not know enough to treat them as long
final int shard0GlobalCheckpoint = path.evaluate("indices.test-index.shards.0.0.seq_no.global_checkpoint");