2019-08-09 13:32:27 +03:00
|
|
|
import org.elasticsearch.gradle.testclusters.RestTestRunnerTask
|
|
|
|
|
2019-06-18 11:51:20 +03:00
|
|
|
apply plugin: 'elasticsearch.testclusters'
|
2019-05-22 14:27:45 +10:00
|
|
|
apply plugin: 'elasticsearch.standalone-rest-test'
|
|
|
|
apply plugin: 'elasticsearch.rest-test'
|
|
|
|
|
|
|
|
dependencies {
|
2020-06-14 22:30:44 +02:00
|
|
|
testImplementation project(path: xpackModule('core'), configuration: 'default')
|
|
|
|
testImplementation project(path: xpackModule('security'), configuration: 'testArtifacts')
|
|
|
|
testImplementation project(path: xpackModule('core'), configuration: 'testArtifacts')
|
2019-05-22 14:27:45 +10:00
|
|
|
}
|
|
|
|
|
2019-06-18 11:51:20 +03:00
|
|
|
integTest {
|
2019-11-14 11:01:23 +00:00
|
|
|
description = "Run tests against a cluster that doesn't have security"
|
|
|
|
runner {
|
|
|
|
systemProperty 'tests.has_security', 'false'
|
|
|
|
}
|
2019-05-22 14:27:45 +10:00
|
|
|
}
|
|
|
|
|
2019-06-18 11:51:20 +03:00
|
|
|
testClusters.integTest {
|
2019-11-14 11:01:23 +00:00
|
|
|
testDistribution = 'DEFAULT'
|
|
|
|
numberOfNodes = 2
|
|
|
|
setting 'xpack.ml.enabled', 'false'
|
|
|
|
setting 'xpack.license.self_generated.type', 'basic'
|
|
|
|
setting 'xpack.security.enabled', 'false'
|
2019-06-18 11:51:20 +03:00
|
|
|
}
|
2019-05-22 14:27:45 +10:00
|
|
|
|
2019-08-09 13:32:27 +03:00
|
|
|
task integTestSecurity(type: RestTestRunnerTask) {
|
2019-11-14 11:01:23 +00:00
|
|
|
description = "Run tests against a cluster that has security"
|
|
|
|
useCluster testClusters.integTest
|
|
|
|
dependsOn integTest
|
|
|
|
systemProperty 'tests.has_security', 'true'
|
|
|
|
|
|
|
|
doFirst {
|
|
|
|
testClusters.integTest {
|
|
|
|
// Reconfigure cluster to enable security
|
|
|
|
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', file('src/test/resources/ssl/transport.key')
|
|
|
|
extraConfigFile 'transport.crt', file('src/test/resources/ssl/transport.crt')
|
|
|
|
extraConfigFile 'ca.crt', file('src/test/resources/ssl/ca.crt')
|
|
|
|
extraConfigFile 'roles.yml', file('src/test/resources/roles.yml')
|
|
|
|
|
|
|
|
user username: "admin_user", password: "admin-password"
|
|
|
|
user username: "security_test_user", password: "security-test-password", role: "security_test_role"
|
|
|
|
|
|
|
|
restart()
|
2019-06-18 11:51:20 +03:00
|
|
|
}
|
2019-11-14 11:01:23 +00:00
|
|
|
nonInputProperties.systemProperty 'tests.rest.cluster', "${-> testClusters.integTest.getAllHttpSocketURI().join(",")}"
|
|
|
|
}
|
2019-05-22 14:27:45 +10:00
|
|
|
}
|
2020-07-31 13:09:04 +02:00
|
|
|
tasks.named("check").configure { dependsOn(integTestSecurity) }
|
2019-05-22 14:27:45 +10:00
|
|
|
|