Skip to content

Commit 254cedc

Browse files
authored
Separate tests for snapshot and release versions (#115402)
1 parent b31e5c9 commit 254cedc

File tree

2 files changed

+92
-2
lines changed

2 files changed

+92
-2
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,17 @@ public enum Cap {
416416
* Fix for an optimization that caused wrong results
417417
* https://github.com/elastic/elasticsearch/issues/115281
418418
*/
419-
FIX_FILTER_PUSHDOWN_PAST_STATS;
419+
FIX_FILTER_PUSHDOWN_PAST_STATS,
420+
421+
/**
422+
* This enables 60_usage.yml "Basic ESQL usage....snapshot" version test. See also the next capability.
423+
*/
424+
SNAPSHOT_TEST_FOR_TELEMETRY(Build.current().isSnapshot()),
425+
426+
/**
427+
* This enables 60_usage.yml "Basic ESQL usage....non-snapshot" version test. See also the previous capability.
428+
*/
429+
NON_SNAPSHOT_TEST_FOR_TELEMETRY(Build.current().isSnapshot() == false);
420430

421431
private final boolean enabled;
422432

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/60_usage.yml

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,86 @@ setup:
2323
type: integer
2424

2525
---
26-
"Basic ESQL usage output (telemetry)":
26+
"Basic ESQL usage output (telemetry) snapshot version":
27+
- requires:
28+
test_runner_features: [capabilities]
29+
capabilities:
30+
- method: POST
31+
path: /_query
32+
parameters: []
33+
capabilities: [ snapshot_test_for_telemetry ]
34+
reason: "Test that should only be executed on snapshot versions"
35+
36+
- do: {xpack.usage: {}}
37+
- match: { esql.available: true }
38+
- match: { esql.enabled: true }
39+
- length: { esql.features: 15 }
40+
- set: {esql.features.dissect: dissect_counter}
41+
- set: {esql.features.drop: drop_counter}
42+
- set: {esql.features.eval: eval_counter}
43+
- set: {esql.features.enrich: enrich_counter}
44+
- set: {esql.features.from: from_counter}
45+
- set: {esql.features.grok: grok_counter}
46+
- set: {esql.features.keep: keep_counter}
47+
- set: {esql.features.limit: limit_counter}
48+
- set: {esql.features.mv_expand: mv_expand_counter}
49+
- set: {esql.features.rename: rename_counter}
50+
- set: {esql.features.row: row_counter}
51+
- set: {esql.features.show: show_counter}
52+
- set: {esql.features.sort: sort_counter}
53+
- set: {esql.features.stats: stats_counter}
54+
- set: {esql.features.where: where_counter}
55+
- length: { esql.queries: 3 }
56+
- set: {esql.queries.rest.total: rest_total_counter}
57+
- set: {esql.queries.rest.failed: rest_failed_counter}
58+
- set: {esql.queries.kibana.total: kibana_total_counter}
59+
- set: {esql.queries.kibana.failed: kibana_failed_counter}
60+
- set: {esql.queries._all.total: all_total_counter}
61+
- set: {esql.queries._all.failed: all_failed_counter}
62+
- set: {esql.functions.max: functions_max}
63+
- set: {esql.functions.min: functions_min}
64+
- set: {esql.functions.cos: functions_cos}
65+
- set: {esql.functions.to_long: functions_to_long}
66+
- set: {esql.functions.coalesce: functions_coalesce}
67+
68+
- do:
69+
esql.query:
70+
body:
71+
query: 'from test | where data > 2 and to_long(data) > 2 | sort count desc | limit 5 | stats m = max(data)'
72+
73+
- do: {xpack.usage: {}}
74+
- match: { esql.available: true }
75+
- match: { esql.enabled: true }
76+
- match: {esql.features.dissect: $dissect_counter}
77+
- match: {esql.features.eval: $eval_counter}
78+
- match: {esql.features.grok: $grok_counter}
79+
- gt: {esql.features.limit: $limit_counter}
80+
- gt: {esql.features.sort: $sort_counter}
81+
- gt: {esql.features.stats: $stats_counter}
82+
- gt: {esql.features.where: $where_counter}
83+
- gt: {esql.queries.rest.total: $rest_total_counter}
84+
- match: {esql.queries.rest.failed: $rest_failed_counter}
85+
- match: {esql.queries.kibana.total: $kibana_total_counter}
86+
- match: {esql.queries.kibana.failed: $kibana_failed_counter}
87+
- gt: {esql.queries._all.total: $all_total_counter}
88+
- match: {esql.queries._all.failed: $all_failed_counter}
89+
- gt: {esql.functions.max: $functions_max}
90+
- match: {esql.functions.min: $functions_min}
91+
- match: {esql.functions.cos: $functions_cos}
92+
- gt: {esql.functions.to_long: $functions_to_long}
93+
- match: {esql.functions.coalesce: $functions_coalesce}
94+
- length: {esql.functions: 117} # check the "sister" test below for a likely update to the same esql.functions length check
95+
96+
---
97+
"Basic ESQL usage output (telemetry) non-snapshot version":
98+
- requires:
99+
test_runner_features: [capabilities]
100+
capabilities:
101+
- method: POST
102+
path: /_query
103+
parameters: []
104+
capabilities: [ non_snapshot_test_for_telemetry ]
105+
reason: "Test that should only be executed on release versions"
27106

28107
- do: {xpack.usage: {}}
29108
- match: { esql.available: true }
@@ -83,3 +162,4 @@ setup:
83162
- match: {esql.functions.cos: $functions_cos}
84163
- gt: {esql.functions.to_long: $functions_to_long}
85164
- match: {esql.functions.coalesce: $functions_coalesce}
165+
- length: {esql.functions: 115} # check the "sister" test above for a likely update to the same esql.functions length check

0 commit comments

Comments
 (0)