use of org.activiti.api.process.model.payloads.SignalPayload in project Activiti by Activiti.
the class ProcessRuntimeBPMNSignalReceivedIT method shouldGetSignalReceivedEventWithVariables.
@Test
public void shouldGetSignalReceivedEventWithVariables() {
// given
securityUtil.logInAs("user");
// when
ProcessInstance process = processRuntime.start(ProcessPayloadBuilder.start().withProcessDefinitionKey(PROCESS_WITH_BOUNDARY_SIGNAL).withVariable("name", "peter").build());
SignalPayload signalPayload = ProcessPayloadBuilder.signal().withName("go").withVariable("signal_variable", "test").build();
processRuntime.signal(signalPayload);
// then
assertThat(listener.getSignalReceivedEvents()).isNotEmpty().hasSize(1);
BPMNSignalReceivedEvent event = listener.getSignalReceivedEvents().iterator().next();
assertThat(event.getEntity()).isNotNull();
assertThat(event.getProcessInstanceId()).isEqualTo(process.getId());
assertThat(event.getEntity().getSignalPayload()).isNotNull();
assertThat(event.getEntity().getSignalPayload().getName()).isEqualTo("go");
assertThat(event.getEntity().getSignalPayload().getVariables().size()).isEqualTo(1);
assertThat(event.getEntity().getSignalPayload().getVariables().get("signal_variable")).isEqualTo("test");
}
use of org.activiti.api.process.model.payloads.SignalPayload in project Activiti by Activiti.
the class SignalThrowCatchTest method testProcessWithIntermediateCatchEventSignal.
@Test
public void testProcessWithIntermediateCatchEventSignal() {
securityUtil.logInAs("user1");
ProcessInstance processInstance = startIntermediateCatchEventSignalProcess();
assertThat(RuntimeTestConfiguration.collectedEvents).extracting(RuntimeEvent::getEventType).containsExactly(ProcessRuntimeEvent.ProcessEvents.PROCESS_CREATED, ProcessRuntimeEvent.ProcessEvents.PROCESS_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, BPMNSequenceFlowTakenEvent.SequenceFlowEvents.SEQUENCE_FLOW_TAKEN, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED);
BPMNActivityImpl signalCatchEvent = (BPMNActivityImpl) RuntimeTestConfiguration.collectedEvents.get(5).getEntity();
assertThat(signalCatchEvent.getActivityType()).isEqualTo("intermediateCatchEvent");
clearEvents();
SignalPayload signalPayload = ProcessPayloadBuilder.signal().withName("Test").withVariable("signal_variable", "test").build();
processRuntime.signal(signalPayload);
assertThat(RuntimeTestConfiguration.collectedEvents).extracting(RuntimeEvent::getEventType).containsExactly(BPMNSignalEvent.SignalEvents.SIGNAL_RECEIVED, VariableEvent.VariableEvents.VARIABLE_CREATED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, BPMNSequenceFlowTakenEvent.SequenceFlowEvents.SEQUENCE_FLOW_TAKEN, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, ProcessRuntimeEvent.ProcessEvents.PROCESS_COMPLETED);
BPMNSignalReceivedEvent event = (BPMNSignalReceivedEvent) RuntimeTestConfiguration.collectedEvents.get(0);
assertThat(event.getEntity()).isNotNull();
assertThat(event.getProcessInstanceId()).isEqualTo(processInstance.getId());
assertThat(event.getEntity().getSignalPayload()).isNotNull();
assertThat(event.getEntity().getSignalPayload().getName()).isEqualTo(signalPayload.getName());
assertThat(event.getEntity().getSignalPayload().getVariables()).hasSize(signalPayload.getVariables().size());
assertThat(event.getEntity().getSignalPayload().getVariables().get("signal_variable")).isEqualTo("test");
}
use of org.activiti.api.process.model.payloads.SignalPayload in project Activiti by Activiti.
the class ProcessRuntimeIT method should_startProcessViaSignal.
@Test
public void should_startProcessViaSignal() {
// when
SignalPayload signalPayload = ProcessPayloadBuilder.signal().withName("The Signal").withVariable("signalVar", "from signal").build();
processRuntimeMock.signal(signalPayload);
Page<ProcessInstance> processInstancePage = processRuntimeMock.processInstances(PAGEABLE);
// then
assertThat(processInstancePage).isNotNull();
assertThat(processInstancePage.getContent()).hasSize(1);
assertThat(processInstancePage.getContent().get(0).getProcessDefinitionKey()).isEqualTo("processWithSignalStart1");
verify(eventPublisher).publishEvent(signalPayload);
// when
List<VariableInstance> variables = processRuntime.variables(ProcessPayloadBuilder.variables().withProcessInstance(processInstancePage.getContent().get(0)).build());
assertThat(variables).extracting(VariableInstance::getName, VariableInstance::getValue).containsExactly(tuple("signalVar", "from signal"));
processRuntimeMock.delete(ProcessPayloadBuilder.delete(processInstancePage.getContent().get(0).getId()));
}
use of org.activiti.api.process.model.payloads.SignalPayload in project Activiti by Activiti.
the class SignalThrowCatchTest method testProcessStartedBySignal.
@Test
public void testProcessStartedBySignal() {
securityUtil.logInAs("user1");
SignalPayload signalPayload = ProcessPayloadBuilder.signal().withName("SignalStart").withVariable("signal_variable", "test").build();
processRuntime.signal(signalPayload);
assertThat(RuntimeTestConfiguration.collectedEvents).extracting(RuntimeEvent::getEventType).containsExactly(ProcessRuntimeEvent.ProcessEvents.PROCESS_CREATED, BPMNSignalEvent.SignalEvents.SIGNAL_RECEIVED, VariableEvent.VariableEvents.VARIABLE_CREATED, ProcessRuntimeEvent.ProcessEvents.PROCESS_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, BPMNSequenceFlowTakenEvent.SequenceFlowEvents.SEQUENCE_FLOW_TAKEN, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, ProcessRuntimeEvent.ProcessEvents.PROCESS_COMPLETED);
BPMNSignalReceivedEvent event = (BPMNSignalReceivedEvent) RuntimeTestConfiguration.collectedEvents.get(1);
assertThat(event.getEntity()).isNotNull();
assertThat(event.getEntity().getSignalPayload()).isNotNull();
assertThat(event.getEntity().getSignalPayload().getName()).isEqualTo(signalPayload.getName());
assertThat(event.getEntity().getSignalPayload().getVariables()).hasSize(signalPayload.getVariables().size());
assertThat(event.getEntity().getSignalPayload().getVariables().get("signal_variable")).isEqualTo("test");
clearEvents();
}
use of org.activiti.api.process.model.payloads.SignalPayload in project Activiti by Activiti.
the class SignalThrowCatchTest method testProcessWithBoundaryEventSignal.
@Test
public void testProcessWithBoundaryEventSignal() {
securityUtil.logInAs("user1");
ProcessInstance processInstance = startBoundaryEventSignalProcess();
assertThat(RuntimeTestConfiguration.collectedEvents).extracting(RuntimeEvent::getEventType).containsExactly(ProcessRuntimeEvent.ProcessEvents.PROCESS_CREATED, ProcessRuntimeEvent.ProcessEvents.PROCESS_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, BPMNSequenceFlowTakenEvent.SequenceFlowEvents.SEQUENCE_FLOW_TAKEN, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, TaskRuntimeEvent.TaskEvents.TASK_CREATED);
BPMNActivityImpl signalCatchEvent = (BPMNActivityImpl) RuntimeTestConfiguration.collectedEvents.get(5).getEntity();
assertThat(signalCatchEvent.getActivityType()).isEqualTo("userTask");
assertThat(signalCatchEvent.getActivityName()).isEqualTo("Boundary container");
clearEvents();
SignalPayload signalPayload = ProcessPayloadBuilder.signal().withName("Test").withVariable("signal_variable", "test").build();
processRuntime.signal(signalPayload);
assertThat(RuntimeTestConfiguration.collectedEvents).extracting(RuntimeEvent::getEventType).containsExactlyInAnyOrder(BPMNSignalEvent.SignalEvents.SIGNAL_RECEIVED, VariableEvent.VariableEvents.VARIABLE_CREATED, TaskRuntimeEvent.TaskEvents.TASK_CANCELLED, BPMNActivityEvent.ActivityEvents.ACTIVITY_CANCELLED, BPMNActivityEvent.ActivityEvents.ACTIVITY_COMPLETED, BPMNSequenceFlowTakenEvent.SequenceFlowEvents.SEQUENCE_FLOW_TAKEN, BPMNActivityEvent.ActivityEvents.ACTIVITY_STARTED, VariableEvent.VariableEvents.VARIABLE_CREATED, TaskRuntimeEvent.TaskEvents.TASK_CREATED);
BPMNSignalReceivedEvent event = (BPMNSignalReceivedEvent) RuntimeTestConfiguration.collectedEvents.get(0);
assertThat(event.getEntity()).isNotNull();
assertThat(event.getProcessInstanceId()).isEqualTo(processInstance.getId());
assertThat(event.getEntity().getSignalPayload()).isNotNull();
assertThat(event.getEntity().getSignalPayload().getName()).isEqualTo(signalPayload.getName());
assertThat(event.getEntity().getSignalPayload().getVariables()).hasSize(signalPayload.getVariables().size());
assertThat(event.getEntity().getSignalPayload().getVariables().get("signal_variable")).isEqualTo("test");
clearEvents();
}
Aggregations