@Test
public void testGetProcessInstancesByCorrelationKeySortedById() throws Exception {
CorrelationKeyFactory correlationKeyFactory = KieInternalServices.Factory.get().newCorrelationKeyFactory();
String firstBusinessKey = "my-simple-key-first";
String secondBusinessKey = "my-simple-key-second";
CorrelationKey firstKey = correlationKeyFactory.newCorrelationKey(firstBusinessKey);
CorrelationKey secondKey = correlationKeyFactory.newCorrelationKey(secondBusinessKey);
CorrelationKey partKey = correlationKeyFactory.newCorrelationKey("my-simple%");
Long processInstanceEvalutionId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_EVALUATION, firstKey);
Long processInstanceSignalId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_SIGNAL_PROCESS, secondKey);
try {
List<ProcessInstance> returnedProcessInstances = queryClient.findProcessInstancesByCorrelationKey(partKey, 0, 100, SORT_BY_INSTANCE_PROCESS_ID, false);
assertNotNull(returnedProcessInstances);
assertProcessInstancesOrderById(returnedProcessInstances, false);
ProcessInstance returnedSignalProcess = findProcessInstance(returnedProcessInstances, processInstanceSignalId);
assertEquals(PROCESS_ID_SIGNAL_PROCESS, returnedSignalProcess.getProcessId());
assertEquals(processInstanceSignalId, returnedSignalProcess.getId());
assertEquals(secondBusinessKey, returnedSignalProcess.getCorrelationKey());
ProcessInstance returnedEvaluation = findProcessInstance(returnedProcessInstances, processInstanceEvalutionId);
assertEquals(PROCESS_ID_EVALUATION, returnedEvaluation.getProcessId());
assertEquals(processInstanceEvalutionId, returnedEvaluation.getId());
assertEquals(firstBusinessKey, returnedEvaluation.getCorrelationKey());
} finally {
processClient.abortProcessInstance(CONTAINER_ID, processInstanceEvalutionId);
processClient.abortProcessInstance(CONTAINER_ID, processInstanceSignalId);
}
}