build.gradle 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. apply plugin: 'elasticsearch.legacy-java-rest-test'
  2. dependencies {
  3. javaRestTestImplementation(testArtifact(project(xpackModule('core'))))
  4. javaRestTestImplementation project(path: xpackModule('transform'))
  5. javaRestTestImplementation project(path: xpackModule('transform:qa:common'))
  6. }
  7. // location for keys and certificates
  8. File keystoreDir = new File(project.buildDir, 'keystore')
  9. File nodeKey = file("$keystoreDir/testnode.pem")
  10. File nodeCert = file("$keystoreDir/testnode.crt")
  11. // Add key and certs to test classpath: it expects it there
  12. def copyKeyCerts = tasks.register("copyKeyCerts", Copy) {
  13. from(project(':x-pack:plugin:core').file('src/test/resources/org/elasticsearch/xpack/security/transport/ssl/certs/simple/')) {
  14. include 'testnode.crt', 'testnode.pem'
  15. }
  16. into keystoreDir
  17. }
  18. // Add keys and cets to javaRestTest classpath: it expects it there
  19. sourceSets.javaRestTest.resources.srcDir(keystoreDir)
  20. tasks.named("processJavaRestTestResources").configure { dependsOn("copyKeyCerts") }
  21. tasks.named("javaRestTest").configure { dependsOn "copyKeyCerts" }
  22. testClusters.matching { it.name == 'javaRestTest' }.configureEach {
  23. testDistribution = 'DEFAULT'
  24. setting 'xpack.security.enabled', 'true'
  25. setting 'xpack.license.self_generated.type', 'trial'
  26. setting 'xpack.security.authc.token.enabled', 'true'
  27. setting 'xpack.security.transport.ssl.enabled', 'true'
  28. setting 'xpack.security.transport.ssl.key', nodeKey.name
  29. setting 'xpack.security.transport.ssl.certificate', nodeCert.name
  30. setting 'xpack.security.transport.ssl.verification_mode', 'certificate'
  31. setting 'xpack.security.audit.enabled', 'false'
  32. setting 'xpack.license.self_generated.type', 'trial'
  33. keystore 'bootstrap.password', 'x-pack-test-password'
  34. keystore 'xpack.security.transport.ssl.secure_key_passphrase', 'testnode'
  35. numberOfNodes = 3
  36. // Node roles are configured this way in order to verify redirecting the transform request from the node lacking
  37. // remote_cluster_client role to the node that is remote_cluster_client.
  38. nodes."javaRestTest-0".setting 'node.roles', '[data,ingest,master]'
  39. nodes."javaRestTest-1".setting 'node.roles', '[data,ingest,master,transform]'
  40. nodes."javaRestTest-2".setting 'node.roles', '[data,ingest,master,transform,remote_cluster_client]'
  41. extraConfigFile nodeKey.name, nodeKey
  42. extraConfigFile nodeCert.name, nodeCert
  43. rolesFile file('roles.yml')
  44. user username: "x_pack_rest_user", password: "x-pack-test-password"
  45. user username: "john_junior", password: "x-pack-test-password", role: "transform_admin"
  46. user username: "bill_senior", password: "x-pack-test-password", role: "transform_admin,source_index_access,dest_index_access"
  47. user username: "source_and_dest_index_access_only", password: "x-pack-test-password", role: "source_index_access,dest_index_access"
  48. user username: "transform_user_but_not_admin", password: "x-pack-test-password", role: "transform_user,source_index_access,dest_index_access"
  49. user username: "fleet_access", password: "x-pack-test-password", role: "transform_admin,fleet_index_access,dest_index_access"
  50. }