build.gradle 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import org.elasticsearch.gradle.internal.test.RestIntegTestTask
  2. import org.elasticsearch.gradle.Version
  3. import org.elasticsearch.gradle.VersionProperties
  4. import static org.elasticsearch.gradle.PropertyNormalization.IGNORE_VALUE
  5. import org.elasticsearch.gradle.internal.info.BuildParams
  6. apply plugin: 'elasticsearch.internal-testclusters'
  7. apply plugin: 'elasticsearch.standalone-rest-test'
  8. apply plugin: 'elasticsearch.rest-resources'
  9. dependencies {
  10. testImplementation project(':x-pack:qa')
  11. testImplementation project(':client:rest-high-level')
  12. }
  13. Version ccsCompatVersion = new Version(VersionProperties.getElasticsearchVersion().getMajor(), VersionProperties.getElasticsearchVersion().getMinor() - 1, 0)
  14. restResources {
  15. restApi {
  16. include '_common', 'bulk', 'indices', 'cluster', 'search', 'security', 'transform'
  17. }
  18. }
  19. def remoteCluster = testClusters.register('remote-cluster') {
  20. testDistribution = 'DEFAULT'
  21. versions = [ccsCompatVersion.toString(), project.version]
  22. numberOfNodes = 2
  23. setting 'node.roles', '[data,ingest,master]'
  24. setting 'xpack.security.enabled', 'true'
  25. setting 'xpack.watcher.enabled', 'false'
  26. setting 'xpack.license.self_generated.type', 'trial'
  27. user username: "test_user", password: "x-pack-test-password"
  28. }
  29. testClusters.register('mixed-cluster') {
  30. testDistribution = 'DEFAULT'
  31. numberOfNodes = 2
  32. // Node roles are configured this way in order to verify redirecting the transform request from the node lacking
  33. // remote_cluster_client role to the node that is remote_cluster_client.
  34. nodes."mixed-cluster-0".setting 'node.roles', '[data,ingest,master,transform]'
  35. nodes."mixed-cluster-1".setting 'node.roles', '[data,ingest,master,transform,remote_cluster_client]'
  36. setting 'xpack.security.enabled', 'true'
  37. setting 'xpack.watcher.enabled', 'false'
  38. setting 'xpack.license.self_generated.type', 'trial'
  39. setting 'cluster.remote.my_remote_cluster.seeds', {
  40. remoteCluster.get().getAllTransportPortURI().collect { "\"$it\"" }.toString()
  41. }, IGNORE_VALUE
  42. setting 'cluster.remote.connections_per_cluster', "1"
  43. user username: "test_user", password: "x-pack-test-password"
  44. }
  45. tasks.register('remote-cluster', RestIntegTestTask) {
  46. mustRunAfter("precommit")
  47. systemProperty 'tests.rest.suite', 'remote_cluster'
  48. maybeDisableForFips(it)
  49. }
  50. tasks.register('mixed-cluster', RestIntegTestTask) {
  51. dependsOn 'remote-cluster'
  52. useCluster remoteCluster
  53. systemProperty 'tests.rest.suite', 'multi_cluster'
  54. maybeDisableForFips(it)
  55. }
  56. tasks.register("integTest") {
  57. dependsOn 'mixed-cluster'
  58. maybeDisableForFips(it)
  59. }
  60. tasks.named("check").configure { dependsOn("integTest") }
  61. //TODO: remove with version 8.14. A new FIPS setting was added in 8.13. Since FIPS configures all test clusters and this specific integTest uses
  62. // the previous minor version, that setting is not available when running in FIPS until 8.14.
  63. def maybeDisableForFips(task) {
  64. if (BuildParams.inFipsJvm) {
  65. if(Version.fromString(project.version).before(Version.fromString('8.14.0'))) {
  66. task.enabled = false
  67. }
  68. }
  69. }