Skip to content

Commit

Permalink
chore(merge): release-10.2.0 into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
bonita-ci committed Jul 2, 2024
2 parents c7b7bf2 + 26d4bc0 commit 029383a
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,34 +32,30 @@ public PrintTestsStatusRule(Logger logger) {

@Override
public void starting(final Description d) {
logger.warn("Starting test: " + d.getClassName() + "." + d.getMethodName());
logger.warn("Starting test: {}.{}", d.getClassName(), d.getMethodName());
}

@Override
public void failed(final Throwable e, final Description d) {
logger.warn("Failed test: " + d.getClassName() + "." + d.getMethodName(), e);
logger.warn("Failed test: {}.{}", d.getClassName(), d.getMethodName(), e);
try {
clean();
} catch (final Exception be) {
logger.error("unable to clean db", be);
} finally {
logger.warn(
"-----------------------------------------------------------------------------------------------");
logger.warn("------------------------------------------------------");
}
}

@Override
public void succeeded(final Description d) {
logger.warn("Succeeded test: {}.{}", d.getClassName(), d.getMethodName());
try {
try {
clean();
} catch (final Exception e) {
throw new BonitaRuntimeException(e);
}
logger.warn("Succeeded test: " + d.getClassName() + "." + d.getMethodName());
clean();
} catch (final Exception e) {
throw new BonitaRuntimeException(e);
} finally {
logger.warn(
"-----------------------------------------------------------------------------------------------");
logger.warn("------------------------------------------------------");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ protected void checkNumberOfWaitingEvents(final String errorMessage, final Strin
final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(0, 10);
searchOptionsBuilder.filter(WaitingEventSearchDescriptor.FLOW_NODE_NAME, flowNodeName);

final Map<String, Serializable> parameters = new HashMap<String, Serializable>(1);
final Map<String, Serializable> parameters = new HashMap<>(1);
parameters.put(SEARCH_OPTIONS_KEY, searchOptionsBuilder.done());

@SuppressWarnings("unchecked")
Expand All @@ -55,7 +55,7 @@ protected void checkNumberOfWaitingEvents(final String flowNodeName, final int e
final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(0, 10);
searchOptionsBuilder.filter(WaitingEventSearchDescriptor.FLOW_NODE_NAME, flowNodeName);

final Map<String, Serializable> parameters = new HashMap<String, Serializable>(1);
final Map<String, Serializable> parameters = new HashMap<>(1);
parameters.put(SEARCH_OPTIONS_KEY, searchOptionsBuilder.done());

@SuppressWarnings("unchecked")
Expand All @@ -69,7 +69,7 @@ protected void checkNumberOfWaitingEventsInProcess(final String processName, fin
final SearchOptionsBuilder searchOptionsBuilder = new SearchOptionsBuilder(0, 10);
searchOptionsBuilder.filter(WaitingEventSearchDescriptor.PROCESS_NAME, processName);

final Map<String, Serializable> parameters = new HashMap<String, Serializable>(1);
final Map<String, Serializable> parameters = new HashMap<>(1);
parameters.put(SEARCH_OPTIONS_KEY, searchOptionsBuilder.done());

@SuppressWarnings("unchecked")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@
import org.bonitasoft.engine.bpm.data.DataInstance;
import org.bonitasoft.engine.bpm.data.DataNotFoundException;
import org.bonitasoft.engine.bpm.flownode.ActivityInstance;
import org.bonitasoft.engine.bpm.flownode.ActivityInstanceCriterion;
import org.bonitasoft.engine.bpm.flownode.ActivityInstanceSearchDescriptor;
import org.bonitasoft.engine.bpm.flownode.FlowNodeInstance;
import org.bonitasoft.engine.bpm.flownode.FlowNodeType;
import org.bonitasoft.engine.bpm.flownode.HumanTaskInstance;
import org.bonitasoft.engine.bpm.process.ProcessDefinition;
import org.bonitasoft.engine.bpm.process.ProcessInstance;
import org.bonitasoft.engine.bpm.process.ProcessInstanceSearchDescriptor;
Expand All @@ -38,7 +40,6 @@
import org.bonitasoft.engine.expression.ExpressionBuilder;
import org.bonitasoft.engine.operation.OperationBuilder;
import org.bonitasoft.engine.search.SearchOptionsBuilder;
import org.bonitasoft.engine.search.SearchResult;
import org.bonitasoft.engine.test.TestStates;
import org.junit.Test;

Expand Down Expand Up @@ -104,7 +105,7 @@ public void messageEventSubProcessTransmitData() throws Exception {
.filter(ActivityInstanceSearchDescriptor.ACTIVITY_TYPE, FlowNodeType.SUB_PROCESS)
.filter(ProcessSupervisorSearchDescriptor.USER_ID, user.getId()).done());

final SearchResult<ActivityInstance> searchActivities = getProcessAPI().searchActivities(
getProcessAPI().searchActivities(
new SearchOptionsBuilder(0, 10)
.filter(ActivityInstanceSearchDescriptor.PROCESS_INSTANCE_ID, receiveProcessInstance.getId())
.filter(ActivityInstanceSearchDescriptor.ACTIVITY_TYPE, FlowNodeType.SUB_PROCESS).done());
Expand Down Expand Up @@ -191,14 +192,14 @@ public void messageEventSubProcessTriggeredWithIntermediateThrowEvent() throws E
ACTOR_NAME, user);

// Start and execute the Sender process
final ProcessInstance processInstance = getProcessAPI().startProcess(senderProcessDefinition.getId());
final long step1Id = waitForUserTask(processInstance, PARENT_PROCESS_USER_TASK_NAME);
final ProcessInstance senderProcessInstance = getProcessAPI().startProcess(senderProcessDefinition.getId());
final long step1Id = waitForUserTask(senderProcessInstance, PARENT_PROCESS_USER_TASK_NAME);
waitForPendingTasks(user.getId(), 2);
checkNumberOfWaitingEventsInProcess(receiverProcessName, 2);
assignAndExecuteStep(step1Id, user);
waitForProcessToFinish(processInstance);
waitForProcessToFinish(senderProcessInstance);
checkNumberOfWaitingEvents(
"The parent process instance is supposed to finished, so no more waiting events are expected.",
"The parent process instance is supposed to be finished, so no more waiting events are expected.",
startName, 1);

// Execute the Receiver process
Expand All @@ -207,11 +208,40 @@ public void messageEventSubProcessTriggeredWithIntermediateThrowEvent() throws E
final ProcessInstance receiverProcessInstance = getProcessAPI()
.searchOpenProcessInstances(searchOptionsBuilder.done()).getResult().get(0);
waitForUserTask(receiverProcessInstance.getId(), SUB_PROCESS_USER_TASK_NAME);
assertEquals(1, getProcessAPI().getNumberOfPendingHumanTaskInstances(user.getId()));
try {
assertEquals(1, getProcessAPI().getNumberOfPendingHumanTaskInstances(user.getId()));
} finally {
/*
* SELECT a
* FROM org.bonitasoft.engine.core.process.instance.model.SHumanTaskInstance AS a
* WHERE a.stable = TRUE
* AND a.stateExecuting = FALSE
* AND a.terminal = FALSE
* AND a.assigneeId = 0
* AND EXISTS (SELECT mapping.id
* FROM org.bonitasoft.engine.core.process.instance.model.SPendingActivityMapping AS mapping
* WHERE mapping.activityId=a.id
* AND ( mapping.userId = :userId
* OR mapping.actorId in (:actorIds)))
*/
var pendingHumanTaskInstances = getProcessAPI().getPendingHumanTaskInstances(user.getId(), 0, 10,
ActivityInstanceCriterion.DEFAULT);
System.err.println("Too many humanTaskInstances found: " + pendingHumanTaskInstances.size());
for (HumanTaskInstance humanTaskInstance : pendingHumanTaskInstances) {
System.err.println("humanTaskInstance = " + humanTaskInstance);
}
Thread.sleep(10_000);
pendingHumanTaskInstances = getProcessAPI().getPendingHumanTaskInstances(user.getId(), 0, 10,
ActivityInstanceCriterion.DEFAULT);
if (pendingHumanTaskInstances.size() == 1) {
System.err.println("Waiting longer solved the problem!");
}

// Clean-up
disableAndDeleteProcess(senderProcessDefinition.getId());
disableAndDeleteProcess(receiverProcessDefinition.getId());
}

// Clean-up
disableAndDeleteProcess(senderProcessDefinition.getId());
disableAndDeleteProcess(receiverProcessDefinition.getId());
}

@Test
Expand Down

0 comments on commit 029383a

Please sign in to comment.