Browse Source

Convert discovery-* from integTest to [yaml | java]RestTest or internalClusterTest (#60084)

For OSS plugins that begin with discovery-*, the integTest
task is now a no-op and all of the tests are now executed via a test,
yamlRestTest, javaRestTest, or internalClusterTest.

related: #56841
related: #59444
Jake Landis 5 years ago
parent
commit
46342ac625
24 changed files with 44 additions and 36 deletions
  1. 6 3
      plugins/discovery-azure-classic/build.gradle
  2. 0 0
      plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/cloud/azure/classic/AbstractAzureComputeServiceTestCase.java
  3. 0 1
      plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureDiscoveryClusterFormationTests.java
  4. 0 0
      plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureSimpleTests.java
  5. 0 0
      plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureTwoStartedNodesTests.java
  6. 0 0
      plugins/discovery-azure-classic/src/yamlRestTest/java/org/elasticsearch/discovery/azure/classic/DiscoveryAzureClassicClientYamlTestSuiteIT.java
  7. 0 0
      plugins/discovery-azure-classic/src/yamlRestTest/resources/rest-api-spec/test/discovery_azure_classic/10_basic.yml
  8. 2 1
      plugins/discovery-ec2/build.gradle
  9. 24 18
      plugins/discovery-ec2/qa/amazon-ec2/build.gradle
  10. 1 1
      plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/AmazonEC2DiscoveryClientYamlTestSuiteIT.java
  11. 1 1
      plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/AmazonEC2Fixture.java
  12. 0 0
      plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/resources/rest-api-spec/test/discovery_ec2/10_basic.yml
  13. 0 0
      plugins/discovery-ec2/src/internalClusterTest/java/org/elasticsearch/discovery/ec2/AbstractAwsTestCase.java
  14. 0 0
      plugins/discovery-ec2/src/internalClusterTest/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryUpdateSettingsTests.java
  15. 0 0
      plugins/discovery-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/CloudAwsClientYamlTestSuiteIT.java
  16. 0 0
      plugins/discovery-ec2/src/yamlRestTest/resources/rest-api-spec/test/discovery_ec2/10_basic.yml
  17. 2 1
      plugins/discovery-gce/build.gradle
  18. 8 10
      plugins/discovery-gce/qa/gce/build.gradle
  19. 0 0
      plugins/discovery-gce/qa/gce/src/yamlRestTest/java/org/elasticsearch/cloud/gce/GCEDiscoveryClientYamlTestSuiteIT.java
  20. 0 0
      plugins/discovery-gce/qa/gce/src/yamlRestTest/java/org/elasticsearch/cloud/gce/GCEFixture.java
  21. 0 0
      plugins/discovery-gce/qa/gce/src/yamlRestTest/resources/rest-api-spec/test/discovery_gce/10_basic.yml
  22. 0 0
      plugins/discovery-gce/src/internalClusterTest/java/org/elasticsearch/discovery/gce/GceDiscoverTests.java
  23. 0 0
      plugins/discovery-gce/src/yamlRestTest/java/org/elasticsearch/discovery/gce/DiscoveryGceClientYamlTestSuiteIT.java
  24. 0 0
      plugins/discovery-gce/src/yamlRestTest/resources/rest-api-spec/test/discovery_gce/10_basic.yml

+ 6 - 3
plugins/discovery-azure-classic/build.gradle

@@ -19,7 +19,8 @@ import org.elasticsearch.gradle.info.BuildParams
  * specific language governing permissions and limitations
  * under the License.
  */
-apply plugin: 'elasticsearch.rest-resources'
+apply plugin: 'elasticsearch.yaml-rest-test'
+apply plugin: 'elasticsearch.internal-cluster-test'
 
 esplugin {
   description 'The Azure Classic Discovery plugin allows to use Azure Classic API for the unicast discovery mechanism'
@@ -63,6 +64,7 @@ restResources {
     includeCore '_common', 'cluster', 'nodes'
   }
 }
+
 // needed to be consistent with ssl host checking
 String host = InetAddress.getLoopbackAddress().getHostAddress()
 
@@ -88,9 +90,10 @@ task createKey(type: LoggedExec) {
     '-keypass', 'keypass',
     '-storepass', 'keypass'
 }
-
+//no unit tests
+test.enabled = false
 // add keystore to test classpath: it expects it there
-processTestResources {
+processInternalClusterTestResources {
   from createKey
 }
 

+ 0 - 0
plugins/discovery-azure-classic/src/test/java/org/elasticsearch/cloud/azure/classic/AbstractAzureComputeServiceTestCase.java → plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/cloud/azure/classic/AbstractAzureComputeServiceTestCase.java


+ 0 - 1
plugins/discovery-azure-classic/src/test/java/org/elasticsearch/discovery/azure/classic/AzureDiscoveryClusterFormationTests.java → plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureDiscoveryClusterFormationTests.java

@@ -72,7 +72,6 @@ import java.util.concurrent.ExecutionException;
 
 @ESIntegTestCase.ClusterScope(numDataNodes = 2, numClientNodes = 0)
 @SuppressForbidden(reason = "use http server")
-// TODO this should be a IT but currently all ITs in this project run against a real cluster
 public class AzureDiscoveryClusterFormationTests extends ESIntegTestCase {
 
     public static class TestPlugin extends Plugin {

+ 0 - 0
plugins/discovery-azure-classic/src/test/java/org/elasticsearch/discovery/azure/classic/AzureSimpleTests.java → plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureSimpleTests.java


+ 0 - 0
plugins/discovery-azure-classic/src/test/java/org/elasticsearch/discovery/azure/classic/AzureTwoStartedNodesTests.java → plugins/discovery-azure-classic/src/internalClusterTest/java/org/elasticsearch/discovery/azure/classic/AzureTwoStartedNodesTests.java


+ 0 - 0
plugins/discovery-azure-classic/src/test/java/org/elasticsearch/discovery/azure/classic/DiscoveryAzureClassicClientYamlTestSuiteIT.java → plugins/discovery-azure-classic/src/yamlRestTest/java/org/elasticsearch/discovery/azure/classic/DiscoveryAzureClassicClientYamlTestSuiteIT.java


+ 0 - 0
plugins/discovery-azure-classic/src/test/resources/rest-api-spec/test/discovery_azure_classic/10_basic.yml → plugins/discovery-azure-classic/src/yamlRestTest/resources/rest-api-spec/test/discovery_azure_classic/10_basic.yml


+ 2 - 1
plugins/discovery-ec2/build.gradle

@@ -18,7 +18,8 @@ import org.elasticsearch.gradle.info.BuildParams
  * specific language governing permissions and limitations
  * under the License.
  */
-apply plugin: 'elasticsearch.rest-resources'
+apply plugin: 'elasticsearch.yaml-rest-test'
+apply plugin: 'elasticsearch.internal-cluster-test'
 
 esplugin {
   description 'The EC2 discovery plugin allows to use AWS API for the unicast discovery mechanism.'

+ 24 - 18
plugins/discovery-ec2/qa/amazon-ec2/build.gradle

@@ -22,15 +22,14 @@ import org.elasticsearch.gradle.MavenFilteringHack
 import org.elasticsearch.gradle.info.BuildParams
 import org.elasticsearch.gradle.test.AntFixture
 import org.elasticsearch.gradle.test.RestIntegTestTask
+import org.elasticsearch.gradle.test.rest.YamlRestTestPlugin
 
 import static org.elasticsearch.gradle.PropertyNormalization.IGNORE_VALUE
 
-apply plugin: 'elasticsearch.standalone-rest-test'
-apply plugin: 'elasticsearch.rest-test'
-apply plugin: 'elasticsearch.rest-resources'
+apply plugin: 'elasticsearch.yaml-rest-test'
 
 dependencies {
-  testImplementation project(':plugins:discovery-ec2')
+  yamlRestTestImplementation project(':plugins:discovery-ec2')
 }
 
 restResources {
@@ -45,13 +44,13 @@ Map<String, Object> expansions = [
   'expected_nodes': ec2NumberOfNodes
 ]
 
-processTestResources {
+processYamlRestTestResources {
   inputs.properties(expansions)
   MavenFilteringHack.filter(it, expansions)
 }
 
-// disable default test task, use spezialized ones below
-integTest.enabled = false
+// disable default yamlRestTest task, use spezialized ones below
+yamlRestTest.enabled = false
 
 /*
  * Test using various credential providers (see also https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/credentials.html):
@@ -66,19 +65,26 @@ integTest.enabled = false
  */
 ['KeyStore', 'EnvVariables', 'SystemProperties', 'ContainerCredentials', 'InstanceProfile'].forEach { action ->
   AntFixture fixture = tasks.create(name: "ec2Fixture${action}", type: AntFixture) {
-    dependsOn compileTestJava
-    env 'CLASSPATH', "${-> project.sourceSets.test.runtimeClasspath.asPath}"
+    dependsOn project.sourceSets.yamlRestTest.runtimeClasspath
+    env 'CLASSPATH', "${-> project.sourceSets.yamlRestTest.runtimeClasspath.asPath}"
     executable = "${BuildParams.runtimeJavaHome}/bin/java"
-    args 'org.elasticsearch.discovery.ec2.AmazonEC2Fixture', baseDir, "${buildDir}/testclusters/integTest${action}-1/config/unicast_hosts.txt"
+    args 'org.elasticsearch.discovery.ec2.AmazonEC2Fixture', baseDir, "${buildDir}/testclusters/yamlRestTest${action}-1/config/unicast_hosts.txt"
   }
 
-  tasks.create(name: "integTest${action}", type: RestIntegTestTask) {
+  tasks.create(name: "yamlRestTest${action}", type: RestIntegTestTask) {
     dependsOn fixture, project(':plugins:discovery-ec2').bundlePlugin
   }
+  SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class);
+  SourceSet yamlRestTestSourceSet = sourceSets.getByName(YamlRestTestPlugin.SOURCE_SET_NAME)
+  "yamlRestTest${action}" {
+    runner {
+      setTestClassesDirs(yamlRestTestSourceSet.getOutput().getClassesDirs())
+      setClasspath(yamlRestTestSourceSet.getRuntimeClasspath())
+    }
+  }
+  check.dependsOn("yamlRestTest${action}")
 
-  check.dependsOn("integTest${action}")
-
-  testClusters."integTest${action}" {
+  testClusters."yamlRestTest${action}" {
     numberOfNodes = ec2NumberOfNodes
     plugin project(':plugins:discovery-ec2').bundlePlugin.archiveFile
 
@@ -91,19 +97,19 @@ integTest.enabled = false
 }
 
 // Extra config for KeyStore
-testClusters.integTestKeyStore {
+testClusters.yamlRestTestKeyStore {
   keystore 'discovery.ec2.access_key', 'ec2_integration_test_access_key'
   keystore 'discovery.ec2.secret_key', 'ec2_integration_test_secret_key'
 }
 
 // Extra config for EnvVariables
-testClusters.integTestEnvVariables {
+testClusters.yamlRestTestEnvVariables {
   environment 'AWS_ACCESS_KEY_ID', 'ec2_integration_test_access_key'
   environment 'AWS_SECRET_ACCESS_KEY', 'ec2_integration_test_secret_key'
 }
 
 // Extra config for SystemProperties
-testClusters.integTestSystemProperties {
+testClusters.yamlRestTestSystemProperties {
   systemProperty 'aws.accessKeyId', 'ec2_integration_test_access_key'
   systemProperty 'aws.secretKey', 'ec2_integration_test_secret_key'
 }
@@ -111,7 +117,7 @@ testClusters.integTestSystemProperties {
 // Extra config for ContainerCredentials
 ec2FixtureContainerCredentials.env 'ACTIVATE_CONTAINER_CREDENTIALS', true
 
-testClusters.integTestContainerCredentials {
+testClusters.yamlRestTestContainerCredentials {
   environment 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
     { "http://${-> tasks.findByName("ec2FixtureContainerCredentials").addressAndPort}/ecs_credentials_endpoint" }, IGNORE_VALUE
 }

+ 1 - 1
plugins/discovery-ec2/qa/amazon-ec2/src/test/java/org/elasticsearch/discovery/ec2/AmazonEC2DiscoveryClientYamlTestSuiteIT.java → plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/AmazonEC2DiscoveryClientYamlTestSuiteIT.java

@@ -32,6 +32,6 @@ public class AmazonEC2DiscoveryClientYamlTestSuiteIT extends ESClientYamlSuiteTe
 
     @ParametersFactory
     public static Iterable<Object[]> parameters() throws Exception {
-        return ESClientYamlSuiteTestCase.createParameters();
+        return createParameters();
     }
 }

+ 1 - 1
plugins/discovery-ec2/qa/amazon-ec2/src/test/java/org/elasticsearch/discovery/ec2/AmazonEC2Fixture.java → plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/AmazonEC2Fixture.java

@@ -7,7 +7,7 @@
  * not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *    http://www.apache.org/licenses/LICENSE-2.0
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an

+ 0 - 0
plugins/discovery-ec2/qa/amazon-ec2/src/test/resources/rest-api-spec/test/discovery_ec2/10_basic.yml → plugins/discovery-ec2/qa/amazon-ec2/src/yamlRestTest/resources/rest-api-spec/test/discovery_ec2/10_basic.yml


+ 0 - 0
plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/AbstractAwsTestCase.java → plugins/discovery-ec2/src/internalClusterTest/java/org/elasticsearch/discovery/ec2/AbstractAwsTestCase.java


+ 0 - 0
plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryUpdateSettingsTests.java → plugins/discovery-ec2/src/internalClusterTest/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryUpdateSettingsTests.java


+ 0 - 0
plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/CloudAwsClientYamlTestSuiteIT.java → plugins/discovery-ec2/src/yamlRestTest/java/org/elasticsearch/discovery/ec2/CloudAwsClientYamlTestSuiteIT.java


+ 0 - 0
plugins/discovery-ec2/src/test/resources/rest-api-spec/test/discovery_ec2/10_basic.yml → plugins/discovery-ec2/src/yamlRestTest/resources/rest-api-spec/test/discovery_ec2/10_basic.yml


+ 2 - 1
plugins/discovery-gce/build.gradle

@@ -1,4 +1,5 @@
-apply plugin: 'elasticsearch.rest-resources'
+apply plugin: 'elasticsearch.yaml-rest-test'
+apply plugin: 'elasticsearch.internal-cluster-test'
 
 esplugin {
   description 'The Google Compute Engine (GCE) Discovery plugin allows to use GCE API for the unicast discovery mechanism.'

+ 8 - 10
plugins/discovery-gce/qa/gce/build.gradle

@@ -24,14 +24,12 @@ import org.elasticsearch.gradle.test.AntFixture
 
 import static org.elasticsearch.gradle.PropertyNormalization.IGNORE_VALUE
 
-apply plugin: 'elasticsearch.standalone-rest-test'
-apply plugin: 'elasticsearch.rest-test'
-apply plugin: 'elasticsearch.rest-resources'
+apply plugin: 'elasticsearch.yaml-rest-test'
 
 final int gceNumberOfNodes = 3
 
 dependencies {
-  testImplementation project(':plugins:discovery-gce')
+  yamlRestTestImplementation project(':plugins:discovery-gce')
 }
 
 restResources {
@@ -42,26 +40,26 @@ restResources {
 
 /** A task to start the GCEFixture which emulates a GCE service **/
 task gceFixture(type: AntFixture) {
-  dependsOn compileTestJava
-  env 'CLASSPATH', "${-> project.sourceSets.test.runtimeClasspath.asPath}"
+  dependsOn project.sourceSets.yamlRestTest.runtimeClasspath
+  env 'CLASSPATH', "${-> project.sourceSets.yamlRestTest.runtimeClasspath.asPath}"
   executable = "${BuildParams.runtimeJavaHome}/bin/java"
-  args 'org.elasticsearch.cloud.gce.GCEFixture', baseDir, "${buildDir}/testclusters/integTest-1/config/unicast_hosts.txt"
+  args 'org.elasticsearch.cloud.gce.GCEFixture', baseDir, "${buildDir}/testclusters/yamlRestTest-1/config/unicast_hosts.txt"
 }
 
 Map<String, Object> expansions = [
   'expected_nodes': gceNumberOfNodes
 ]
 
-processTestResources {
+processYamlRestTestResources {
   inputs.properties(expansions)
   MavenFilteringHack.filter(it, expansions)
 }
 
-integTest {
+yamlRestTest {
   dependsOn gceFixture, project(':plugins:discovery-gce').bundlePlugin
 }
 
-testClusters.integTest {
+testClusters.yamlRestTest {
   numberOfNodes = gceNumberOfNodes
   plugin project(':plugins:discovery-gce').bundlePlugin.archiveFile
   // use gce fixture for Auth calls instead of http://metadata.google.internal

+ 0 - 0
plugins/discovery-gce/qa/gce/src/test/java/org/elasticsearch/cloud/gce/GCEDiscoveryClientYamlTestSuiteIT.java → plugins/discovery-gce/qa/gce/src/yamlRestTest/java/org/elasticsearch/cloud/gce/GCEDiscoveryClientYamlTestSuiteIT.java


+ 0 - 0
plugins/discovery-gce/qa/gce/src/test/java/org/elasticsearch/cloud/gce/GCEFixture.java → plugins/discovery-gce/qa/gce/src/yamlRestTest/java/org/elasticsearch/cloud/gce/GCEFixture.java


+ 0 - 0
plugins/discovery-gce/qa/gce/src/test/resources/rest-api-spec/test/discovery_gce/10_basic.yml → plugins/discovery-gce/qa/gce/src/yamlRestTest/resources/rest-api-spec/test/discovery_gce/10_basic.yml


+ 0 - 0
plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/GceDiscoverTests.java → plugins/discovery-gce/src/internalClusterTest/java/org/elasticsearch/discovery/gce/GceDiscoverTests.java


+ 0 - 0
plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/DiscoveryGceClientYamlTestSuiteIT.java → plugins/discovery-gce/src/yamlRestTest/java/org/elasticsearch/discovery/gce/DiscoveryGceClientYamlTestSuiteIT.java


+ 0 - 0
plugins/discovery-gce/src/test/resources/rest-api-spec/test/discovery_gce/10_basic.yml → plugins/discovery-gce/src/yamlRestTest/resources/rest-api-spec/test/discovery_gce/10_basic.yml