mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-05 20:48:22 +00:00
f56b2ecb37
This commit removes xpack dependencies of many xpack qa modules. (for some qa modules this will require some more work) The reason behind this change is that qa rest modules should not depend on the x-pack plugins, because the plugins are an implementation detail and the tests should only know about the rest interface and qa cluster that is being tested. Also some qa modules rely on xpack plugins and hlrc (which is a valid dependency for rest qa tests) creates a cyclic dependency and this is something that we should avoid. Also Eclipse can't handle gradle cyclic dependencies (see #41064). * don't copy xpack-core's plugin property into the test resource of qa modules. Otherwise installing security manager fails, because it tries to find the XPackPlugin class.
78 lines
2.6 KiB
Groovy
78 lines
2.6 KiB
Groovy
import org.elasticsearch.gradle.test.RestIntegTestTask
|
|
|
|
apply plugin: 'elasticsearch.standalone-test'
|
|
|
|
dependencies {
|
|
testCompile project(':x-pack:qa')
|
|
}
|
|
|
|
task remoteClusterTest(type: RestIntegTestTask) {
|
|
mustRunAfter(precommit)
|
|
}
|
|
|
|
remoteClusterTestCluster {
|
|
numNodes = 2
|
|
clusterName = 'remote-cluster'
|
|
setting 'cluster.remote.connect', false
|
|
setting 'xpack.ilm.enabled', 'false'
|
|
setting 'xpack.security.enabled', 'true'
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.license.self_generated.type', 'trial'
|
|
setupCommand 'setupDummyUser',
|
|
'bin/elasticsearch-users', 'useradd', 'test_user', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
waitCondition = { node, ant ->
|
|
File tmpFile = new File(node.cwd, 'wait.success')
|
|
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=${numNodes}&wait_for_status=yellow",
|
|
dest: tmpFile.toString(),
|
|
username: 'test_user',
|
|
password: 'x-pack-test-password',
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
}
|
|
|
|
remoteClusterTestRunner {
|
|
systemProperty 'tests.rest.suite', 'remote_cluster'
|
|
}
|
|
|
|
task mixedClusterTest(type: RestIntegTestTask) {}
|
|
|
|
mixedClusterTestCluster {
|
|
dependsOn remoteClusterTestRunner
|
|
setting 'xpack.security.enabled', 'true'
|
|
setting 'xpack.watcher.enabled', 'false'
|
|
setting 'xpack.monitoring.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.license.self_generated.type', 'trial'
|
|
setupCommand 'setupDummyUser',
|
|
'bin/elasticsearch-users', 'useradd', 'test_user', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
waitCondition = { node, ant ->
|
|
File tmpFile = new File(node.cwd, 'wait.success')
|
|
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=${numNodes}&wait_for_status=yellow",
|
|
dest: tmpFile.toString(),
|
|
username: 'test_user',
|
|
password: 'x-pack-test-password',
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
setting 'cluster.remote.my_remote_cluster.seeds', "\"${-> remoteClusterTest.nodes.get(0).transportUri()}\""
|
|
setting 'cluster.remote.connections_per_cluster', 1
|
|
setting 'cluster.remote.connect', true
|
|
}
|
|
|
|
mixedClusterTestRunner {
|
|
systemProperty 'tests.rest.suite', 'multi_cluster'
|
|
finalizedBy 'remoteClusterTestCluster#node0.stop','remoteClusterTestCluster#node1.stop'
|
|
}
|
|
|
|
task integTest {
|
|
dependsOn = [mixedClusterTest]
|
|
}
|
|
|
|
test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test
|
|
check.dependsOn(integTest)
|