Skip to content

Commit baa30b0

Browse files
author
Lingxi Chen
committed
yaml tests
1 parent ad612da commit baa30b0

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"wlm_stats_list": {
3+
"stability": "experimental",
4+
"url": {
5+
"paths": [
6+
{
7+
"path": "/_list/wlm_stats",
8+
"methods": ["GET"]
9+
}
10+
]
11+
},
12+
"params": {
13+
"size": {
14+
"type": "int",
15+
"required": false,
16+
"description": "Number of results per page"
17+
},
18+
"next_token": {
19+
"type": "string",
20+
"required": false,
21+
"description": "Pagination token for next page"
22+
},
23+
"sort": {
24+
"type": "string",
25+
"required": false,
26+
"description": "Sort field"
27+
},
28+
"order": {
29+
"type": "string",
30+
"required": false,
31+
"description": "Sort order (asc or desc)"
32+
}
33+
}
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
"Basic usage returns expected table header":
3+
- do:
4+
wlm_stats_list: {}
5+
- is_true: $body
6+
- match:
7+
$body: /(?s).*NODE_ID\s+\|\s+QUERY_GROUP_ID\s+\|\s+TOTAL_COMPLETIONS\s+\|\s+TOTAL_REJECTIONS\s+\|\s+TOTAL_CANCELLATIONS\s+\|\s+CPU_USAGE\s+\|\s+MEMORY_USAGE.*/
8+
9+
---
10+
"Custom size param still returns headers":
11+
- do:
12+
wlm_stats_list:
13+
size: 1
14+
- is_true: $body
15+
- match:
16+
$body: /TOTAL_REJECTIONS/
17+
18+
---
19+
"Sort by node_id asc does not error":
20+
- do:
21+
wlm_stats_list:
22+
sort: node_id
23+
order: asc
24+
- is_true: $body
25+
- match:
26+
$body: /NODE_ID/
27+
28+
---
29+
"Sort by query_group_id desc does not error":
30+
- do:
31+
wlm_stats_list:
32+
sort: query_group_id
33+
order: desc
34+
- is_true: $body
35+
- match:
36+
$body: /QUERY_GROUP_ID/
37+
38+
---
39+
"Invalid sort field returns error":
40+
- do:
41+
catch: bad_request
42+
wlm_stats_list:
43+
sort: memory_usage
44+
order: desc
45+
- match:
46+
error.reason: "Invalid value for 'sort'. Allowed: 'node_id', 'query_group_id'."
47+
48+
---
49+
"Invalid sort order returns error":
50+
- do:
51+
catch: bad_request
52+
wlm_stats_list:
53+
order: upside_down
54+
- match:
55+
error.reason: "Invalid value for 'order'. Allowed: 'asc', 'desc'."

server/src/main/java/org/opensearch/rest/action/admin/cluster/RestWlmStatsAction.java

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient cli
7575
throw new IllegalArgumentException("Invalid value for 'order'. Allowed: 'asc', 'desc'.");
7676
}
7777

78+
if (!sortBy.equals("node_id") && !sortBy.equals("query_group")) {
79+
throw new IllegalArgumentException("Invalid value for 'sort'. Allowed: 'node_id', 'query_group_id'.");
80+
}
81+
7882
boolean isTabular = request.rawPath().contains("_list/wlm_stats");
7983

8084
if (isTabular) {

0 commit comments

Comments
 (0)