diff --git a/docs/src/test/java/org/elasticsearch/smoketest/DocsClientYamlTestSuiteIT.java b/docs/src/test/java/org/elasticsearch/smoketest/DocsClientYamlTestSuiteIT.java index a36df9987e7..02bc304317e 100644 --- a/docs/src/test/java/org/elasticsearch/smoketest/DocsClientYamlTestSuiteIT.java +++ b/docs/src/test/java/org/elasticsearch/smoketest/DocsClientYamlTestSuiteIT.java @@ -86,9 +86,13 @@ public class DocsClientYamlTestSuiteIT extends ESClientYamlSuiteTestCase { } @Override - protected ClientYamlTestClient initClientYamlTestClient(ClientYamlSuiteRestSpec restSpec, RestClient restClient, - List hosts, Version esVersion) throws IOException { - return new ClientYamlDocsTestClient(restSpec, restClient, hosts, esVersion); + protected ClientYamlTestClient initClientYamlTestClient( + final ClientYamlSuiteRestSpec restSpec, + final RestClient restClient, + final List hosts, + final Version esVersion, + final Version masterVersion) throws IOException { + return new ClientYamlDocsTestClient(restSpec, restClient, hosts, esVersion, masterVersion); } /** diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java index dacd67ccadc..b3c0a7b97ab 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java @@ -40,9 +40,13 @@ import java.util.Objects; */ public final class ClientYamlDocsTestClient extends ClientYamlTestClient { - public ClientYamlDocsTestClient(ClientYamlSuiteRestSpec restSpec, RestClient restClient, List hosts, Version esVersion) - throws IOException { - super(restSpec, restClient, hosts, esVersion); + public ClientYamlDocsTestClient( + final ClientYamlSuiteRestSpec restSpec, + final RestClient restClient, + final List hosts, + final Version esVersion, + final Version masterVersion) throws IOException { + super(restSpec, restClient, hosts, esVersion, masterVersion); } public ClientYamlTestResponse callApi(String apiName, Map params, HttpEntity entity, Map headers) diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java index 16aa9c428d7..c2765a84544 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java @@ -59,19 +59,29 @@ public class ClientYamlTestClient { private final ClientYamlSuiteRestSpec restSpec; protected final RestClient restClient; private final Version esVersion; + private final Version masterVersion; - public ClientYamlTestClient(ClientYamlSuiteRestSpec restSpec, RestClient restClient, List hosts, - Version esVersion) throws IOException { + public ClientYamlTestClient( + final ClientYamlSuiteRestSpec restSpec, + final RestClient restClient, + final List hosts, + final Version esVersion, + final Version masterVersion) throws IOException { assert hosts.size() > 0; this.restSpec = restSpec; this.restClient = restClient; this.esVersion = esVersion; + this.masterVersion = masterVersion; } public Version getEsVersion() { return esVersion; } + public Version getMasterVersion() { + return masterVersion; + } + /** * Calls an api with the provided parameters and body */ diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java index ca04c0c53d1..e9045587d55 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java @@ -185,4 +185,8 @@ public class ClientYamlTestExecutionContext { return clientYamlTestClient.getEsVersion(); } + public Version masterVersion() { + return clientYamlTestClient.getMasterVersion(); + } + } diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java index ab99bc0d97b..e0b501c5f25 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java @@ -111,33 +111,19 @@ public abstract class ESClientYamlSuiteTestCase extends ESRestTestCase { if (restTestExecutionContext == null) { assert adminExecutionContext == null; assert blacklistPathMatchers == null; - ClientYamlSuiteRestSpec restSpec = ClientYamlSuiteRestSpec.load(SPEC_PATH); + final ClientYamlSuiteRestSpec restSpec = ClientYamlSuiteRestSpec.load(SPEC_PATH); validateSpec(restSpec); - List hosts = getClusterHosts(); - RestClient restClient = client(); - Version infoVersion = readVersionsFromInfo(restClient, hosts.size()); - Version esVersion; - try { - Tuple versionVersionTuple = readVersionsFromCatNodes(restClient); - esVersion = versionVersionTuple.v1(); - Version masterVersion = versionVersionTuple.v2(); - logger.info("initializing yaml client, minimum es version: [{}] master version: [{}] hosts: {}", - esVersion, masterVersion, hosts); - } catch (ResponseException ex) { - if (ex.getResponse().getStatusLine().getStatusCode() == 403) { - logger.warn("Fallback to simple info '/' request, _cat/nodes is not authorized"); - esVersion = infoVersion; - logger.info("initializing yaml client, minimum es version: [{}] hosts: {}", esVersion, hosts); - } else { - throw ex; - } - } - ClientYamlTestClient clientYamlTestClient = initClientYamlTestClient(restSpec, restClient, hosts, esVersion); + final List hosts = getClusterHosts(); + Tuple versionVersionTuple = readVersionsFromCatNodes(adminClient()); + final Version esVersion = versionVersionTuple.v1(); + final Version masterVersion = versionVersionTuple.v2(); + logger.info("initializing client, minimum es version [{}], master version, [{}], hosts {}", esVersion, masterVersion, hosts); + final ClientYamlTestClient clientYamlTestClient = initClientYamlTestClient(restSpec, client(), hosts, esVersion, masterVersion); restTestExecutionContext = new ClientYamlTestExecutionContext(clientYamlTestClient, randomizeContentType()); adminExecutionContext = new ClientYamlTestExecutionContext(clientYamlTestClient, false); - String[] blacklist = resolvePathsProperty(REST_TESTS_BLACKLIST, null); + final String[] blacklist = resolvePathsProperty(REST_TESTS_BLACKLIST, null); blacklistPathMatchers = new ArrayList<>(); - for (String entry : blacklist) { + for (final String entry : blacklist) { blacklistPathMatchers.add(new BlacklistedPathPatternMatcher(entry)); } } @@ -151,9 +137,13 @@ public abstract class ESClientYamlSuiteTestCase extends ESRestTestCase { restTestExecutionContext.clear(); } - protected ClientYamlTestClient initClientYamlTestClient(ClientYamlSuiteRestSpec restSpec, RestClient restClient, - List hosts, Version esVersion) throws IOException { - return new ClientYamlTestClient(restSpec, restClient, hosts, esVersion); + protected ClientYamlTestClient initClientYamlTestClient( + final ClientYamlSuiteRestSpec restSpec, + final RestClient restClient, + final List hosts, + final Version esVersion, + final Version masterVersion) throws IOException { + return new ClientYamlTestClient(restSpec, restClient, hosts, esVersion, masterVersion); } /** diff --git a/x-pack/docs/src/test/java/org/elasticsearch/smoketest/XDocsClientYamlTestSuiteIT.java b/x-pack/docs/src/test/java/org/elasticsearch/smoketest/XDocsClientYamlTestSuiteIT.java index 269c12030cf..af9fb45b8a0 100644 --- a/x-pack/docs/src/test/java/org/elasticsearch/smoketest/XDocsClientYamlTestSuiteIT.java +++ b/x-pack/docs/src/test/java/org/elasticsearch/smoketest/XDocsClientYamlTestSuiteIT.java @@ -53,9 +53,13 @@ public class XDocsClientYamlTestSuiteIT extends XPackRestIT { } @Override - protected ClientYamlTestClient initClientYamlTestClient(ClientYamlSuiteRestSpec restSpec, RestClient restClient, - List hosts, Version esVersion) throws IOException { - return new ClientYamlDocsTestClient(restSpec, restClient, hosts, esVersion); + protected ClientYamlTestClient initClientYamlTestClient( + final ClientYamlSuiteRestSpec restSpec, + final RestClient restClient, + final List hosts, + final Version esVersion, + final Version masterVersion) throws IOException { + return new ClientYamlDocsTestClient(restSpec, restClient, hosts, esVersion, masterVersion); } /**