build.gradle 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. }
  12. Version ccsCompatVersion = new Version(VersionProperties.getElasticsearchVersion().getMajor(), VersionProperties.getElasticsearchVersion().getMinor() - 1, 0)
  13. restResources {
  14. restApi {
  15. include '_common', 'bulk', 'indices', 'cluster', 'search', 'security', 'ml'
  16. }
  17. }
  18. def remoteCluster = testClusters.register('remote-cluster') {
  19. testDistribution = 'DEFAULT'
  20. versions = [ccsCompatVersion.toString(), project.version]
  21. numberOfNodes = 2
  22. setting 'node.roles', '[data,ingest,master]'
  23. setting 'xpack.security.enabled', 'true'
  24. setting 'xpack.watcher.enabled', 'false'
  25. setting 'xpack.license.self_generated.type', 'trial'
  26. user username: "test_user", password: "x-pack-test-password"
  27. }
  28. testClusters.register('mixed-cluster') {
  29. testDistribution = 'DEFAULT'
  30. numberOfNodes = 2
  31. setting 'node.roles', '[data,ingest,master]'
  32. setting 'xpack.security.enabled', 'true'
  33. setting 'xpack.watcher.enabled', 'false'
  34. setting 'xpack.license.self_generated.type', 'trial'
  35. setting 'cluster.remote.my_remote_cluster.seeds', {
  36. remoteCluster.get().getAllTransportPortURI().collect { "\"$it\"" }.toString()
  37. }, IGNORE_VALUE
  38. setting 'cluster.remote.connections_per_cluster', "1"
  39. user username: "test_user", password: "x-pack-test-password"
  40. }
  41. tasks.register('remote-cluster', RestIntegTestTask) {
  42. mustRunAfter("precommit")
  43. systemProperty 'tests.rest.suite', 'remote_cluster'
  44. maybeDisableForFips(it)
  45. }
  46. tasks.register('mixed-cluster', RestIntegTestTask) {
  47. dependsOn 'remote-cluster'
  48. useCluster remoteCluster
  49. systemProperty 'tests.rest.suite', 'multi_cluster'
  50. maybeDisableForFips(it)
  51. }
  52. tasks.register("integTest") {
  53. dependsOn 'mixed-cluster'
  54. maybeDisableForFips(it)
  55. }
  56. tasks.named("check").configure { dependsOn("integTest") }
  57. //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
  58. // the previous minor version, that setting is not available when running in FIPS until 8.14.
  59. def maybeDisableForFips(task) {
  60. if (BuildParams.inFipsJvm) {
  61. if(Version.fromString(project.version).before(Version.fromString('8.14.0'))) {
  62. task.enabled = false
  63. }
  64. }
  65. }