|
1 | | -import org.elasticsearch.gradle.Version |
2 | | -import org.elasticsearch.gradle.internal.test.RestIntegTestTask |
3 | | -import org.elasticsearch.gradle.testclusters.TestClusterValueSource |
4 | | -import org.elasticsearch.gradle.testclusters.TestClustersPlugin |
5 | | -import org.elasticsearch.gradle.testclusters.TestClustersRegistry |
6 | | -import org.elasticsearch.gradle.util.GradleUtils |
7 | | - |
8 | | -import static org.elasticsearch.gradle.PropertyNormalization.IGNORE_VALUE |
9 | | - |
10 | | -apply plugin: 'elasticsearch.internal-testclusters' |
11 | | -apply plugin: 'elasticsearch.standalone-rest-test' |
| 1 | +/* |
| 2 | + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one |
| 3 | + * or more contributor license agreements. Licensed under the Elastic License |
| 4 | + * 2.0; you may not use this file except in compliance with the Elastic License |
| 5 | + * 2.0. |
| 6 | + */ |
| 7 | +apply plugin: 'elasticsearch.internal-java-rest-test' |
12 | 8 |
|
13 | 9 | dependencies { |
14 | | - testImplementation(testArtifact(project(xpackModule('core')))) |
15 | | - testImplementation project(xpackModule('ccr')) |
16 | | - testImplementation project(':x-pack:plugin:ccr:qa') |
17 | | -} |
18 | | - |
19 | | -def clusterPath = getPath() |
20 | | -def leaderCluster = testClusters.register('leader-cluster') { |
21 | | - testDistribution = 'DEFAULT' |
22 | | - setting 'xpack.license.self_generated.type', 'trial' |
23 | | - setting 'xpack.security.enabled', 'true' |
24 | | - user username: 'admin', password: 'admin-password', role: 'superuser' |
25 | | - setting 'path.repo', "${layout.buildDirectory.asFile.get()}/cluster/shared/repo/leader-cluster" |
26 | | -} |
27 | | - |
28 | | -def middleCluster = testClusters.register('middle-cluster') { |
29 | | - testDistribution = 'DEFAULT' |
30 | | - setting 'xpack.license.self_generated.type', 'trial' |
31 | | - setting 'xpack.security.enabled', 'true' |
32 | | - user username: 'admin', password: 'admin-password', role: 'superuser' |
33 | | - |
34 | | - Provider<TestClustersRegistry> serviceProvider = GradleUtils.getBuildService( |
35 | | - project.gradle.sharedServices, |
36 | | - TestClustersPlugin.REGISTRY_SERVICE_NAME |
37 | | - ) |
38 | | - def leaderInfo = project.getProviders().of(TestClusterValueSource.class) { |
39 | | - it.parameters.path.set(clusterPath) |
40 | | - it.parameters.clusterName.set("leader-cluster") |
41 | | - it.parameters.service = serviceProvider |
42 | | - } |
43 | | - def leaderUris = leaderInfo.map { it.getAllTransportPortURI() } |
44 | | - setting 'cluster.remote.leader_cluster.seeds', |
45 | | - { "\"${leaderUris.get().join(",")}\"" }, IGNORE_VALUE |
46 | | -} |
47 | | - |
48 | | -tasks.register("leader-cluster", RestIntegTestTask) { |
49 | | - mustRunAfter("precommit") |
50 | | - systemProperty 'tests.target_cluster', 'leader' |
51 | | - systemProperty 'tests.leader_cluster_repository_path', "${layout.buildDirectory.asFile.get()}/cluster/shared/repo/leader-cluster" |
52 | | -} |
53 | | - |
54 | | -tasks.register("middle-cluster", RestIntegTestTask) { |
55 | | - dependsOn "leader-cluster" |
56 | | - useCluster testClusters.named("leader-cluster") |
57 | | - systemProperty 'tests.target_cluster', 'middle' |
58 | | - systemProperty 'tests.leader_cluster_repository_path', "${layout.buildDirectory.asFile.get()}/cluster/shared/repo/leader-cluster" |
59 | | - |
60 | | - def leaderUri = getClusterInfo('leader-cluster').map { it.allHttpSocketURI.get(0) } |
61 | | - nonInputProperties.systemProperty 'tests.leader_host', leaderUri |
| 10 | + javaRestTestImplementation(testArtifact(project(xpackModule('core')))) |
| 11 | + javaRestTestImplementation(testArtifact(project(xpackModule('ccr')), 'javaRestTest')) |
| 12 | + javaRestTestImplementation project(xpackModule('ccr')) |
62 | 13 | } |
63 | 14 |
|
64 | | -tasks.register('follow-cluster', RestIntegTestTask) { |
65 | | - dependsOn "leader-cluster", "middle-cluster" |
66 | | - useCluster leaderCluster |
67 | | - useCluster middleCluster |
68 | | - systemProperty 'tests.target_cluster', 'follow' |
69 | | - systemProperty 'tests.leader_cluster_repository_path', "${layout.buildDirectory.asFile.get()}/cluster/shared/repo/leader-cluster" |
70 | | - |
71 | | - def leaderUri = getClusterInfo('leader-cluster').map { it.allHttpSocketURI.get(0) } |
72 | | - def middleUri = getClusterInfo('middle-cluster').map { it.allHttpSocketURI.get(0) } |
73 | | - nonInputProperties.systemProperty 'tests.leader_host', leaderUri |
74 | | - nonInputProperties.systemProperty 'tests.middle_host', middleUri |
| 15 | +tasks.named("javaRestTest") { |
| 16 | + usesDefaultDistribution("uses _xpack usage api") |
| 17 | + // These fail in CI but only when run as part of checkPart2 and not individually. |
| 18 | + // Tracked in : https://github.com/elastic/elasticsearch/issues/66661 |
| 19 | + buildParams.withFipsEnabledOnly(it) |
75 | 20 | } |
76 | | - |
77 | | -testClusters.matching { it.name == "follow-cluster" }.configureEach { |
78 | | - testDistribution = 'DEFAULT' |
79 | | - setting 'xpack.monitoring.collection.enabled', 'true' |
80 | | - setting 'xpack.license.self_generated.type', 'trial' |
81 | | - setting 'xpack.security.enabled', 'true' |
82 | | - user username: 'admin', password: 'admin-password', role: 'superuser' |
83 | | - |
84 | | - Provider<TestClustersRegistry> serviceProvider = GradleUtils.getBuildService( |
85 | | - project.gradle.sharedServices, |
86 | | - TestClustersPlugin.REGISTRY_SERVICE_NAME |
87 | | - ) |
88 | | - def leaderUris = project.getProviders().of(TestClusterValueSource.class) { |
89 | | - it.parameters.path.set(clusterPath) |
90 | | - it.parameters.clusterName.set("leader-cluster") |
91 | | - it.parameters.service = serviceProvider |
92 | | - }.map { it.getAllTransportPortURI() } |
93 | | - |
94 | | - def middleUris = project.getProviders().of(TestClusterValueSource.class) { |
95 | | - it.parameters.path.set(clusterPath) |
96 | | - it.parameters.clusterName.set("middle-cluster") |
97 | | - it.parameters.service = serviceProvider |
98 | | - }.map { it.getAllTransportPortURI() } |
99 | | - |
100 | | - setting 'cluster.remote.leader_cluster.seeds', |
101 | | - { "\"${leaderUris.get().join(",")}\"" }, IGNORE_VALUE |
102 | | - setting 'cluster.remote.middle_cluster.seeds', |
103 | | - { "\"${middleUris.get().join(",")}\"" }, IGNORE_VALUE |
104 | | -} |
105 | | - |
106 | | - |
107 | | -testClusters.configureEach { |
108 | | - requiresFeature 'es.index_mode_feature_flag_registered', Version.fromString("8.0.0") |
109 | | -} |
110 | | - |
111 | | -tasks.named("check").configure { dependsOn "follow-cluster" } |
0 commit comments