Skip to content

Commit bb32a24

Browse files
authored
Consolidate CCS metadata tests to reduce copypaste (#134495)
1 parent 780af6f commit bb32a24

File tree

5 files changed

+109
-317
lines changed

5 files changed

+109
-317
lines changed

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/AbstractCrossClusterTestCase.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,15 @@ protected void assertClusterInfoSuccess(EsqlExecutionInfo.Cluster cluster, int n
141141
assertThat(cluster.getFailures().size(), equalTo(0));
142142
}
143143

144+
protected void assertClusterInfoSkipped(EsqlExecutionInfo.Cluster cluster) {
145+
assertThat(cluster.getTook().millis(), greaterThanOrEqualTo(0L));
146+
assertThat(cluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
147+
assertThat(cluster.getTotalShards(), equalTo(0));
148+
assertThat(cluster.getSuccessfulShards(), equalTo(0));
149+
assertThat(cluster.getSkippedShards(), equalTo(0));
150+
assertThat(cluster.getFailedShards(), equalTo(0));
151+
}
152+
144153
protected static void assertClusterMetadataInResponse(EsqlQueryResponse resp, boolean responseExpectMeta, int numClusters) {
145154
try {
146155
final Map<String, Object> esqlResponseAsMap = XContentTestUtils.convertToMap(resp);

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/AbstractEnrichBasedCrossClusterTestCase.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050

5151
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
5252
import static org.hamcrest.Matchers.containsString;
53+
import static org.hamcrest.Matchers.equalTo;
54+
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
5355

5456
public abstract class AbstractEnrichBasedCrossClusterTestCase extends AbstractMultiClustersTestCase {
5557

@@ -287,4 +289,23 @@ protected Class<? extends TransportAction<XPackInfoRequest, XPackInfoResponse>>
287289
return CrossClusterQueriesWithInvalidLicenseIT.LocalStateEnrich.EnrichTransportXPackInfoAction.class;
288290
}
289291
}
292+
293+
protected void assertClusterInfoSuccess(EsqlExecutionInfo.Cluster cluster, int numShards) {
294+
assertThat(cluster.getTook().millis(), greaterThanOrEqualTo(0L));
295+
assertThat(cluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
296+
assertThat(cluster.getTotalShards(), equalTo(numShards));
297+
assertThat(cluster.getSuccessfulShards(), equalTo(numShards));
298+
assertThat(cluster.getSkippedShards(), equalTo(0));
299+
assertThat(cluster.getFailedShards(), equalTo(0));
300+
assertThat(cluster.getFailures().size(), equalTo(0));
301+
}
302+
303+
protected void assertClusterInfoSkipped(EsqlExecutionInfo.Cluster cluster) {
304+
assertThat(cluster.getTook().millis(), greaterThanOrEqualTo(0L));
305+
assertThat(cluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
306+
assertThat(cluster.getTotalShards(), equalTo(0));
307+
assertThat(cluster.getSuccessfulShards(), equalTo(0));
308+
assertThat(cluster.getSkippedShards(), equalTo(0));
309+
assertThat(cluster.getFailedShards(), equalTo(0));
310+
}
290311
}

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/CrossClusterEnrichUnavailableClustersIT.java

Lines changed: 21 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -78,18 +78,10 @@ public void testEnrichWithHostsPolicyAndDisconnectedRemotesWithSkipUnavailableTr
7878
assertThat(executionInfo.clusterAliases(), equalTo(Set.of(REMOTE_CLUSTER_1, REMOTE_CLUSTER_2)));
7979

8080
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
81-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
82-
assertThat(cluster1.getTotalShards(), equalTo(0));
83-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
84-
assertThat(cluster1.getSkippedShards(), equalTo(0));
85-
assertThat(cluster1.getFailedShards(), equalTo(0));
81+
assertClusterInfoSkipped(cluster1);
8682

8783
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
88-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
89-
assertThat(cluster2.getTotalShards(), greaterThanOrEqualTo(0));
90-
assertThat(cluster2.getSuccessfulShards(), equalTo(cluster2.getSuccessfulShards()));
91-
assertThat(cluster2.getSkippedShards(), equalTo(0));
92-
assertThat(cluster2.getFailedShards(), equalTo(0));
84+
assertClusterInfoSuccess(cluster2, cluster2.getSuccessfulShards());
9385
}
9486
}
9587

@@ -116,18 +108,10 @@ public void testEnrichWithHostsPolicyAndDisconnectedRemotesWithSkipUnavailableTr
116108
assertThat(executionInfo.clusterAliases(), equalTo(Set.of(REMOTE_CLUSTER_1, REMOTE_CLUSTER_2)));
117109

118110
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
119-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
120-
assertThat(cluster1.getTotalShards(), equalTo(0));
121-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
122-
assertThat(cluster1.getSkippedShards(), equalTo(0));
123-
assertThat(cluster1.getFailedShards(), equalTo(0));
111+
assertClusterInfoSkipped(cluster1);
124112

125113
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
126-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
127-
assertThat(cluster2.getTotalShards(), equalTo(0));
128-
assertThat(cluster2.getSuccessfulShards(), equalTo(0));
129-
assertThat(cluster2.getSkippedShards(), equalTo(0));
130-
assertThat(cluster2.getFailedShards(), equalTo(0));
114+
assertClusterInfoSkipped(cluster2);
131115
}
132116
}
133117
} finally {
@@ -160,18 +144,10 @@ public void testEnrichWithHostsPolicyAndDisconnectedRemotesWithSkipUnavailableFa
160144
assertThat(executionInfo.clusterAliases(), equalTo(Set.of(REMOTE_CLUSTER_1, REMOTE_CLUSTER_2)));
161145

162146
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
163-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
164-
assertThat(cluster1.getTotalShards(), equalTo(0));
165-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
166-
assertThat(cluster1.getSkippedShards(), equalTo(0));
167-
assertThat(cluster1.getFailedShards(), equalTo(0));
147+
assertClusterInfoSkipped(cluster1);
168148

169149
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
170-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
171-
assertThat(cluster2.getTotalShards(), greaterThanOrEqualTo(0));
172-
assertThat(cluster2.getSuccessfulShards(), equalTo(cluster2.getSuccessfulShards()));
173-
assertThat(cluster2.getSkippedShards(), equalTo(0));
174-
assertThat(cluster2.getFailedShards(), equalTo(0));
150+
assertClusterInfoSuccess(cluster2, cluster2.getSuccessfulShards());
175151
}
176152
}
177153

