mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-03 09:29:11 +00:00
This performs a simple restart test to move a basic licensed cluster from no security (the default) to security & transport TLS enabled. Backport of: #41933
69 lines
3.0 KiB
Groovy
69 lines
3.0 KiB
Groovy
import org.elasticsearch.gradle.test.RestIntegTestTask
|
|
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
dependencies {
|
|
// "org.elasticsearch.plugin:x-pack-core:${version}" doesn't work with idea because the testArtifacts are also here
|
|
testCompile project(path: xpackModule('core'), configuration: 'default')
|
|
testCompile project(path: xpackModule('security'), configuration: 'testArtifacts')
|
|
testCompile project(path: xpackModule('core'), configuration: 'testArtifacts')
|
|
}
|
|
|
|
task integTestNoSecurity(type: RestIntegTestTask) {
|
|
description = "Run tests against a cluster that doesn't have security"
|
|
}
|
|
tasks.getByName("integTestNoSecurityRunner").configure {
|
|
systemProperty 'tests.has_security', 'false'
|
|
}
|
|
check.dependsOn(integTestNoSecurity)
|
|
|
|
task integTestSecurity(type: RestIntegTestTask) {
|
|
dependsOn integTestNoSecurity
|
|
description = "Run tests against a cluster that has security"
|
|
}
|
|
tasks.getByName("integTestSecurityRunner").configure {
|
|
systemProperty 'tests.has_security', 'true'
|
|
}
|
|
check.dependsOn(integTestSecurity)
|
|
|
|
configure(extensions.findByName("integTestNoSecurityCluster")) {
|
|
clusterName = "enable-security-on-basic"
|
|
numNodes = 2
|
|
|
|
setting 'xpack.ilm.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.license.self_generated.type', 'basic'
|
|
setting 'xpack.security.enabled', 'false'
|
|
}
|
|
|
|
Task noSecurityTest = tasks.findByName("integTestNoSecurity")
|
|
configure(extensions.findByName("integTestSecurityCluster")) {
|
|
clusterName = "basic-license"
|
|
numNodes = 2
|
|
dataDir = { nodeNum -> noSecurityTest.nodes[nodeNum].dataDir }
|
|
|
|
setting 'xpack.ilm.enabled', 'false'
|
|
setting 'xpack.ml.enabled', 'false'
|
|
setting 'xpack.license.self_generated.type', 'basic'
|
|
setting 'xpack.security.enabled', 'true'
|
|
setting 'xpack.security.authc.anonymous.roles', 'anonymous'
|
|
setting 'xpack.security.transport.ssl.enabled', 'true'
|
|
setting 'xpack.security.transport.ssl.certificate', 'transport.crt'
|
|
setting 'xpack.security.transport.ssl.key', 'transport.key'
|
|
setting 'xpack.security.transport.ssl.key_passphrase', 'transport-password'
|
|
setting 'xpack.security.transport.ssl.certificate_authorities', 'ca.crt'
|
|
|
|
extraConfigFile 'transport.key', project.projectDir.toPath().resolve('src/test/resources/ssl/transport.key').toFile()
|
|
extraConfigFile 'transport.crt', project.projectDir.toPath().resolve('src/test/resources/ssl/transport.crt').toFile()
|
|
extraConfigFile 'ca.crt', project.projectDir.toPath().resolve('src/test/resources/ssl/ca.crt').toFile()
|
|
|
|
setupCommand 'setupAdminUser',
|
|
'bin/elasticsearch-users', 'useradd', 'admin_user', '-p', 'admin-password', '-r', 'superuser'
|
|
setupCommand 'setupTestUser' ,
|
|
'bin/elasticsearch-users', 'useradd', 'security_test_user', '-p', 'security-test-password', '-r', 'security_test_role'
|
|
extraConfigFile 'roles.yml', project.projectDir.toPath().resolve('src/test/resources/roles.yml').toFile()
|
|
}
|
|
|
|
integTest.enabled = false
|