import org.elasticsearch.gradle.test.RestIntegTestTask apply plugin: 'elasticsearch.testclusters' apply plugin: 'elasticsearch.standalone-test' dependencies { testImplementation project(path: xpackModule('core'), configuration: 'testArtifacts') testImplementation project(xpackModule('ccr')) testImplementation project(':x-pack:plugin:ccr:qa') } task "leader-cluster"(type: RestIntegTestTask) { mustRunAfter(precommit) runner { systemProperty 'tests.target_cluster', 'leader' } } testClusters."leader-cluster" { testDistribution = 'DEFAULT' setting 'xpack.license.self_generated.type', 'trial' } task "middle-cluster"(type: RestIntegTestTask) { dependsOn "leader-cluster" runner { useCluster testClusters."leader-cluster" systemProperty 'tests.target_cluster', 'middle' nonInputProperties.systemProperty 'tests.leader_host', "${-> testClusters."leader-cluster".getAllHttpSocketURI().get(0)}" } } testClusters."middle-cluster" { testDistribution = 'DEFAULT' setting 'xpack.license.self_generated.type', 'trial' setting 'cluster.remote.leader_cluster.seeds', { "\"${testClusters."leader-cluster".getAllTransportPortURI().join(",")}\"" } } task 'follow-cluster'(type: RestIntegTestTask) { dependsOn "leader-cluster", "middle-cluster" runner { useCluster testClusters."leader-cluster" useCluster testClusters."middle-cluster" systemProperty 'tests.target_cluster', 'follow' nonInputProperties.systemProperty 'tests.leader_host', "${-> testClusters."leader-cluster".getAllHttpSocketURI().get(0)}" nonInputProperties.systemProperty 'tests.middle_host', "${-> testClusters."middle-cluster".getAllHttpSocketURI().get(0)}" } } testClusters."follow-cluster" { testDistribution = 'DEFAULT' setting 'xpack.monitoring.collection.enabled', 'true' setting 'xpack.license.self_generated.type', 'trial' setting 'cluster.remote.leader_cluster.seeds', { "\"${testClusters."leader-cluster".getAllTransportPortURI().join(",")}\"" } setting 'cluster.remote.middle_cluster.seeds', { "\"${testClusters."middle-cluster".getAllTransportPortURI().join(",")}\"" } } check.dependsOn "follow-cluster" test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test