use of org.kie.kogito.persistence.api.query.Query in project kogito-apps by kiegroup.
the class ExplainerServiceHandlerRegistryTest method testCounterfactual_getExplainabilityResultByIdWithOnlyIntermediateResults.
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void testCounterfactual_getExplainabilityResultByIdWithOnlyIntermediateResults() {
Query query = mock(Query.class);
CounterfactualExplainabilityResult result = mock(CounterfactualExplainabilityResult.class);
when(result.getStage()).thenReturn(CounterfactualExplainabilityResult.Stage.INTERMEDIATE);
when(storageCounterfactual.containsKey(eq(EXECUTION_ID))).thenReturn(true);
when(storageCounterfactual.query()).thenReturn(query);
when(query.filter(any())).thenReturn(query);
when(query.execute()).thenReturn(List.of(result));
assertThrows(IllegalArgumentException.class, () -> registry.getExplainabilityResultById(EXECUTION_ID, CounterfactualExplainabilityResult.class));
}
use of org.kie.kogito.persistence.api.query.Query in project kogito-apps by kiegroup.
the class ExplainerServiceHandlerRegistryTest method testCounterfactual_getExplainabilityResultByIdWithAllResults.
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void testCounterfactual_getExplainabilityResultByIdWithAllResults() {
Query query = mock(Query.class);
CounterfactualExplainabilityResult result1 = mock(CounterfactualExplainabilityResult.class);
CounterfactualExplainabilityResult result2 = mock(CounterfactualExplainabilityResult.class);
when(result1.getStage()).thenReturn(CounterfactualExplainabilityResult.Stage.INTERMEDIATE);
when(result2.getStage()).thenReturn(CounterfactualExplainabilityResult.Stage.FINAL);
when(storageCounterfactual.containsKey(eq(EXECUTION_ID))).thenReturn(true);
when(storageCounterfactual.query()).thenReturn(query);
when(query.filter(any())).thenReturn(query);
when(query.execute()).thenReturn(List.of(result1, result2));
CounterfactualExplainabilityResult actual = registry.getExplainabilityResultById(EXECUTION_ID, CounterfactualExplainabilityResult.class);
verify(counterfactualExplainerServiceHandler).getExplainabilityResultById(eq(EXECUTION_ID));
assertEquals(result2, actual);
}
use of org.kie.kogito.persistence.api.query.Query in project kogito-apps by kiegroup.
the class TrustyServiceTest method givenNoStoredCounterfactualRequestWhenGetCounterfactualRequestThenIllegalArgumentExceptionIsThrown.
@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
void givenNoStoredCounterfactualRequestWhenGetCounterfactualRequestThenIllegalArgumentExceptionIsThrown() {
Storage<String, CounterfactualExplainabilityRequest> counterfactualStorage = mock(Storage.class);
Query queryMock = mock(Query.class);
when(queryMock.filter(any(List.class))).thenReturn(queryMock);
when(queryMock.execute()).thenReturn(new ArrayList<>());
when(counterfactualStorage.query()).thenReturn(queryMock);
when(trustyStorageServiceMock.getCounterfactualRequestStorage()).thenReturn(counterfactualStorage);
assertThrows(IllegalArgumentException.class, () -> trustyService.getCounterfactualRequest(TEST_EXECUTION_ID, TEST_COUNTERFACTUAL_ID));
}
use of org.kie.kogito.persistence.api.query.Query in project kogito-apps by kiegroup.
the class TrustyServiceTest method givenSingleStoredCounterfactualRequestWhenGetCounterfactualRequestThenRequestIsReturned.
@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
void givenSingleStoredCounterfactualRequestWhenGetCounterfactualRequestThenRequestIsReturned() {
Storage<String, CounterfactualExplainabilityRequest> counterfactualStorage = mock(Storage.class);
CounterfactualExplainabilityRequest request = mock(CounterfactualExplainabilityRequest.class);
Query queryMock = mock(Query.class);
when(queryMock.filter(any(List.class))).thenReturn(queryMock);
when(queryMock.execute()).thenReturn(List.of(request));
when(counterfactualStorage.query()).thenReturn(queryMock);
when(trustyStorageServiceMock.getCounterfactualRequestStorage()).thenReturn(counterfactualStorage);
assertEquals(request, trustyService.getCounterfactualRequest(TEST_EXECUTION_ID, TEST_COUNTERFACTUAL_ID));
}
use of org.kie.kogito.persistence.api.query.Query in project kogito-apps by kiegroup.
the class TrustyServiceTest method givenStoredCounterfactualResultsWhenGetCounterfactualResultsThenResultsAreReturned.
@Test
@SuppressWarnings({ "unchecked", "rawtypes" })
void givenStoredCounterfactualResultsWhenGetCounterfactualResultsThenResultsAreReturned() {
Storage<String, CounterfactualExplainabilityResult> counterfactualStorage = mock(Storage.class);
CounterfactualExplainabilityResult result1 = mock(CounterfactualExplainabilityResult.class);
CounterfactualExplainabilityResult result2 = mock(CounterfactualExplainabilityResult.class);
Query queryMock = mock(Query.class);
when(queryMock.filter(any(List.class))).thenReturn(queryMock);
when(queryMock.execute()).thenReturn(List.of(result1, result2));
when(counterfactualStorage.query()).thenReturn(queryMock);
when(trustyStorageServiceMock.getCounterfactualResultStorage()).thenReturn(counterfactualStorage);
assertTrue(trustyService.getCounterfactualResults(TEST_EXECUTION_ID, TEST_COUNTERFACTUAL_ID).containsAll(List.of(result1, result2)));
}
Aggregations