From e97718245d206e260a4b696565be2eb0cc0801d3 Mon Sep 17 00:00:00 2001 From: Nik Everett Date: Wed, 30 Jan 2019 11:48:34 -0500 Subject: [PATCH] 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. --- .../rest/Netty4HeadBodyIsEmptyIT.java | 22 +++++++++---------- .../test/rest/ESRestTestCase.java | 14 +----------- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java b/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java index 623633f690f..3f7f8d7739d 100644 --- a/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java +++ b/modules/transport-netty4/src/test/java/org/elasticsearch/rest/Netty4HeadBodyIsEmptyIT.java @@ -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 params, final int expectedStatusCode, - final Matcher matcher) throws IOException { + final Matcher matcher, + final String... expectedWarnings) throws IOException { Request request = new Request("HEAD", url); for (Map.Entry 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); diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index 668f837dced..23e78d5492f 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -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) {