apply plugin: 'elasticsearch.legacy-java-rest-test'
apply plugin: 'elasticsearch.base-internal-es-plugin'

esplugin {
  name = 'spi-extension'
  description = 'An example spi extension plugin for security'
  classname = 'org.elasticsearch.example.SpiExtensionPlugin'
  extendedPlugins = ['x-pack-security']
}

dependencies {
  compileOnly project(':x-pack:plugin:core')
  testImplementation project(':x-pack:plugin:core')
  javaRestTestImplementation project(':x-pack:plugin:core')
  // let the javaRestTest see the classpath of main
  javaRestTestImplementation project.sourceSets.main.runtimeClasspath
  javaRestTestImplementation project(':modules:rest-root')
}

testClusters.configureEach {
  // This is important, so that all the modules are available too.
  // There are index templates that use token filters that are in analysis-module and
  // processors are being used that are in ingest-common module.
  testDistribution = 'DEFAULT'

  setting 'xpack.security.authc.realms.custom.my_realm.order', '0'
  setting 'xpack.security.authc.realms.custom.my_realm.filtered_setting', 'should be filtered'
  setting 'xpack.security.authc.realms.custom.my_realm.username', 'test_user'
  keystore 'xpack.security.authc.realms.custom.my_realm.password', 'secret_password'

  setting 'xpack.security.authc.realms.file.esusers.order', '1'
  setting 'xpack.security.authc.realms.native.native.order', '2'
  setting 'xpack.security.authc.realms.custom_role_mapping.role_map.order', '3'
  setting 'xpack.security.enabled', 'true'
  setting 'xpack.ml.enabled', 'false'
  setting 'xpack.license.self_generated.type', 'trial'

  user username: "test_user", password: "x-pack-test-password"
}
