|
14 | 14 | import org.opensearch.client.ResponseException;
|
15 | 15 | import org.opensearch.test.rest.OpenSearchRestTestCase;
|
16 | 16 |
|
| 17 | +import java.io.IOException; |
| 18 | + |
17 | 19 | public class WorkloadManagementRestIT extends OpenSearchRestTestCase {
|
18 | 20 |
|
19 | 21 | public void testCreate() throws Exception {
|
20 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
21 |
| - request.setJsonEntity(getCreateJson("analytics", "enforced", 0.4, 0.2)); |
22 |
| - Response response = client().performRequest(request); |
| 22 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics", "enforced", 0.4, 0.2)); |
23 | 23 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
24 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/analytics")); |
| 24 | + performOperation("DELETE", "_wlm/query_group/analytics", null); |
25 | 25 | }
|
26 | 26 |
|
27 | 27 | public void testMultipleCreate() throws Exception {
|
28 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
29 |
| - request.setJsonEntity(getCreateJson("analytics2", "enforced", 0.4, 0.2)); |
30 |
| - Response response = client().performRequest(request); |
| 28 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics2", "enforced", 0.4, 0.2)); |
31 | 29 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
32 | 30 |
|
33 |
| - Request request2 = new Request("PUT", "_wlm/query_group"); |
34 |
| - request2.setJsonEntity(getCreateJson("users", "soft", 0.2, 0.1)); |
35 |
| - Response response2 = client().performRequest(request2); |
| 31 | + Response response2 = performOperation("PUT", "_wlm/query_group", getCreateJson("users", "soft", 0.2, 0.1)); |
36 | 32 | assertEquals(response2.getStatusLine().getStatusCode(), 200);
|
37 | 33 |
|
38 |
| - Request request3 = new Request("PUT", "_wlm/query_group"); |
39 |
| - request3.setJsonEntity(getCreateJson("users2", "soft", 0.41, 0.71)); |
40 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request3)); |
41 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/analytics2")); |
42 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/users")); |
| 34 | + assertThrows( |
| 35 | + ResponseException.class, |
| 36 | + () -> performOperation("PUT", "_wlm/query_group", getCreateJson("users2", "soft", 0.41, 0.71)) |
| 37 | + ); |
| 38 | + performOperation("DELETE", "_wlm/query_group/analytics2", null); |
| 39 | + performOperation("DELETE", "_wlm/query_group/users", null); |
43 | 40 | }
|
44 | 41 |
|
45 | 42 | public void testGet() throws Exception {
|
46 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
47 |
| - request.setJsonEntity(getCreateJson("analytics3", "enforced", 0.4, 0.2)); |
48 |
| - Response response = client().performRequest(request); |
| 43 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics3", "enforced", 0.4, 0.2)); |
49 | 44 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
50 | 45 |
|
51 |
| - Request request2 = new Request("GET", "_wlm/query_group/analytics3"); |
52 |
| - Response response2 = client().performRequest(request2); |
| 46 | + Response response2 = performOperation("GET", "_wlm/query_group/analytics3", null); |
53 | 47 | assertEquals(response2.getStatusLine().getStatusCode(), 200);
|
54 | 48 | String responseBody2 = EntityUtils.toString(response2.getEntity());
|
55 | 49 | assertTrue(responseBody2.contains("\"name\":\"analytics3\""));
|
56 | 50 | assertTrue(responseBody2.contains("\"resiliency_mode\":\"enforced\""));
|
57 | 51 | assertTrue(responseBody2.contains("\"cpu\":0.4"));
|
58 | 52 | assertTrue(responseBody2.contains("\"memory\":0.2"));
|
59 | 53 |
|
60 |
| - Request request3 = new Request("GET", "_wlm/query_group/analytics97"); |
61 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request3)); |
62 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/analytics3")); |
| 54 | + assertThrows(ResponseException.class, () -> performOperation("GET", "_wlm/query_group/analytics97", null)); |
| 55 | + performOperation("DELETE", "_wlm/query_group/analytics3", null); |
63 | 56 | }
|
64 | 57 |
|
65 | 58 | public void testDelete() throws Exception {
|
66 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
67 |
| - request.setJsonEntity(getCreateJson("analytics4", "enforced", 0.4, 0.2)); |
68 |
| - Response response = client().performRequest(request); |
| 59 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics4", "enforced", 0.4, 0.2)); |
69 | 60 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
70 | 61 |
|
71 |
| - Request request2 = new Request("DELETE", "_wlm/query_group/analytics4"); |
72 |
| - Response response2 = client().performRequest(request2); |
| 62 | + Response response2 = performOperation("DELETE", "_wlm/query_group/analytics4", null); |
73 | 63 | assertEquals(response2.getStatusLine().getStatusCode(), 200);
|
74 |
| - String responseBody2 = EntityUtils.toString(response2.getEntity()); |
75 |
| - assertTrue(responseBody2.contains("\"acknowledged\":true")); |
| 64 | + assertTrue(EntityUtils.toString(response2.getEntity()).contains("\"acknowledged\":true")); |
76 | 65 |
|
77 |
| - Request request3 = new Request("DELETE", "_wlm/query_group/analytics99"); |
78 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request3)); |
| 66 | + assertThrows(ResponseException.class, () -> performOperation("DELETE", "_wlm/query_group/analytics99", null)); |
79 | 67 | }
|
80 | 68 |
|
81 | 69 | public void testUpdate() throws Exception {
|
82 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
83 |
| - request.setJsonEntity(getCreateJson("analytics5", "enforced", 0.4, 0.2)); |
84 |
| - Response response = client().performRequest(request); |
| 70 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics5", "enforced", 0.4, 0.2)); |
85 | 71 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
86 | 72 |
|
87 |
| - Request request2 = new Request("PUT", "_wlm/query_group/analytics5"); |
88 |
| - request2.setJsonEntity(getUpdateJson("monitor", 0.41, 0.21)); |
89 |
| - Response response2 = client().performRequest(request2); |
| 73 | + Response response2 = performOperation("PUT", "_wlm/query_group/analytics5", getUpdateJson("monitor", 0.41, 0.21)); |
90 | 74 | assertEquals(response2.getStatusLine().getStatusCode(), 200);
|
91 | 75 | String responseBody2 = EntityUtils.toString(response2.getEntity());
|
92 | 76 | assertTrue(responseBody2.contains("\"name\":\"analytics5\""));
|
93 | 77 | assertTrue(responseBody2.contains("\"resiliency_mode\":\"monitor\""));
|
94 | 78 | assertTrue(responseBody2.contains("\"cpu\":0.41"));
|
95 | 79 | assertTrue(responseBody2.contains("\"memory\":0.21"));
|
96 | 80 |
|
97 |
| - Request request3 = new Request("PUT", "_wlm/query_group/analytics5"); |
98 |
| - request3.setJsonEntity( |
99 |
| - "{\n" + " \"resource_limits\": {\n" + " \"cpu\" : 1.1,\n" + " \"memory\" : -0.1\n" + " }\n" + "}'" |
| 81 | + String json = "{\n" |
| 82 | + + " \"resource_limits\": {\n" |
| 83 | + + " \"cpu\" : 1.1,\n" |
| 84 | + + " \"memory\" : -0.1\n" |
| 85 | + + " }\n" |
| 86 | + + "}'"; |
| 87 | + assertThrows(ResponseException.class, () -> performOperation("PUT", "_wlm/query_group/analytics5", json)); |
| 88 | + assertThrows( |
| 89 | + ResponseException.class, |
| 90 | + () -> performOperation("PUT", "_wlm/query_group/analytics98", getUpdateJson("monitor", 0.43, 0.23)) |
100 | 91 | );
|
101 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request3)); |
102 |
| - |
103 |
| - Request request4 = new Request("PUT", "_wlm/query_group/analytics98"); |
104 |
| - request4.setJsonEntity(getUpdateJson("monitor", 0.43, 0.23)); |
105 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request4)); |
106 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/analytics5")); |
| 92 | + performOperation("DELETE", "_wlm/query_group/analytics5", null); |
107 | 93 | }
|
108 | 94 |
|
109 | 95 | public void testCRUD() throws Exception {
|
110 |
| - Request request = new Request("PUT", "_wlm/query_group"); |
111 |
| - request.setJsonEntity(getCreateJson("analytics6", "enforced", 0.4, 0.2)); |
112 |
| - Response response = client().performRequest(request); |
| 96 | + Response response = performOperation("PUT", "_wlm/query_group", getCreateJson("analytics6", "enforced", 0.4, 0.2)); |
113 | 97 | assertEquals(response.getStatusLine().getStatusCode(), 200);
|
114 | 98 |
|
115 |
| - Request request1 = new Request("PUT", "_wlm/query_group/analytics6"); |
116 |
| - request1.setJsonEntity(getUpdateJson("monitor", 0.41, 0.21)); |
117 |
| - Response response1 = client().performRequest(request1); |
| 99 | + Response response1 = performOperation("PUT", "_wlm/query_group/analytics6", getUpdateJson("monitor", 0.41, 0.21)); |
118 | 100 | assertEquals(response1.getStatusLine().getStatusCode(), 200);
|
119 | 101 |
|
120 |
| - Request request2 = new Request("GET", "_wlm/query_group/analytics6"); |
121 |
| - Response response2 = client().performRequest(request2); |
| 102 | + Response response2 = performOperation("GET", "_wlm/query_group/analytics6", null); |
122 | 103 | assertEquals(response2.getStatusLine().getStatusCode(), 200);
|
123 | 104 | String responseBody2 = EntityUtils.toString(response2.getEntity());
|
124 | 105 | assertTrue(responseBody2.contains("\"name\":\"analytics6\""));
|
125 | 106 | assertTrue(responseBody2.contains("\"resiliency_mode\":\"monitor\""));
|
126 | 107 | assertTrue(responseBody2.contains("\"cpu\":0.41"));
|
127 | 108 | assertTrue(responseBody2.contains("\"memory\":0.21"));
|
128 | 109 |
|
129 |
| - Request request3 = new Request("PUT", "_wlm/query_group"); |
130 |
| - request3.setJsonEntity(getCreateJson("users3", "monitor", 0.6, 0.8)); |
131 |
| - assertThrows(ResponseException.class, () -> client().performRequest(request3)); |
| 110 | + assertThrows( |
| 111 | + ResponseException.class, |
| 112 | + () -> performOperation("PUT", "_wlm/query_group", getCreateJson("users3", "monitor", 0.6, 0.8)) |
| 113 | + ); |
132 | 114 |
|
133 |
| - Request request4 = new Request("PUT", "_wlm/query_group"); |
134 |
| - request4.setJsonEntity(getCreateJson("users3", "monitor", 0.59, 0.79)); |
135 |
| - Response response4 = client().performRequest(request4); |
| 115 | + Response response4 = performOperation("PUT", "_wlm/query_group", getCreateJson("users3", "monitor", 0.59, 0.79)); |
136 | 116 | assertEquals(response4.getStatusLine().getStatusCode(), 200);
|
137 | 117 |
|
138 |
| - Request request5 = new Request("DELETE", "_wlm/query_group/analytics6"); |
139 |
| - Response response5 = client().performRequest(request5); |
| 118 | + Response response5 = performOperation("DELETE", "_wlm/query_group/analytics6", null); |
140 | 119 | assertEquals(response5.getStatusLine().getStatusCode(), 200);
|
141 | 120 | String responseBody5 = EntityUtils.toString(response5.getEntity());
|
142 | 121 | assertTrue(responseBody5.contains("\"acknowledged\":true"));
|
143 | 122 |
|
144 |
| - Request request6 = new Request("GET", "_wlm/query_group/"); |
145 |
| - Response response6 = client().performRequest(request6); |
| 123 | + Response response6 = performOperation("GET", "_wlm/query_group", null); |
146 | 124 | assertEquals(response6.getStatusLine().getStatusCode(), 200);
|
147 | 125 | String responseBody6 = EntityUtils.toString(response6.getEntity());
|
148 | 126 | assertTrue(responseBody6.contains("\"query_groups\""));
|
149 | 127 | assertTrue(responseBody6.contains("\"users3\""));
|
150 | 128 | assertFalse(responseBody6.contains("\"analytics6\""));
|
151 |
| - client().performRequest(new Request("DELETE", "_wlm/query_group/users3")); |
| 129 | + performOperation("DELETE", "_wlm/query_group/users3", null); |
152 | 130 | }
|
153 | 131 |
|
154 | 132 | static String getCreateJson(String name, String resiliencyMode, double cpu, double memory) {
|
@@ -185,4 +163,12 @@ static String getUpdateJson(String resiliencyMode, double cpu, double memory) {
|
185 | 163 | + " }\n"
|
186 | 164 | + "}";
|
187 | 165 | }
|
| 166 | + |
| 167 | + Response performOperation(String method, String uriPath, String json) throws IOException { |
| 168 | + Request request = new Request(method, uriPath); |
| 169 | + if (json != null) { |
| 170 | + request.setJsonEntity(json); |
| 171 | + } |
| 172 | + return client().performRequest(request); |
| 173 | + } |
188 | 174 | }
|
0 commit comments