Skip to content

Commit 3a14d1c

Browse files
committed
Add tests to increase coverage
Signed-off-by: Daniel Widdis <[email protected]>
1 parent 88d61f2 commit 3a14d1c

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

plugin/src/test/java/org/opensearch/ml/action/tasks/DeleteTaskTransportActionTests.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,51 @@ public void testDeleteTask_ThreadContextError() {
198198
assertEquals("thread context error", argumentCaptor.getValue().getMessage());
199199
}
200200

201+
public void testDeleteTask_NullTenantValidation() {
202+
when(mlFeatureEnabledSetting.isMultiTenancyEnabled()).thenReturn(true);
203+
MLTaskDeleteRequest request = MLTaskDeleteRequest.builder()
204+
.taskId("test_id")
205+
.tenantId(null)
206+
.build();
207+
208+
deleteTaskTransportAction.doExecute(null, request, actionListener);
209+
210+
ArgumentCaptor<Exception> argumentCaptor = ArgumentCaptor.forClass(Exception.class);
211+
verify(actionListener).onFailure(argumentCaptor.capture());
212+
assertEquals("You don't have permission to access this resource", argumentCaptor.getValue().getMessage());
213+
}
214+
215+
public void testDeleteTask_TenantMismatch() throws IOException {
216+
when(mlFeatureEnabledSetting.isMultiTenancyEnabled()).thenReturn(true);
217+
MLTaskDeleteRequest request = MLTaskDeleteRequest.builder()
218+
.taskId("test_id")
219+
.tenantId("tenant1")
220+
.build();
221+
222+
MLTask mlTask = MLTask.builder()
223+
.taskId("taskID")
224+
.state(MLTaskState.COMPLETED)
225+
.tenantId("tenant2")
226+
.build();
227+
228+
XContentBuilder content = mlTask.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS);
229+
BytesReference bytesReference = BytesReference.bytes(content);
230+
GetResult getResult = new GetResult("indexName", "111", 111L, 111L, 111L, true, bytesReference, null, null);
231+
GetResponse getResponse = new GetResponse(getResult);
232+
233+
doAnswer(invocation -> {
234+
ActionListener<GetResponse> actionListener = invocation.getArgument(1);
235+
actionListener.onResponse(getResponse);
236+
return null;
237+
}).when(client).get(any(), any());
238+
239+
deleteTaskTransportAction.doExecute(null, request, actionListener);
240+
241+
ArgumentCaptor<Exception> argumentCaptor = ArgumentCaptor.forClass(Exception.class);
242+
verify(actionListener).onFailure(argumentCaptor.capture());
243+
assertEquals("You don't have permission to access this resource", argumentCaptor.getValue().getMessage());
244+
}
245+
201246
public GetResponse prepareMLTask(MLTaskState mlTaskState) throws IOException {
202247
MLTask mlTask = MLTask.builder().taskId("taskID").state(mlTaskState).build();
203248
XContentBuilder content = mlTask.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS);

0 commit comments

Comments
 (0)