mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-13 00:15:47 +00:00
This commit moves mostly security tests that were left in plugin/src. It also moves the CompositeTestingXPackPlugin into tribe license tests qa project, which was the only remaining use. This class needs to be removed, as it has unavoidable problems with dependency conflicts (ie guava) between security and watcher, which it pulls in both into the test classpath. Original commit: elastic/x-pack-elasticsearch@756209e010
133 lines
6.1 KiB
Groovy
133 lines
6.1 KiB
Groovy
import org.elasticsearch.gradle.test.ClusterConfiguration
|
|
import org.elasticsearch.gradle.test.ClusterFormationTasks
|
|
import org.elasticsearch.gradle.test.NodeInfo
|
|
|
|
apply plugin: 'elasticsearch.standalone-test'
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
dependencies {
|
|
testCompile project(path: ':modules:tribe', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin', configuration: 'testArtifacts')
|
|
|
|
// TODO: remove all these test deps, this is completely bogus, guava is being force upgraded
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:deprecation', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:graph', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:logstash', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:ml', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:monitoring', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:security', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:upgrade', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:watcher', configuration: 'runtime')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:core', configuration: 'testArtifacts')
|
|
testCompile project(path: ':x-pack-elasticsearch:plugin:monitoring', configuration: 'testArtifacts')
|
|
}
|
|
|
|
compileTestJava.options.compilerArgs << "-Xlint:-rawtypes,-unchecked"
|
|
namingConventions.skipIntegTestInDisguise = true
|
|
|
|
test {
|
|
/*
|
|
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
|
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
|
*/
|
|
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
|
include '**/*Tests.class'
|
|
}
|
|
|
|
String licensePath = project(':x-pack-elasticsearch:license-tools').projectDir.toPath().resolve('src/test/resources').toString()
|
|
sourceSets {
|
|
test {
|
|
resources {
|
|
srcDirs += [licensePath]
|
|
}
|
|
}
|
|
}
|
|
|
|
project.forbiddenPatterns {
|
|
exclude '**/*.key'
|
|
}
|
|
|
|
task setupClusterOne {}
|
|
ClusterConfiguration cluster1Config = new ClusterConfiguration(project)
|
|
cluster1Config.clusterName = 'cluster1'
|
|
cluster1Config.setting('node.name', 'cluster1-node1')
|
|
// x-pack
|
|
cluster1Config.plugin(':x-pack-elasticsearch:plugin')
|
|
cluster1Config.setting('xpack.monitoring.enabled', false)
|
|
cluster1Config.setting('xpack.security.enabled', false)
|
|
cluster1Config.setting('xpack.watcher.enabled', false)
|
|
cluster1Config.setting('xpack.graph.enabled', false)
|
|
cluster1Config.setting('xpack.ml.enabled', false)
|
|
|
|
List<NodeInfo> cluster1Nodes = ClusterFormationTasks.setup(project, 'clusterOne', setupClusterOne, cluster1Config)
|
|
|
|
task setupClusterTwo {}
|
|
ClusterConfiguration cluster2Config = new ClusterConfiguration(project)
|
|
cluster2Config.clusterName = 'cluster2'
|
|
cluster2Config.setting('node.name', 'cluster2-node1')
|
|
// x-pack
|
|
cluster2Config.plugin(':x-pack-elasticsearch:plugin')
|
|
cluster2Config.setting('xpack.monitoring.enabled', false)
|
|
cluster2Config.setting('xpack.monitoring.enabled', false)
|
|
cluster2Config.setting('xpack.security.enabled', false)
|
|
cluster2Config.setting('xpack.watcher.enabled', false)
|
|
cluster2Config.setting('xpack.graph.enabled', false)
|
|
cluster2Config.setting('xpack.ml.enabled', false)
|
|
|
|
List<NodeInfo> cluster2Nodes = ClusterFormationTasks.setup(project, 'clusterTwo', setupClusterTwo, cluster2Config)
|
|
|
|
integTestCluster {
|
|
dependsOn setupClusterOne, setupClusterTwo
|
|
setting 'node.name', 'tribe-node'
|
|
setting 'tribe.on_conflict', 'prefer_cluster1'
|
|
setting 'tribe.cluster1.cluster.name', 'cluster1'
|
|
setting 'tribe.cluster1.discovery.zen.ping.unicast.hosts', "'${-> cluster1Nodes.get(0).transportUri()}'"
|
|
setting 'tribe.cluster1.http.enabled', 'true'
|
|
setting 'tribe.cluster1.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster1.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster1.xpack.security.enabled', false
|
|
setting 'tribe.cluster1.xpack.watcher.enabled', false
|
|
setting 'tribe.cluster1.xpack.graph.enabled', false
|
|
setting 'tribe.cluster1.xpack.ml.enabled', false
|
|
setting 'tribe.cluster2.cluster.name', 'cluster2'
|
|
setting 'tribe.cluster2.discovery.zen.ping.unicast.hosts', "'${-> cluster2Nodes.get(0).transportUri()}'"
|
|
setting 'tribe.cluster2.http.enabled', 'true'
|
|
setting 'tribe.cluster2.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster2.xpack.monitoring.enabled', false
|
|
setting 'tribe.cluster2.xpack.security.enabled', false
|
|
setting 'tribe.cluster2.xpack.watcher.enabled', false
|
|
setting 'tribe.cluster2.xpack.graph.enabled', false
|
|
setting 'tribe.cluster2.xpack.ml.enabled', false
|
|
// x-pack
|
|
plugin ':x-pack-elasticsearch:plugin'
|
|
setting 'xpack.monitoring.enabled', false
|
|
setting 'xpack.monitoring.enabled', false
|
|
setting 'xpack.security.enabled', false
|
|
setting 'xpack.watcher.enabled', false
|
|
setting 'xpack.graph.enabled', false
|
|
setting 'xpack.ml.enabled', false
|
|
waitCondition = { node, ant ->
|
|
File tmpFile = new File(node.cwd, 'wait.success')
|
|
// 5 nodes: tribe + clusterOne (1 node + tribe internal node) + clusterTwo (1 node + tribe internal node)
|
|
ant.get(src: "http://${node.httpUri()}/_cluster/health?wait_for_nodes=>=5&wait_for_status=yellow",
|
|
dest: tmpFile.toString(),
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
}
|
|
|
|
integTestRunner {
|
|
/*
|
|
* We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each
|
|
* other if we allow them to set the number of available processors as it's set-once in Netty.
|
|
*/
|
|
systemProperty 'es.set.netty.runtime.available.processors', 'false'
|
|
systemProperty 'tests.cluster', "${-> cluster1Nodes.get(0).transportUri()}"
|
|
systemProperty 'tests.cluster2', "${-> cluster2Nodes.get(0).transportUri()}"
|
|
systemProperty 'tests.tribe', "${-> integTest.nodes.get(0).transportUri()}"
|
|
finalizedBy 'clusterOne#stop'
|
|
finalizedBy 'clusterTwo#stop'
|
|
}
|