use of io.automatiko.engine.codegen.data.Person in project automatiko-engine by automatiko-io.
the class EventSubProcessTest method testEventSignalSubProcessWithData.
@Test
public void testEventSignalSubProcessWithData() throws Exception {
Application app = generateCodeProcessesOnly("event-subprocess/EventSubprocessSignalWithData.bpmn2");
assertThat(app).isNotNull();
Process<? extends Model> p = app.processes().processById("EventSubprocessSignal_1");
Model m = p.createModel();
Map<String, Object> parameters = new HashMap<>();
m.fromMap(parameters);
ProcessInstance<?> processInstance = p.createInstance(m);
processInstance.start();
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
processInstance.send(Sig.of("MySignal", new Person("john", 20)));
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
Model result = (Model) processInstance.variables();
assertThat(result.toMap()).hasSize(1).containsKeys("person");
Person person = (Person) result.toMap().get("person");
assertThat(person).isNotNull();
assertThat(person.getName()).isEqualTo("john");
}
use of io.automatiko.engine.codegen.data.Person in project automatiko-engine by automatiko-io.
the class ConditionalEventTest method testEventSubprocessConditionalEventProcess.
@Test
public void testEventSubprocessConditionalEventProcess() throws Exception {
Application app = generateCodeProcessesOnly("conditionalevent/ConditionalEventSubprocess.bpmn2");
Process<? extends Model> p = app.processes().processById("subprocessCondition");
Model m = p.createModel();
Map<String, Object> parameters = new HashMap<>();
parameters.put("person", new Person("john", 30));
m.fromMap(parameters);
ProcessInstance processInstance = p.createInstance(m);
processInstance.start();
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
m.fromMap(Collections.singletonMap("person", new Person("john", 45)));
processInstance.updateVariables(m);
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ABORTED);
}
use of io.automatiko.engine.codegen.data.Person in project automatiko-engine by automatiko-io.
the class MessageIntermediateEventTest method testMessageBoundaryCatchEventIOExpressionProcess.
@Test
public void testMessageBoundaryCatchEventIOExpressionProcess() throws Exception {
Application app = generateCodeProcessesOnly("messageevent/BoundaryMessageEventOnTaskIOExpression.bpmn2");
assertThat(app).isNotNull();
Process<? extends Model> p = app.processes().processById("BoundaryMessageOnTask");
Model m = p.createModel();
Map<String, Object> parameters = new HashMap<>();
parameters.put("person", new Person());
m.fromMap(parameters);
ProcessInstance<?> processInstance = p.createInstance(m);
processInstance.start();
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
processInstance.send(Sig.of("Message-customers", "CUS-00998877"));
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
Model result = (Model) processInstance.variables();
assertThat(result.toMap()).hasSize(2).containsKeys("customerId", "person");
assertThat(result.toMap().get("person")).isNotNull().extracting("name").isEqualTo("CUS-00998877");
}
use of io.automatiko.engine.codegen.data.Person in project automatiko-engine by automatiko-io.
the class MessageIntermediateEventTest method testMessageCatchEventIOExpressionProcess.
@Test
public void testMessageCatchEventIOExpressionProcess() throws Exception {
Application app = generateCodeProcessesOnly("messageevent/IntermediateCatchEventMessageIOExpression.bpmn2");
assertThat(app).isNotNull();
Process<? extends Model> p = app.processes().processById("IntermediateCatchEvent");
Model m = p.createModel();
Map<String, Object> parameters = new HashMap<>();
parameters.put("person", new Person());
m.fromMap(parameters);
ProcessInstance<?> processInstance = p.createInstance(m);
processInstance.start();
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
processInstance.send(Sig.of("Message-customers", "CUS-00998877"));
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
Model result = (Model) processInstance.variables();
assertThat(result.toMap()).hasSize(2).containsKeys("customerId", "person");
assertThat(result.toMap().get("person")).isNotNull().extracting("name").isEqualTo("CUS-00998877");
}
use of io.automatiko.engine.codegen.data.Person in project automatiko-engine by automatiko-io.
the class UserTaskTest method testUserTaskWithIOexpressionProcess.
@Test
public void testUserTaskWithIOexpressionProcess() throws Exception {
Application app = generateCodeProcessesOnly("usertask/UserTaskWithIOexpression.bpmn2");
assertThat(app).isNotNull();
Process<? extends Model> p = app.processes().processById("UserTask");
Model m = p.createModel();
Map<String, Object> parameters = new HashMap<>();
parameters.put("person", new Person("john", 0));
m.fromMap(parameters);
ProcessInstance<?> processInstance = p.createInstance(m);
processInstance.start();
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
List<WorkItem> workItems = processInstance.workItems(securityPolicy);
assertEquals(1, workItems.size());
assertEquals("Hello", workItems.get(0).getName());
assertEquals("john", workItems.get(0).getParameters().get("personName"));
processInstance.completeWorkItem(workItems.get(0).getId(), Collections.singletonMap("personAge", 50), securityPolicy);
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
Model output = (Model) processInstance.variables();
Person person = (Person) output.toMap().get("person");
assertEquals(50, person.getAge());
}
Aggregations