import org.elasticsearch.gradle.test.RestIntegTestTask apply plugin: 'elasticsearch.standalone-test' dependencies { testCompile project(path: xpackModule('core'), configuration: 'testArtifacts') testCompile project(path: xpackModule('ccr'), configuration: 'runtime') testCompile project(':x-pack:plugin:ccr:qa') } task leaderClusterTest(type: RestIntegTestTask) { mustRunAfter(precommit) } leaderClusterTestCluster { numNodes = 1 clusterName = 'leader-cluster' setting 'xpack.license.self_generated.type', 'trial' setting 'node.name', 'leader' } leaderClusterTestRunner { systemProperty 'tests.target_cluster', 'leader' } task middleClusterTest(type: RestIntegTestTask) {} middleClusterTestCluster { dependsOn leaderClusterTestRunner numNodes = 1 clusterName = 'middle-cluster' setting 'xpack.license.self_generated.type', 'trial' setting 'cluster.remote.leader_cluster.seeds', "\"${-> leaderClusterTest.nodes.get(0).transportUri()}\"" setting 'node.name', 'middle' } middleClusterTestRunner { systemProperty 'tests.target_cluster', 'middle' nonInputProperties.systemProperty 'tests.leader_host', "${-> leaderClusterTest.nodes.get(0).httpUri()}" } task followClusterTest(type: RestIntegTestTask) {} followClusterTestCluster { dependsOn middleClusterTestRunner numNodes = 1 clusterName = 'follow-cluster' setting 'xpack.monitoring.collection.enabled', 'true' setting 'xpack.license.self_generated.type', 'trial' setting 'cluster.remote.leader_cluster.seeds', "\"${-> leaderClusterTest.nodes.get(0).transportUri()}\"" setting 'cluster.remote.middle_cluster.seeds', "\"${-> middleClusterTest.nodes.get(0).transportUri()}\"" setting 'node.name', 'follow' } followClusterTestRunner { systemProperty 'tests.target_cluster', 'follow' nonInputProperties.systemProperty 'tests.leader_host', "${-> leaderClusterTest.nodes.get(0).httpUri()}" nonInputProperties.systemProperty 'tests.middle_host', "${-> middleClusterTest.nodes.get(0).httpUri()}" finalizedBy 'leaderClusterTestCluster#stop' finalizedBy 'middleClusterTestCluster#stop' } check.dependsOn followClusterTest test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test