Search in sources :

Example 11 with Query

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));
}
Also used : Query(org.kie.kogito.persistence.api.query.Query) CounterfactualExplainabilityResult(org.kie.kogito.explainability.api.CounterfactualExplainabilityResult) Test(org.junit.jupiter.api.Test)

Example 12 with Query

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);
}
Also used : Query(org.kie.kogito.persistence.api.query.Query) CounterfactualExplainabilityResult(org.kie.kogito.explainability.api.CounterfactualExplainabilityResult) Test(org.junit.jupiter.api.Test)

Example 13 with Query

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));
}
Also used : CounterfactualExplainabilityRequest(org.kie.kogito.explainability.api.CounterfactualExplainabilityRequest) Query(org.kie.kogito.persistence.api.query.Query) List(java.util.List) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.jupiter.api.Test)

Example 14 with Query

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));
}
Also used : CounterfactualExplainabilityRequest(org.kie.kogito.explainability.api.CounterfactualExplainabilityRequest) Query(org.kie.kogito.persistence.api.query.Query) List(java.util.List) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.jupiter.api.Test)

Example 15 with Query

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)));
}
Also used : Query(org.kie.kogito.persistence.api.query.Query) List(java.util.List) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) CounterfactualExplainabilityResult(org.kie.kogito.explainability.api.CounterfactualExplainabilityResult) Test(org.junit.jupiter.api.Test)

Aggregations

Query (org.kie.kogito.persistence.api.query.Query)17 List (java.util.List)14 Test (org.junit.jupiter.api.Test)12 ArrayList (java.util.ArrayList)9 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)6 CounterfactualExplainabilityResult (org.kie.kogito.explainability.api.CounterfactualExplainabilityResult)5 CounterfactualExplainabilityRequest (org.kie.kogito.explainability.api.CounterfactualExplainabilityRequest)4 Storage (org.kie.kogito.persistence.api.Storage)4 AttributeFilter (org.kie.kogito.persistence.api.query.AttributeFilter)4 AttributeSort (org.kie.kogito.persistence.api.query.AttributeSort)4 Collection (java.util.Collection)3 Collectors.toList (java.util.stream.Collectors.toList)3 MatchedExecutionHeaders (org.kie.kogito.trusty.service.common.models.MatchedExecutionHeaders)3 Logger (org.slf4j.Logger)3 LoggerFactory (org.slf4j.LoggerFactory)3 PanacheRepositoryBase (io.quarkus.hibernate.orm.panache.PanacheRepositoryBase)2 IOException (java.io.IOException)2 String.format (java.lang.String.format)2 Map (java.util.Map)2 Objects (java.util.Objects)2