mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 13:08:29 +00:00
97ddee8d1b
This shuffles all of SQL's QA tests into the `qa/sql` directory, moving some shared resources into the new `qa:sql` project. It also rigs up testing of the rest SQL interface in all the sql qa configurations: without security, with security, and against multiple nodes. I've had to make some modifications to how we handle the audit log because it has gotten pretty slow. If these modifications turn out to not be fast enough then I'll change the test to querying the log files and drop the audit log index entirely but the index seems to be holding out for now. Original commit: elastic/x-pack-elasticsearch@ff3b5a74c1
58 lines
2.8 KiB
Groovy
58 lines
2.8 KiB
Groovy
integTestCluster {
|
|
// Setup auditing so we can use it in some tests
|
|
setting 'xpack.security.audit.enabled', 'true'
|
|
setting 'xpack.security.audit.outputs', '[logfile, index]'
|
|
// Only log the events we need so we don't have as much to sort through
|
|
setting 'xpack.security.audit.index.events.include', '[access_denied, access_granted]'
|
|
// Try and speed up audit logging without overwelming it
|
|
setting 'xpack.security.audit.index.flush_interval', '250ms'
|
|
setting 'xpack.security.audit.index.settings.index.number_of_shards', '1'
|
|
setting 'xpack.security.audit.index.settings.index.refresh_interval', '250ms'
|
|
// Setup roles used by tests
|
|
extraConfigFile 'x-pack/roles.yml', 'roles.yml'
|
|
/* Setup the one admin user that we run the tests as.
|
|
* Tests use "run as" to get different users. */
|
|
setupCommand 'setupUser#test_admin',
|
|
'bin/x-pack/users', 'useradd', 'test_admin', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
// Override the wait condition to work properly with security
|
|
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_admin',
|
|
password: 'x-pack-test-password',
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
}
|
|
|
|
run {
|
|
// Enabled audit logging so we can test it
|
|
setting 'xpack.security.audit.enabled', 'true'
|
|
setting 'xpack.security.audit.outputs', '[logfile, index]'
|
|
// Only log the events we need so we don't have as much to sort through
|
|
setting 'xpack.security.audit.index.events.include', '[access_denied, access_granted]'
|
|
// Try and speed up the logging process without overwelming it
|
|
setting 'xpack.security.audit.index.flush_interval', '250ms'
|
|
setting 'xpack.security.audit.index.settings.index.number_of_shards', '1'
|
|
setting 'xpack.security.audit.index.settings.index.refresh_interval', '250ms'
|
|
// Setup roles used by tests
|
|
extraConfigFile 'x-pack/roles.yml', 'roles.yml'
|
|
/* Setup the one admin user that we run the tests as.
|
|
* Tests use "run as" to get different users. */
|
|
setupCommand 'setupUser#test_admin',
|
|
'bin/x-pack/users', 'useradd', 'test_admin', '-p', 'x-pack-test-password', '-r', 'superuser'
|
|
// Override the wait condition to work properly with security
|
|
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_admin',
|
|
password: 'x-pack-test-password',
|
|
ignoreerrors: true,
|
|
retries: 10)
|
|
return tmpFile.exists()
|
|
}
|
|
}
|