apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' dependencies { testCompile project(path: ':x-pack-elasticsearch:plugin:core', configuration: 'runtime') testCompile project(path: ':x-pack-elasticsearch:plugin:security', configuration: 'testArtifacts') testCompile project(path: ':x-pack-elasticsearch:plugin:core', configuration: 'testArtifacts') testCompile project(path: ':modules:reindex') } integTestCluster { plugin ':x-pack-elasticsearch:plugin' // Whitelist reindexing from the local node so we can test it. setting 'reindex.remote.whitelist', '127.0.0.1:*' setting 'xpack.ml.enabled', 'false' extraConfigFile 'x-pack/roles.yml', 'roles.yml' [ test_admin: 'superuser', powerful_user: 'superuser', minimal_user: 'minimal', readonly_user: 'readonly', dest_only_user: 'dest_only', can_not_see_hidden_docs_user: 'can_not_see_hidden_docs', can_not_see_hidden_fields_user: 'can_not_see_hidden_fields', ].each { String user, String role -> setupCommand 'setupUser#' + user, 'bin/x-pack/users', 'useradd', user, '-p', 'x-pack-test-password', '-r', role } 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() } }