Skip to content

Commit ff9a93e

Browse files
committed
add UT coverage
Signed-off-by: Ruirui Zhang <[email protected]>
1 parent ebb2397 commit ff9a93e

File tree

2 files changed

+54
-2
lines changed

2 files changed

+54
-2
lines changed

plugins/workload-management/src/test/java/org/opensearch/plugin/wlm/action/CreateQueryGroupResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
public class CreateQueryGroupResponseTests extends OpenSearchTestCase {
2828

2929
/**
30-
* Test case to verify the serialization and deserialization of CreateQueryGroupResponse.
30+
* Test case to verify serialization and deserialization of CreateQueryGroupResponse.
3131
*/
3232
public void testSerialization() throws IOException {
3333
CreateQueryGroupResponse response = new CreateQueryGroupResponse(QueryGroupTestUtils.queryGroupOne, RestStatus.OK);

plugins/workload-management/src/test/java/org/opensearch/plugin/wlm/rest/RestDeleteQueryGroupActionTests.java

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,34 @@
88

99
package org.opensearch.plugin.wlm.rest;
1010

11+
import org.opensearch.action.support.master.AcknowledgedResponse;
12+
import org.opensearch.client.node.NodeClient;
13+
import org.opensearch.common.CheckedConsumer;
14+
import org.opensearch.common.unit.TimeValue;
15+
import org.opensearch.plugin.wlm.action.DeleteQueryGroupAction;
16+
import org.opensearch.plugin.wlm.action.DeleteQueryGroupRequest;
17+
import org.opensearch.rest.RestChannel;
1118
import org.opensearch.rest.RestHandler;
19+
import org.opensearch.rest.RestRequest;
20+
import org.opensearch.rest.action.RestToXContentListener;
1221
import org.opensearch.test.OpenSearchTestCase;
22+
import org.opensearch.test.rest.FakeRestRequest;
1323

1424
import java.util.List;
1525

26+
import org.mockito.ArgumentCaptor;
27+
28+
import static org.opensearch.plugin.wlm.QueryGroupTestUtils.NAME_ONE;
1629
import static org.opensearch.rest.RestRequest.Method.DELETE;
30+
import static org.mockito.ArgumentMatchers.any;
31+
import static org.mockito.ArgumentMatchers.eq;
32+
import static org.mockito.Mockito.doNothing;
33+
import static org.mockito.Mockito.doReturn;
34+
import static org.mockito.Mockito.mock;
35+
import static org.mockito.Mockito.spy;
36+
import static org.mockito.Mockito.verify;
1737

1838
public class RestDeleteQueryGroupActionTests extends OpenSearchTestCase {
19-
2039
/**
2140
* Test case to validate the construction for RestDeleteQueryGroupAction
2241
*/
@@ -30,4 +49,37 @@ public void testConstruction() {
3049
assertEquals(DELETE, route.getMethod());
3150
assertEquals("_wlm/query_group/{name}", route.getPath());
3251
}
52+
53+
/**
54+
* Test case to validate the prepareRequest logic for RestDeleteQueryGroupAction
55+
*/
56+
@SuppressWarnings("unchecked")
57+
public void testPrepareRequest() throws Exception {
58+
RestDeleteQueryGroupAction restDeleteQueryGroupAction = new RestDeleteQueryGroupAction();
59+
NodeClient nodeClient = mock(NodeClient.class);
60+
RestRequest realRequest = new FakeRestRequest();
61+
realRequest.params().put("name", NAME_ONE);
62+
;
63+
RestRequest spyRequest = spy(realRequest);
64+
65+
doReturn(TimeValue.timeValueSeconds(30)).when(spyRequest).paramAsTime(eq("cluster_manager_timeout"), any(TimeValue.class));
66+
doReturn(TimeValue.timeValueSeconds(60)).when(spyRequest).paramAsTime(eq("timeout"), any(TimeValue.class));
67+
68+
CheckedConsumer<RestChannel, Exception> consumer = restDeleteQueryGroupAction.prepareRequest(spyRequest, nodeClient);
69+
assertNotNull(consumer);
70+
ArgumentCaptor<DeleteQueryGroupRequest> requestCaptor = ArgumentCaptor.forClass(DeleteQueryGroupRequest.class);
71+
ArgumentCaptor<RestToXContentListener<AcknowledgedResponse>> listenerCaptor = ArgumentCaptor.forClass(RestToXContentListener.class);
72+
doNothing().when(nodeClient).execute(eq(DeleteQueryGroupAction.INSTANCE), requestCaptor.capture(), listenerCaptor.capture());
73+
74+
consumer.accept(mock(RestChannel.class));
75+
DeleteQueryGroupRequest capturedRequest = requestCaptor.getValue();
76+
assertEquals(NAME_ONE, capturedRequest.getName());
77+
assertEquals(TimeValue.timeValueSeconds(30), capturedRequest.clusterManagerNodeTimeout());
78+
assertEquals(TimeValue.timeValueSeconds(60), capturedRequest.timeout());
79+
verify(nodeClient).execute(
80+
eq(DeleteQueryGroupAction.INSTANCE),
81+
any(DeleteQueryGroupRequest.class),
82+
any(RestToXContentListener.class)
83+
);
84+
}
3385
}

0 commit comments

Comments
 (0)