Test: Enable strict deprecation on all tests (#36558)

This drops the option for tests to disable strict deprecation mode in
the low level rest client in favor of configuring expected warnings on
any calls that should expect warnings. This behavior is
paranoid-by-default which is generally the right way to handle
deprecations and tests in general.
This commit is contained in:
Nik Everett 2019-01-30 11:48:34 -05:00 committed by GitHub
parent 21e392e95e
commit e97718245d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 24 deletions

View File

@ -73,22 +73,20 @@ public class Netty4HeadBodyIsEmptyIT extends ESRestTestCase {
headTestCase("/test", singletonMap("pretty", "true"), greaterThan(0));
}
@Override
protected boolean getStrictDeprecationMode() {
// Remove this override when we remove the reference to types below
return false;
}
public void testTypeExists() throws IOException {
createTestDoc();
headTestCase("/test/_mapping/_doc", emptyMap(), greaterThan(0));
headTestCase("/test/_mapping/_doc", singletonMap("pretty", "true"), greaterThan(0));
headTestCase("/test/_mapping/_doc", emptyMap(), OK.getStatus(), greaterThan(0),
"Type exists requests are deprecated, as types have been deprecated.");
headTestCase("/test/_mapping/_doc", singletonMap("pretty", "true"), OK.getStatus(), greaterThan(0),
"Type exists requests are deprecated, as types have been deprecated.");
}
public void testTypeDoesNotExist() throws IOException {
createTestDoc();
headTestCase("/test/_mapping/does-not-exist", emptyMap(), NOT_FOUND.getStatus(), greaterThan(0));
headTestCase("/text/_mapping/_doc,does-not-exist", emptyMap(), NOT_FOUND.getStatus(), greaterThan(0));
headTestCase("/test/_mapping/does-not-exist", emptyMap(), NOT_FOUND.getStatus(), greaterThan(0),
"Type exists requests are deprecated, as types have been deprecated.");
headTestCase("/text/_mapping/test,does-not-exist", emptyMap(), NOT_FOUND.getStatus(), greaterThan(0),
"Type exists requests are deprecated, as types have been deprecated.");
}
public void testAliasExists() throws IOException {
@ -193,11 +191,13 @@ public class Netty4HeadBodyIsEmptyIT extends ESRestTestCase {
final String url,
final Map<String, String> params,
final int expectedStatusCode,
final Matcher<Integer> matcher) throws IOException {
final Matcher<Integer> matcher,
final String... expectedWarnings) throws IOException {
Request request = new Request("HEAD", url);
for (Map.Entry<String, String> param : params.entrySet()) {
request.addParameter(param.getKey(), param.getValue());
}
request.setOptions(expectWarnings(expectedWarnings));
Response response = client().performRequest(request);
assertEquals(expectedStatusCode, response.getStatusLine().getStatusCode());
assertThat(Integer.valueOf(response.getHeader("Content-Length")), matcher);

View File

@ -692,22 +692,10 @@ public abstract class ESRestTestCase extends ESTestCase {
protected RestClient buildClient(Settings settings, HttpHost[] hosts) throws IOException {
RestClientBuilder builder = RestClient.builder(hosts);
configureClient(builder, settings);
builder.setStrictDeprecationMode(getStrictDeprecationMode());
builder.setStrictDeprecationMode(true);
return builder.build();
}
/**
* Whether the used REST client should return any response containing at
* least one warning header as a failure.
* @deprecated always run in strict mode and use
* {@link RequestOptions.Builder#setWarningsHandler} to override this
* behavior on individual requests
*/
@Deprecated
protected boolean getStrictDeprecationMode() {
return true;
}
protected static void configureClient(RestClientBuilder builder, Settings settings) throws IOException {
String keystorePath = settings.get(TRUSTSTORE_PATH);
if (keystorePath != null) {