@@ -218,25 +194,13 @@ public void testEnrichTwiceThenAggsWithUnavailableRemotes() throws IOException {
218194
assertCCSExecutionInfoDetails(executionInfo);
219195

220196
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
221-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
222-
assertThat(cluster1.getTotalShards(), greaterThanOrEqualTo(0));
223-
assertThat(cluster1.getSuccessfulShards(), equalTo(cluster1.getSuccessfulShards()));
224-
assertThat(cluster1.getSkippedShards(), equalTo(0));
225-
assertThat(cluster1.getFailedShards(), equalTo(0));
197+
assertClusterInfoSuccess(cluster1, cluster1.getSuccessfulShards());
226198

227199
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
228-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
229-
assertThat(cluster2.getTotalShards(), equalTo(0));
230-
assertThat(cluster2.getSuccessfulShards(), equalTo(0));
231-
assertThat(cluster2.getSkippedShards(), equalTo(0));
232-
assertThat(cluster2.getFailedShards(), equalTo(0));
200+
assertClusterInfoSkipped(cluster2);
233201

234202
EsqlExecutionInfo.Cluster localCluster = executionInfo.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
235-
assertThat(localCluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
236-
assertThat(localCluster.getTotalShards(), greaterThan(0));
237-
assertThat(localCluster.getSuccessfulShards(), equalTo(localCluster.getTotalShards()));
238-
assertThat(localCluster.getSkippedShards(), equalTo(0));
239-
assertThat(localCluster.getFailedShards(), equalTo(0));
203+
assertClusterInfoSuccess(localCluster, localCluster.getSuccessfulShards());
240204
}
241205
}
242206

@@ -264,26 +228,13 @@ public void testEnrichTwiceThenAggsWithUnavailableRemotes() throws IOException {
264228
assertCCSExecutionInfoDetails(executionInfo);
265229

266230
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
267-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
268-
assertThat(cluster1.getTotalShards(), equalTo(0));
269-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
270-
assertThat(cluster1.getSkippedShards(), equalTo(0));
271-
assertThat(cluster1.getFailedShards(), equalTo(0));
272-
assertThat(cluster1.getTook().millis(), greaterThanOrEqualTo(0L));
231+
assertClusterInfoSkipped(cluster1);
273232

274233
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
275-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
276-
assertThat(cluster2.getTotalShards(), equalTo(0));
277-
assertThat(cluster2.getSuccessfulShards(), equalTo(0));
278-
assertThat(cluster2.getSkippedShards(), equalTo(0));
279-
assertThat(cluster2.getFailedShards(), equalTo(0));
234+
assertClusterInfoSkipped(cluster2);
280235

281236
EsqlExecutionInfo.Cluster localCluster = executionInfo.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
282-
assertThat(localCluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
283-
assertThat(localCluster.getTotalShards(), greaterThan(0));
284-
assertThat(localCluster.getSuccessfulShards(), equalTo(localCluster.getTotalShards()));
285-
assertThat(localCluster.getSkippedShards(), equalTo(0));
286-
assertThat(localCluster.getFailedShards(), equalTo(0));
237+
assertClusterInfoSuccess(localCluster, localCluster.getSuccessfulShards());
287238
}
288239
}
289240
}
@@ -326,18 +277,10 @@ public void testEnrichCoordinatorThenAnyWithSingleUnavailableRemoteAndLocal() th
326277
assertCCSExecutionInfoDetails(executionInfo);
327278

