Browse Source

Move yaml rest test case to separate test lib (#84835)

The ESClientYamlSuiteTestCase is used to run yaml tests throughout
Elasticsearch. It utilizes the low level rest client in sniffing for
nodes, but the sniffer is not needed anywhere else in the test
framework.

This commit creates a new project, `:test:rest-runner` which is meant to
house the rest test running infrastructure. This has two purposes. First
is to remove the sniffer from the test framework dependencies, because
it transitively depends on Jackson. Second is to setup the runner for
future refactorings where it could be made to not depend on the entire
test framework, though how that could work is left for the future.
Ryan Ernst 3 years ago
parent
commit
0ec229050e
100 changed files with 75 additions and 125 deletions
  1. 1 0
      build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/fixtures/AbstractRestResourcesFuncTest.groovy
  2. 2 2
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java
  3. 1 1
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/StandaloneRestTestPlugin.java
  4. 2 2
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/InternalJavaRestTestPlugin.java
  5. 2 2
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/InternalYamlRestTestPlugin.java
  6. 10 3
      build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java
  7. 4 4
      build-tools/src/integTest/groovy/org/elasticsearch/gradle/test/YamlRestTestPluginFuncTest.groovy
  8. 1 1
      build-tools/src/main/java/org/elasticsearch/gradle/test/YamlRestTestPlugin.java
  9. 1 1
      modules/data-streams/src/javaRestTest/java/org/elasticsearch/datastreams/TsdbDataStreamRestIT.java
  10. 1 1
      modules/transport-netty4/src/javaRestTest/java/org/elasticsearch/rest/Netty4BadRequestIT.java
  11. 1 1
      qa/ccs-rolling-upgrade-remote-cluster/src/test/java/org/elasticsearch/upgrades/SearchStatesIT.java
  12. 1 1
      qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java
  13. 1 1
      qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java
  14. 1 1
      qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java
  15. 1 1
      qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/RecoveryIT.java
  16. 1 1
      qa/verify-version-constants/src/test/java/org/elasticsearch/qa/verify_version_constants/VerifyVersionConstantsIT.java
  17. 0 65
      server/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java
  18. 1 2
      server/src/test/java/org/elasticsearch/index/query/AbstractTermQueryTestCase.java
  19. 1 2
      server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java
  20. 1 2
      server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java
  21. 1 1
      server/src/test/java/org/elasticsearch/index/query/TermsSetQueryBuilderTests.java
  22. 2 3
      server/src/test/java/org/elasticsearch/rest/action/RestActionsTests.java
  23. 1 0
      settings.gradle
  24. 0 1
      test/framework/build.gradle
  25. 1 2
      test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java
  26. 1 1
      test/framework/src/main/java/org/elasticsearch/test/XContentTestUtils.java
  27. 0 1
      test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java
  28. 1 1
      test/framework/src/main/java/org/elasticsearch/test/rest/ObjectPath.java
  29. 1 1
      test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java
  30. 8 0
      test/yaml-rest-runner/build.gradle
  31. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcher.java
  32. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java
  33. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestCandidate.java
  34. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java
  35. 1 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java
  36. 2 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java
  37. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponseException.java
  38. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java
  39. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/Features.java
  40. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/package-info.java
  41. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java
  42. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParser.java
  43. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestSpec.java
  44. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/package-info.java
  45. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ApiCallSection.java
  46. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/Assertion.java
  47. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSection.java
  48. 2 1
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuite.java
  49. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/CloseToAssertion.java
  50. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ContainsAssertion.java
  51. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/DoSection.java
  52. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ExecutableSection.java
  53. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanAssertion.java
  54. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanEqualToAssertion.java
  55. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/IsFalseAssertion.java
  56. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/IsTrueAssertion.java
  57. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LengthAssertion.java
  58. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanAssertion.java
  59. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanOrEqualToAssertion.java
  60. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/MatchAssertion.java
  61. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ParserUtils.java
  62. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SetSection.java
  63. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SetupSection.java
  64. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SkipSection.java
  65. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/TeardownSection.java
  66. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSection.java
  67. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/VersionRange.java
  68. 0 0
      test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/package-info.java
  69. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcherTests.java
  70. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java
  71. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCaseTests.java
  72. 2 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ObjectPathTests.java
  73. 1 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/StashTests.java
  74. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserFailingTests.java
  75. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserTests.java
  76. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiTests.java
  77. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/AbstractClientYamlTestFragmentParserTestCase.java
  78. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/AssertionTests.java
  79. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSectionTests.java
  80. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuiteTests.java
  81. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/DoSectionTests.java
  82. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/MatchAssertionTests.java
  83. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SetSectionTests.java
  84. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SetupSectionTests.java
  85. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SkipSectionTests.java
  86. 0 0
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/TeardownSectionTests.java
  87. 1 1
      test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSectionTests.java
  88. 0 0
      test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite1/10_basic.yml
  89. 0 0
      test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite1/20_another_test.yml
  90. 0 0
      test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite2/10_basic.yml
  91. 0 0
      test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite2/15_test2.yml
  92. 1 1
      x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/action/TransportAnalyticsStatsActionTests.java
  93. 1 1
      x-pack/plugin/build.gradle
  94. 1 1
      x-pack/plugin/ccr/qa/security/src/test/java/org/elasticsearch/xpack/ccr/FollowIndexSecurityIT.java
  95. 8 9
      x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/job/persistence/ElasticsearchMappingsTests.java
  96. 1 1
      x-pack/plugin/identity-provider/src/internalClusterTest/java/org/elasticsearch/xpack/idp/action/SamlIdentityProviderTests.java
  97. 1 1
      x-pack/plugin/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/MonitoringInfoTransportActionTests.java
  98. 1 1
      x-pack/plugin/ql/test-fixtures/src/main/java/org/elasticsearch/xpack/ql/TestUtils.java
  99. 1 2
      x-pack/plugin/search-business-rules/src/test/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilderTests.java
  100. 1 1
      x-pack/plugin/security/qa/basic-enable-security/src/javaRestTest/java/org/elasticsearch/xpack/security/EnableSecurityOnBasicLicenseIT.java

+ 1 - 0
build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/fixtures/AbstractRestResourcesFuncTest.groovy

@@ -13,6 +13,7 @@ abstract class AbstractRestResourcesFuncTest extends AbstractGradleFuncTest {
 
     def setup() {
         addSubProject(":test:framework") << "apply plugin: 'elasticsearch.java'"
+        addSubProject(":test:yaml-rest-runner") << "apply plugin: 'elasticsearch.java'"
 
         addSubProject(":rest-api-spec") << """
         configurations { restSpecs\nrestTests }

+ 2 - 2
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/rest/compat/YamlRestCompatTestPlugin.java

@@ -40,7 +40,7 @@ import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.Map;
 
-import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupTestDependenciesDefaults;
+import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupYamlRestTestDependenciesDefaults;
 
 /**
  * Apply this plugin to run the YAML based REST tests from a prior major version against this version's cluster.
@@ -215,7 +215,7 @@ public class YamlRestCompatTestPlugin implements Plugin<Project> {
             testTask.onlyIf(t -> isEnabled(project));
         });
 
-        setupTestDependenciesDefaults(project, yamlCompatTestSourceSet);
+        setupYamlRestTestDependenciesDefaults(project, yamlCompatTestSourceSet);
 
         // setup IDE
         GradleUtils.setupIdeForTestSourceSet(project, yamlCompatTestSourceSet);

+ 1 - 1
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/StandaloneRestTestPlugin.java

@@ -55,7 +55,7 @@ public class StandaloneRestTestPlugin implements Plugin<Project> {
 
         // create a compileOnly configuration as others might expect it
         project.getConfigurations().create("compileOnly");
-        RestTestUtil.setupTestDependenciesDefaults(project, testSourceSet);
+        RestTestUtil.setupJavaRestTestDependenciesDefaults(project, testSourceSet);
 
         EclipseModel eclipse = project.getExtensions().getByType(EclipseModel.class);
         eclipse.getClasspath().setSourceSets(Arrays.asList(testSourceSet));

+ 2 - 2
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/InternalJavaRestTestPlugin.java

@@ -16,7 +16,7 @@ import org.gradle.api.tasks.SourceSet;
 import org.gradle.api.tasks.SourceSetContainer;
 
 import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.registerTestTask;
-import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupTestDependenciesDefaults;
+import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupJavaRestTestDependenciesDefaults;
 
 /**
  * Apply this plugin to run the Java based REST tests.
@@ -37,7 +37,7 @@ public class InternalJavaRestTestPlugin implements Plugin<Project> {
         registerTestTask(project, javaTestSourceSet);
 
         // setup dependencies
-        setupTestDependenciesDefaults(project, javaTestSourceSet);
+        setupJavaRestTestDependenciesDefaults(project, javaTestSourceSet);
 
         // setup IDE
         GradleUtils.setupIdeForTestSourceSet(project, javaTestSourceSet);

+ 2 - 2
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/InternalYamlRestTestPlugin.java

@@ -16,7 +16,7 @@ import org.gradle.api.tasks.SourceSet;
 import org.gradle.api.tasks.SourceSetContainer;
 
 import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.registerTestTask;
-import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupTestDependenciesDefaults;
+import static org.elasticsearch.gradle.internal.test.rest.RestTestUtil.setupYamlRestTestDependenciesDefaults;
 
 /**
  * Apply this plugin to run the YAML based REST tests.
@@ -37,7 +37,7 @@ public class InternalYamlRestTestPlugin implements Plugin<Project> {
         registerTestTask(project, yamlTestSourceSet);
 
         // setup the dependencies
-        setupTestDependenciesDefaults(project, yamlTestSourceSet);
+        setupYamlRestTestDependenciesDefaults(project, yamlTestSourceSet);
 
         // setup the copy for the rest resources
         project.getTasks().withType(CopyRestApiTask.class).configureEach(copyRestApiTask -> {

+ 10 - 3
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/rest/RestTestUtil.java

@@ -45,10 +45,17 @@ public class RestTestUtil {
     }
 
     /**
-     * Setup the dependencies needed for the REST tests.
+     * Setup the dependencies needed for the YAML REST tests.
      */
-    public static void setupTestDependenciesDefaults(Project project, SourceSet sourceSet) {
-        project.getDependencies().add(sourceSet.getImplementationConfigurationName(), project.project(":test:framework"));
+    public static void setupYamlRestTestDependenciesDefaults(Project project, SourceSet sourceSet) {
+        project.getDependencies().add(sourceSet.getImplementationConfigurationName(), project.project(":test:yaml-rest-runner"));
     }
 
+    /**
+     * Setup the dependencies needed for the Java REST tests.
+     */
+    public static void setupJavaRestTestDependenciesDefaults(Project project, SourceSet sourceSet) {
+        // TODO: this should just be test framework, but some cleanup is needed in places incorrectly specifying java vs yaml
+        project.getDependencies().add(sourceSet.getImplementationConfigurationName(), project.project(":test:yaml-rest-runner"));
+    }
 }

+ 4 - 4
build-tools/src/integTest/groovy/org/elasticsearch/gradle/test/YamlRestTestPluginFuncTest.groovy

@@ -31,7 +31,7 @@ restTestSpecs
 /--- org.elasticsearch:rest-api-spec:${VersionProperties.elasticsearch} FAILED""")
         output.contains(normalized("""
 yamlRestTestImplementation - Implementation only dependencies for source set 'yaml rest test'. (n)
-/--- org.elasticsearch.test:framework:${VersionProperties.elasticsearch} (n)"""))
+/--- org.elasticsearch.test:yaml-rest-runner:${VersionProperties.elasticsearch} (n)"""))
     }
 
     def "yamlRestTest does nothing when there are no tests"() {
@@ -40,11 +40,11 @@ yamlRestTestImplementation - Implementation only dependencies for source set 'ya
         plugins {
           id 'elasticsearch.yaml-rest-test'
         }
-        
+
         repositories {
             mavenCentral()
         }
-   
+
         dependencies {
             yamlRestTestImplementation "org.elasticsearch.test:framework:7.14.0"
             restTestSpecs "org.elasticsearch:rest-api-spec:7.14.0"
@@ -59,4 +59,4 @@ yamlRestTestImplementation - Implementation only dependencies for source set 'ya
         result.task(':yamlRestTest').outcome == TaskOutcome.NO_SOURCE
     }
 
-}
+}

+ 1 - 1
build-tools/src/main/java/org/elasticsearch/gradle/test/YamlRestTestPlugin.java

@@ -97,7 +97,7 @@ public class YamlRestTestPlugin implements Plugin<Project> {
     ) {
         String elasticsearchVersion = VersionProperties.getElasticsearch();
         yamlRestTestImplementation.defaultDependencies(
-            deps -> deps.add(dependencyHandler.create("org.elasticsearch.test:framework:" + elasticsearchVersion))
+            deps -> deps.add(dependencyHandler.create("org.elasticsearch.test:yaml-rest-runner:" + elasticsearchVersion))
         );
 
         restTestSpecs.defaultDependencies(

+ 1 - 1
modules/data-streams/src/javaRestTest/java/org/elasticsearch/datastreams/TsdbDataStreamRestIT.java

@@ -12,7 +12,7 @@ import org.elasticsearch.client.ResponseException;
 import org.elasticsearch.common.time.DateFormatter;
 import org.elasticsearch.common.time.FormatNames;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 
 import java.io.IOException;
 import java.time.Instant;

+ 1 - 1
modules/transport-netty4/src/javaRestTest/java/org/elasticsearch/rest/Netty4BadRequestIT.java

@@ -17,7 +17,7 @@ import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.unit.ByteSizeValue;
 import org.elasticsearch.http.HttpTransportSettings;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 
 import java.io.IOException;
 import java.nio.charset.Charset;

+ 1 - 1
qa/ccs-rolling-upgrade-remote-cluster/src/test/java/org/elasticsearch/upgrades/SearchStatesIT.java

@@ -45,7 +45,7 @@ import org.elasticsearch.cluster.metadata.IndexMetadata;
 import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.test.hamcrest.ElasticsearchAssertions;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xcontent.DeprecationHandler;
 import org.elasticsearch.xcontent.NamedXContentRegistry;
 import org.elasticsearch.xcontent.XContentParser;

+ 1 - 1
qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java

@@ -29,7 +29,7 @@ import org.elasticsearch.rest.action.admin.indices.RestPutIndexTemplateAction;
 import org.elasticsearch.test.NotEqualMessageBuilder;
 import org.elasticsearch.test.XContentTestUtils;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.transport.Compression;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentParser;

+ 1 - 1
qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/IndexingIT.java

@@ -22,7 +22,7 @@ import org.elasticsearch.core.RestApiVersion;
 import org.elasticsearch.index.seqno.SeqNoStats;
 import org.elasticsearch.rest.RestStatus;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xcontent.MediaType;
 import org.elasticsearch.xcontent.XContentType;
 import org.elasticsearch.xcontent.json.JsonXContent;

+ 1 - 1
qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java

@@ -20,7 +20,7 @@ import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.core.CheckedRunnable;
 import org.elasticsearch.rest.RestStatus;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.junit.Before;
 
 import java.io.IOException;

+ 1 - 1
qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/RecoveryIT.java

@@ -22,7 +22,7 @@ import org.elasticsearch.common.util.concurrent.AbstractRunnable;
 import org.elasticsearch.common.xcontent.support.XContentMapValues;
 import org.elasticsearch.core.Booleans;
 import org.elasticsearch.index.IndexSettings;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.hamcrest.Matchers;
 
 import java.io.IOException;

+ 1 - 1
qa/verify-version-constants/src/test/java/org/elasticsearch/qa/verify_version_constants/VerifyVersionConstantsIT.java

@@ -15,7 +15,7 @@ import org.elasticsearch.common.settings.SecureString;
 import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.util.concurrent.ThreadContext;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 
 import java.io.IOException;
 import java.text.ParseException;

+ 0 - 65
server/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java

@@ -1,65 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
- * in compliance with, at your election, the Elastic License 2.0 or the Server
- * Side Public License, v 1.
- */
-
-package org.elasticsearch.deps.jackson;
-
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-
-import org.elasticsearch.common.io.stream.BytesStreamOutput;
-import org.elasticsearch.test.ESTestCase;
-
-import java.io.IOException;
-
-import static org.hamcrest.Matchers.equalTo;
-
-public class JacksonLocationTests extends ESTestCase {
-    public void testLocationExtraction() throws IOException {
-        // {
-        // "index" : "test",
-        // "source" : {
-        // value : "something"
-        // }
-        // }
-        BytesStreamOutput os = new BytesStreamOutput();
-        JsonGenerator gen = new JsonFactory().createGenerator(os);
-        gen.writeStartObject();
-
-        gen.writeStringField("index", "test");
-
-        gen.writeFieldName("source");
-        gen.writeStartObject();
-        gen.writeStringField("value", "something");
-        gen.writeEndObject();
-
-        gen.writeEndObject();
-
-        gen.close();
-
-        JsonParser parser = new JsonFactory().createParser(os.bytes().streamInput());
-
-        assertThat(parser.nextToken(), equalTo(JsonToken.START_OBJECT));
-        assertThat(parser.nextToken(), equalTo(JsonToken.FIELD_NAME)); // "index"
-        assertThat(parser.nextToken(), equalTo(JsonToken.VALUE_STRING));
-        assertThat(parser.nextToken(), equalTo(JsonToken.FIELD_NAME)); // "source"
-        // JsonLocation location1 = parser.getCurrentLocation();
-        // parser.skipChildren();
-        // JsonLocation location2 = parser.getCurrentLocation();
-        //
-        // byte[] sourceData = new byte[(int) (location2.getByteOffset() - location1.getByteOffset())];
-        // System.arraycopy(data, (int) location1.getByteOffset(), sourceData, 0, sourceData.length);
-        //
-        // JsonParser sourceParser = new JsonFactory().createJsonParser(new FastByteArrayInputStream(sourceData));
-        // assertThat(sourceParser.nextToken(), equalTo(JsonToken.START_OBJECT));
-        // assertThat(sourceParser.nextToken(), equalTo(JsonToken.FIELD_NAME)); // "value"
-        // assertThat(sourceParser.nextToken(), equalTo(JsonToken.VALUE_STRING));
-        // assertThat(sourceParser.nextToken(), equalTo(JsonToken.END_OBJECT));
-    }
-}

+ 1 - 2
server/src/test/java/org/elasticsearch/index/query/AbstractTermQueryTestCase.java

@@ -8,9 +8,8 @@
 
 package org.elasticsearch.index.query;
 
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
-
 import org.elasticsearch.test.AbstractQueryTestCase;
+import org.elasticsearch.xcontent.json.JsonStringEncoder;
 
 import java.util.HashMap;
 import java.util.Map;

+ 1 - 2
server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java

@@ -8,8 +8,6 @@
 
 package org.elasticsearch.index.query;
 
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
-
 import org.apache.lucene.index.Term;
 import org.apache.lucene.queries.spans.SpanTermQuery;
 import org.apache.lucene.search.Query;
@@ -17,6 +15,7 @@ import org.apache.lucene.search.TermQuery;
 import org.elasticsearch.common.ParsingException;
 import org.elasticsearch.common.lucene.BytesRefs;
 import org.elasticsearch.index.mapper.MappedFieldType;
+import org.elasticsearch.xcontent.json.JsonStringEncoder;
 
 import java.io.IOException;
 

+ 1 - 2
server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java

@@ -8,8 +8,6 @@
 
 package org.elasticsearch.index.query;
 
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
-
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.AutomatonQuery;
 import org.apache.lucene.search.MatchNoDocsQuery;
@@ -19,6 +17,7 @@ import org.apache.lucene.search.TermQuery;
 import org.elasticsearch.common.ParsingException;
 import org.elasticsearch.index.mapper.FieldTypeTestCase;
 import org.elasticsearch.index.mapper.MappedFieldType;
+import org.elasticsearch.xcontent.json.JsonStringEncoder;
 
 import java.io.IOException;
 

+ 1 - 1
server/src/test/java/org/elasticsearch/index/query/TermsSetQueryBuilderTests.java

@@ -39,7 +39,7 @@ import org.elasticsearch.script.Script;
 import org.elasticsearch.script.ScriptType;
 import org.elasticsearch.test.AbstractQueryTestCase;
 import org.elasticsearch.test.TestGeoShapeFieldMapperPlugin;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;

+ 2 - 3
server/src/test/java/org/elasticsearch/rest/action/RestActionsTests.java

@@ -8,8 +8,6 @@
 
 package org.elasticsearch.rest.action;
 
-import com.fasterxml.jackson.core.io.JsonEOFException;
-
 import org.elasticsearch.action.ShardOperationFailedException;
 import org.elasticsearch.action.search.ShardSearchFailure;
 import org.elasticsearch.cluster.metadata.IndexMetadata;
@@ -26,6 +24,7 @@ import org.elasticsearch.test.ESTestCase;
 import org.elasticsearch.xcontent.NamedXContentRegistry;
 import org.elasticsearch.xcontent.ToXContent;
 import org.elasticsearch.xcontent.XContentBuilder;
+import org.elasticsearch.xcontent.XContentEOFException;
 import org.elasticsearch.xcontent.XContentParser;
 import org.elasticsearch.xcontent.json.JsonXContent;
 import org.junit.AfterClass;
@@ -83,7 +82,7 @@ public class RestActionsTests extends ESTestCase {
             try (XContentParser parser = createParser(JsonXContent.jsonXContent, requestBody)) {
                 ParsingException exception = expectThrows(ParsingException.class, () -> RestActions.getQueryContent(parser));
                 assertEquals("Failed to parse", exception.getMessage());
-                assertEquals(JsonEOFException.class, exception.getRootCause().getClass());
+                assertEquals(XContentEOFException.class, exception.getCause().getClass());
             }
         }
     }

+ 1 - 0
settings.gradle

@@ -73,6 +73,7 @@ List projects = [
   'test:fixtures:url-fixture',
   'test:fixtures:nginx-fixture',
   'test:logger-usage',
+  'test:yaml-rest-runner',
   'test:x-content'
 ]
 

+ 0 - 1
test/framework/build.gradle

@@ -12,7 +12,6 @@ apply plugin: 'elasticsearch.publish'
 
 dependencies {
   api project(":client:rest")
-  api project(":client:sniffer")
   api project(':modules:transport-netty4')
   api project(':libs:elasticsearch-ssl-config')
   api project(":server")

+ 1 - 2
test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java

@@ -41,7 +41,6 @@ import org.elasticsearch.xcontent.XContentParserConfiguration;
 import org.elasticsearch.xcontent.XContentType;
 import org.elasticsearch.xcontent.json.JsonStringEncoder;
 import org.elasticsearch.xcontent.json.JsonXContent;
-import org.elasticsearch.xcontent.spi.XContentProvider;
 
 import java.io.IOException;
 import java.time.Instant;
@@ -646,7 +645,7 @@ public abstract class AbstractQueryTestCase<QB extends AbstractQueryBuilder<QB>>
             case TEXT_ALIAS_FIELD_NAME:
                 if (rarely()) {
                     // unicode in 10% cases
-                    JsonStringEncoder encoder = XContentProvider.provider().getJsonStringEncoder();
+                    JsonStringEncoder encoder = JsonStringEncoder.getInstance();
                     value = new String(encoder.quoteAsString(randomUnicodeOfLength(10)));
                 } else {
                     value = randomAlphaOfLengthBetween(1, 10);

+ 1 - 1
test/framework/src/main/java/org/elasticsearch/test/XContentTestUtils.java

@@ -10,7 +10,7 @@ package org.elasticsearch.test;
 
 import org.elasticsearch.common.bytes.BytesReference;
 import org.elasticsearch.common.xcontent.XContentHelper;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xcontent.DeprecationHandler;
 import org.elasticsearch.xcontent.NamedXContentRegistry;
 import org.elasticsearch.xcontent.ToXContent;

+ 0 - 1
test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java

@@ -52,7 +52,6 @@ import org.elasticsearch.index.seqno.ReplicationTracker;
 import org.elasticsearch.rest.RestStatus;
 import org.elasticsearch.snapshots.SnapshotState;
 import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
 import org.elasticsearch.xcontent.DeprecationHandler;
 import org.elasticsearch.xcontent.NamedXContentRegistry;
 import org.elasticsearch.xcontent.XContentBuilder;

+ 1 - 1
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ObjectPath.java → test/framework/src/main/java/org/elasticsearch/test/rest/ObjectPath.java

@@ -5,7 +5,7 @@
  * in compliance with, at your election, the Elastic License 2.0 or the Server
  * Side Public License, v 1.
  */
-package org.elasticsearch.test.rest.yaml;
+package org.elasticsearch.test.rest;
 
 import org.apache.http.util.EntityUtils;
 import org.elasticsearch.client.Response;

+ 1 - 1
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Stash.java → test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java

@@ -6,7 +6,7 @@
  * Side Public License, v 1.
  */
 
-package org.elasticsearch.test.rest.yaml;
+package org.elasticsearch.test.rest;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;

+ 8 - 0
test/yaml-rest-runner/build.gradle

@@ -0,0 +1,8 @@
+
+apply plugin: 'elasticsearch.build'
+
+dependencies {
+  api project(':test:framework')
+  api project(":client:rest")
+  api project(":client:sniffer")
+}

+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcher.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcher.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlDocsTestClient.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestCandidate.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestCandidate.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestClient.java


+ 1 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContext.java

@@ -18,6 +18,7 @@ import org.apache.lucene.util.BytesRef;
 import org.elasticsearch.Version;
 import org.elasticsearch.client.NodeSelector;
 import org.elasticsearch.common.bytes.BytesReference;
+import org.elasticsearch.test.rest.Stash;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xcontent.XContentType;

+ 2 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponse.java

@@ -13,6 +13,8 @@ import org.apache.http.util.EntityUtils;
 import org.elasticsearch.client.Response;
 import org.elasticsearch.common.Strings;
 import org.elasticsearch.common.bytes.BytesArray;
+import org.elasticsearch.test.rest.ObjectPath;
+import org.elasticsearch.test.rest.Stash;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xcontent.XContentParser;

+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponseException.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ClientYamlTestResponseException.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCase.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/Features.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/Features.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/package-info.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/package-info.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApi.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParser.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParser.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestSpec.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestSpec.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/restspec/package-info.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/restspec/package-info.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ApiCallSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ApiCallSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/Assertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/Assertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSection.java


+ 2 - 1
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuite.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuite.java

@@ -9,6 +9,7 @@ package org.elasticsearch.test.rest.yaml.section;
 
 import org.elasticsearch.client.NodeSelector;
 import org.elasticsearch.common.ParsingException;
+import org.elasticsearch.common.io.Channels;
 import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
 import org.elasticsearch.xcontent.NamedXContentRegistry;
 import org.elasticsearch.xcontent.XContentParseException;
@@ -54,7 +55,7 @@ public class ClientYamlTestSuite {
             if (channel.size() == 0) {
                 throw new IllegalArgumentException("test suite file " + file.toString() + " is empty");
             }
-            channel.read(bb, channel.size() - 1);
+            Channels.readFromFileChannel(channel, channel.size() - 1, bb);
             if (bb.get(0) != 10) {
                 throw new IOException("test suite [" + api + "/" + filename + "] doesn't end with line feed (\\n)");
             }

+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/CloseToAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/CloseToAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ContainsAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ContainsAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/DoSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/DoSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ExecutableSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ExecutableSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanEqualToAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/GreaterThanEqualToAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/IsFalseAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/IsFalseAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/IsTrueAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/IsTrueAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/LengthAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LengthAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanOrEqualToAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/LessThanOrEqualToAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/MatchAssertion.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/MatchAssertion.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/ParserUtils.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/ParserUtils.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/SetSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SetSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/SetupSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SetupSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/SkipSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/SkipSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/TeardownSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/TeardownSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSection.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSection.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/VersionRange.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/VersionRange.java


+ 0 - 0
test/framework/src/main/java/org/elasticsearch/test/rest/yaml/section/package-info.java → test/yaml-rest-runner/src/main/java/org/elasticsearch/test/rest/yaml/section/package-info.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcherTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/BlacklistedPathPatternMatcherTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ClientYamlTestExecutionContextTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCaseTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ESClientYamlSuiteTestCaseTests.java


+ 2 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/ObjectPathTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/ObjectPathTests.java

@@ -9,6 +9,8 @@ package org.elasticsearch.test.rest.yaml;
 
 import org.elasticsearch.common.bytes.BytesReference;
 import org.elasticsearch.test.ESTestCase;
+import org.elasticsearch.test.rest.ObjectPath;
+import org.elasticsearch.test.rest.Stash;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xcontent.XContentType;

+ 1 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/StashTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/StashTests.java

@@ -9,6 +9,7 @@
 package org.elasticsearch.test.rest.yaml;
 
 import org.elasticsearch.test.ESTestCase;
+import org.elasticsearch.test.rest.Stash;
 
 import java.io.IOException;
 import java.util.Arrays;

+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserFailingTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserFailingTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiParserTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/restspec/ClientYamlSuiteRestApiTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/AbstractClientYamlTestFragmentParserTestCase.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/AbstractClientYamlTestFragmentParserTestCase.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/AssertionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/AssertionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSectionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuiteTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/ClientYamlTestSuiteTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/DoSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/DoSectionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/MatchAssertionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/MatchAssertionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/SetSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SetSectionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/SetupSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SetupSectionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/SkipSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/SkipSectionTests.java


+ 0 - 0
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/TeardownSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/TeardownSectionTests.java


+ 1 - 1
test/framework/src/test/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSectionTests.java → test/yaml-rest-runner/src/test/java/org/elasticsearch/test/rest/yaml/section/TransformAndSetSectionTests.java

@@ -9,8 +9,8 @@
 package org.elasticsearch.test.rest.yaml.section;
 
 import org.elasticsearch.common.ParsingException;
+import org.elasticsearch.test.rest.Stash;
 import org.elasticsearch.test.rest.yaml.ClientYamlTestExecutionContext;
-import org.elasticsearch.test.rest.yaml.Stash;
 import org.elasticsearch.xcontent.yaml.YamlXContent;
 
 import java.nio.charset.StandardCharsets;

+ 0 - 0
test/framework/src/test/resources/rest-api-spec/test/suite1/10_basic.yml → test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite1/10_basic.yml


+ 0 - 0
test/framework/src/test/resources/rest-api-spec/test/suite1/20_another_test.yml → test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite1/20_another_test.yml


+ 0 - 0
test/framework/src/test/resources/rest-api-spec/test/suite2/10_basic.yml → test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite2/10_basic.yml


+ 0 - 0
test/framework/src/test/resources/rest-api-spec/test/suite2/15_test2.yml → test/yaml-rest-runner/src/test/resources/rest-api-spec/test/suite2/15_test2.yml


+ 1 - 1
x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/action/TransportAnalyticsStatsActionTests.java

@@ -15,7 +15,7 @@ import org.elasticsearch.cluster.node.DiscoveryNode;
 import org.elasticsearch.cluster.service.ClusterService;
 import org.elasticsearch.common.bytes.BytesReference;
 import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.threadpool.ThreadPool;
 import org.elasticsearch.transport.TransportService;
 import org.elasticsearch.xcontent.ContextParser;

+ 1 - 1
x-pack/plugin/build.gradle

@@ -15,7 +15,7 @@ archivesBaseName = 'x-pack'
 dependencies {
   testImplementation project(xpackModule('core'))
   testImplementation(testArtifact(project(xpackModule('core'))))
-  testImplementation project(':test:framework')
+  testImplementation project(':test:yaml-rest-runner')
 }
 
 // let the yamlRestTests see the classpath of test

+ 1 - 1
x-pack/plugin/ccr/qa/security/src/test/java/org/elasticsearch/xpack/ccr/FollowIndexSecurityIT.java

@@ -15,7 +15,7 @@ import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.util.concurrent.ThreadContext;
 import org.elasticsearch.common.xcontent.support.XContentMapValues;
 import org.elasticsearch.index.seqno.ReplicationTracker;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 
 import java.io.IOException;
 import java.text.SimpleDateFormat;

+ 8 - 9
x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/job/persistence/ElasticsearchMappingsTests.java

@@ -6,11 +6,6 @@
  */
 package org.elasticsearch.xpack.core.ml.job.persistence;
 
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonToken;
-
 import org.elasticsearch.Version;
 import org.elasticsearch.action.ActionListener;
 import org.elasticsearch.action.admin.indices.mapping.put.PutMappingAction;
@@ -30,6 +25,10 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
 import org.elasticsearch.test.ESTestCase;
 import org.elasticsearch.test.VersionUtils;
 import org.elasticsearch.threadpool.ThreadPool;
+import org.elasticsearch.xcontent.XContentParseException;
+import org.elasticsearch.xcontent.XContentParser;
+import org.elasticsearch.xcontent.XContentParserConfiguration;
+import org.elasticsearch.xcontent.json.JsonXContent;
 import org.elasticsearch.xpack.core.ml.datafeed.DatafeedTimingStats;
 import org.elasticsearch.xpack.core.ml.job.process.autodetect.state.DataCounts;
 import org.elasticsearch.xpack.core.ml.job.process.autodetect.state.ModelSizeStats;
@@ -259,17 +258,17 @@ public class ElasticsearchMappingsTests extends ESTestCase {
 
     private Set<String> collectFieldNames(String mapping) throws IOException {
         BufferedInputStream inputStream = new BufferedInputStream(new ByteArrayInputStream(mapping.getBytes(StandardCharsets.UTF_8)));
-        JsonParser parser = new JsonFactory().createParser(inputStream);
+        XContentParser parser = JsonXContent.jsonXContent.createParser(XContentParserConfiguration.EMPTY, inputStream);
         Set<String> fieldNames = new HashSet<>();
         boolean isAfterPropertiesStart = false;
         try {
-            JsonToken token = parser.nextToken();
+            XContentParser.Token token = parser.nextToken();
             while (token != null) {
                 switch (token) {
                     case START_OBJECT:
                         break;
                     case FIELD_NAME:
-                        String fieldName = parser.getCurrentName();
+                        String fieldName = parser.currentName();
                         if (isAfterPropertiesStart) {
                             fieldNames.add(fieldName);
                         } else {
@@ -283,7 +282,7 @@ public class ElasticsearchMappingsTests extends ESTestCase {
                 }
                 token = parser.nextToken();
             }
-        } catch (JsonParseException e) {
+        } catch (XContentParseException e) {
             fail("Cannot parse JSON: " + e);
         }
 

+ 1 - 1
x-pack/plugin/identity-provider/src/internalClusterTest/java/org/elasticsearch/xpack/idp/action/SamlIdentityProviderTests.java

@@ -21,7 +21,7 @@ import org.elasticsearch.core.TimeValue;
 import org.elasticsearch.rest.RestStatus;
 import org.elasticsearch.test.ESIntegTestCase;
 import org.elasticsearch.test.junit.annotations.TestLogging;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xpack.core.security.action.apikey.CreateApiKeyRequestBuilder;

+ 1 - 1
x-pack/plugin/monitoring/src/test/java/org/elasticsearch/xpack/monitoring/MonitoringInfoTransportActionTests.java

@@ -14,7 +14,7 @@ import org.elasticsearch.common.io.stream.BytesStreamOutput;
 import org.elasticsearch.common.io.stream.StreamInput;
 import org.elasticsearch.test.ESTestCase;
 import org.elasticsearch.test.VersionUtils;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.transport.TransportService;
 import org.elasticsearch.xcontent.ToXContent;
 import org.elasticsearch.xcontent.XContentBuilder;

+ 1 - 1
x-pack/plugin/ql/test-fixtures/src/main/java/org/elasticsearch/xpack/ql/TestUtils.java

@@ -18,7 +18,7 @@ import org.elasticsearch.common.xcontent.XContentHelper;
 import org.elasticsearch.core.PathUtils;
 import org.elasticsearch.core.SuppressForbidden;
 import org.elasticsearch.core.Tuple;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xcontent.json.JsonXContent;
 import org.elasticsearch.xpack.ql.expression.Expression;
 import org.elasticsearch.xpack.ql.expression.FieldAttribute;

+ 1 - 2
x-pack/plugin/search-business-rules/src/test/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilderTests.java

@@ -7,8 +7,6 @@
 
 package org.elasticsearch.xpack.searchbusinessrules;
 
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
-
 import org.apache.lucene.search.DisjunctionMaxQuery;
 import org.apache.lucene.search.Query;
 import org.elasticsearch.common.ParsingException;
@@ -23,6 +21,7 @@ import org.elasticsearch.xcontent.XContentBuilder;
 import org.elasticsearch.xcontent.XContentFactory;
 import org.elasticsearch.xcontent.XContentParser;
 import org.elasticsearch.xcontent.XContentType;
+import org.elasticsearch.xcontent.json.JsonStringEncoder;
 import org.elasticsearch.xpack.searchbusinessrules.PinnedQueryBuilder.Item;
 
 import java.io.IOException;

+ 1 - 1
x-pack/plugin/security/qa/basic-enable-security/src/javaRestTest/java/org/elasticsearch/xpack/security/EnableSecurityOnBasicLicenseIT.java

@@ -18,7 +18,7 @@ import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.util.concurrent.ThreadContext;
 import org.elasticsearch.core.Booleans;
 import org.elasticsearch.test.rest.ESRestTestCase;
-import org.elasticsearch.test.rest.yaml.ObjectPath;
+import org.elasticsearch.test.rest.ObjectPath;
 import org.elasticsearch.xpack.security.authc.InternalRealms;
 import org.hamcrest.Matchers;
 import org.junit.BeforeClass;

Some files were not shown because too many files changed in this diff