apply plugin: 'elasticsearch.standalone-rest-test'
apply plugin: 'elasticsearch.rest-test'

dependencies {
  testCompile project(path: xpackModule('security'), configuration: 'testArtifacts')
}

String outputDir = "generated-resources/${project.name}"
task copyXPackPluginProps(type: Copy) { // wth is this?
  from project(xpackModule('core')).file('src/main/plugin-metadata')
  from project(xpackModule('core')).tasks.pluginProperties
  from project(xpackModule('security')).file('src/main/plugin-metadata')
  from project(xpackModule('security')).tasks.pluginProperties
  into outputDir
}
project.sourceSets.test.output.dir(outputDir, builtBy: copyXPackPluginProps)

integTestCluster {
  distribution 'zip'
  plugin xpackProject('plugin').path
  setting 'xpack.ml.enabled', 'false'
  setting 'xpack.security.audit.enabled', 'true'
  setting 'xpack.security.audit.outputs', 'index'
  setting 'logger.level', 'DEBUG'
  setupCommand 'setupDummyUser',
               'bin/x-pack/users', 'useradd', 'test_user', '-p', 'x-pack-test-password', '-r', 'superuser'
  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_user',
            password: 'x-pack-test-password',
            ignoreerrors: true,
            retries: 10)
    return tmpFile.exists()
  }
}