328279
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
329-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
330-
assertThat(cluster1.getTotalShards(), equalTo(0));
331-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
332-
assertThat(cluster1.getSkippedShards(), equalTo(0));
333-
assertThat(cluster1.getFailedShards(), equalTo(0));
280+
assertClusterInfoSkipped(cluster1);
334281

335282
EsqlExecutionInfo.Cluster localCluster = executionInfo.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
336-
assertThat(localCluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
337-
assertThat(localCluster.getTotalShards(), greaterThan(0));
338-
assertThat(localCluster.getSuccessfulShards(), equalTo(localCluster.getTotalShards()));
339-
assertThat(localCluster.getSkippedShards(), equalTo(0));
340-
assertThat(localCluster.getFailedShards(), equalTo(0));
283+
assertClusterInfoSuccess(localCluster, localCluster.getSuccessfulShards());
341284
}
342285
}
343286
} finally {
@@ -382,11 +325,7 @@ public void testEnrichCoordinatorThenAnyWithSingleUnavailableRemoteAndNotLocal()
382325
assertCCSExecutionInfoDetails(executionInfo);
383326

384327
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
385-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
386-
assertThat(cluster1.getTotalShards(), equalTo(0));
387-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
388-
assertThat(cluster1.getSkippedShards(), equalTo(0));
389-
assertThat(cluster1.getFailedShards(), equalTo(0));
328+
assertClusterInfoSkipped(cluster1);
390329
}
391330
}
392331
} finally {
@@ -427,26 +366,13 @@ public void testEnrichRemoteWithVendor() throws IOException {
427366
assertCCSExecutionInfoDetails(executionInfo);
428367

429368
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
430-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
431-
assertThat(cluster1.getTotalShards(), equalTo(0));
432-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
433-
assertThat(cluster1.getSkippedShards(), equalTo(0));
434-
assertThat(cluster1.getFailedShards(), equalTo(0));
435-
assertThat(cluster1.getTook().millis(), greaterThanOrEqualTo(0L));
369+
assertClusterInfoSkipped(cluster1);
436370

437371
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
438-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
439-
assertThat(cluster2.getTotalShards(), greaterThan(0));
440-
assertThat(cluster2.getSuccessfulShards(), equalTo(cluster2.getSuccessfulShards()));
441-
assertThat(cluster2.getSkippedShards(), equalTo(0));
442-
assertThat(cluster2.getFailedShards(), equalTo(0));
372+
assertClusterInfoSuccess(cluster2, cluster2.getSuccessfulShards());
443373

444374
EsqlExecutionInfo.Cluster localCluster = executionInfo.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
445-
assertThat(localCluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
446-
assertThat(localCluster.getTotalShards(), greaterThan(0));
447-
assertThat(localCluster.getSuccessfulShards(), equalTo(localCluster.getTotalShards()));
448-
assertThat(localCluster.getSkippedShards(), equalTo(0));
449-
assertThat(localCluster.getFailedShards(), equalTo(0));
375+
assertClusterInfoSuccess(localCluster, localCluster.getSuccessfulShards());
450376
}
451377
}
452378

@@ -478,26 +404,13 @@ public void testEnrichRemoteWithVendor() throws IOException {
478404
assertCCSExecutionInfoDetails(executionInfo);
479405

480406
EsqlExecutionInfo.Cluster cluster1 = executionInfo.getCluster(REMOTE_CLUSTER_1);
481-
assertThat(cluster1.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
482-
assertThat(cluster1.getTotalShards(), equalTo(0));
483-
assertThat(cluster1.getSuccessfulShards(), equalTo(0));
484-
assertThat(cluster1.getSkippedShards(), equalTo(0));
485-
assertThat(cluster1.getFailedShards(), equalTo(0));
486-
assertThat(cluster1.getTook().millis(), greaterThanOrEqualTo(0L));
407+
assertClusterInfoSkipped(cluster1);
487408

488409
EsqlExecutionInfo.Cluster cluster2 = executionInfo.getCluster(REMOTE_CLUSTER_2);
489-
assertThat(cluster2.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SKIPPED));
490-
assertThat(cluster2.getTotalShards(), equalTo(0));
491-
assertThat(cluster2.getSuccessfulShards(), equalTo(0));
492-
assertThat(cluster2.getSkippedShards(), equalTo(0));
493-
assertThat(cluster2.getFailedShards(), equalTo(0));
410+
assertClusterInfoSkipped(cluster2);
494411

495412
EsqlExecutionInfo.Cluster localCluster = executionInfo.getCluster(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
496-
assertThat(localCluster.getStatus(), equalTo(EsqlExecutionInfo.Cluster.Status.SUCCESSFUL));
497-
assertThat(localCluster.getTotalShards(), greaterThan(0));
498-
assertThat(localCluster.getSuccessfulShards(), equalTo(localCluster.getTotalShards()));
499-
assertThat(localCluster.getSkippedShards(), equalTo(0));
500-
assertThat(localCluster.getFailedShards(), equalTo(0));
413+
assertClusterInfoSuccess(localCluster, localCluster.getSuccessfulShards());
501414
}
502415
}
503416
}

0 commit comments

Comments
 (0)