Search in sources :

Example 96 with Model

use of io.automatiko.engine.api.Model in project automatiko-engine by automatiko-io.

the class ServerlessWorkflowTest method testSubFlowWorkflow.

@Test
public void testSubFlowWorkflow() throws Exception {
    Application app = generateCodeProcessesOnly("serverless/single-subflow.sw.json", "serverless/called-subflow.sw.json");
    assertThat(app).isNotNull();
    Process<? extends Model> p = app.processes().processById("singlesubflow_1_0");
    Model m = p.createModel();
    ProcessInstance<?> processInstance = p.createInstance(m);
    processInstance.start();
    assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
    Model result = (Model) processInstance.variables();
    assertThat(result.toMap()).containsKeys("parentData", "childData");
    Map<String, Object> dataOut = result.toMap();
    assertThat(((JsonNode) dataOut.get("parentData")).textValue()).isEqualTo("parentTestData");
    assertThat(((JsonNode) dataOut.get("childData")).textValue()).isEqualTo("childTestData");
}
Also used : Model(io.automatiko.engine.api.Model) JsonNode(com.fasterxml.jackson.databind.JsonNode) Application(io.automatiko.engine.api.Application) AbstractCodegenTest(io.automatiko.engine.codegen.AbstractCodegenTest) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 97 with Model

use of io.automatiko.engine.api.Model in project automatiko-engine by automatiko-io.

the class ServerlessWorkflowTest method testSingleInjectWorkflow.

@ParameterizedTest
@ValueSource(strings = { "serverless/single-inject-state.sw.json" })
public void testSingleInjectWorkflow(String processLocation) throws Exception {
    Application app = generateCodeProcessesOnly(processLocation);
    assertThat(app).isNotNull();
    Process<? extends Model> p = app.processes().processById("singleinject_1_0");
    Model m = p.createModel();
    ProcessInstance<?> processInstance = p.createInstance(m);
    processInstance.start();
    assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
    Model result = (Model) processInstance.variables();
    assertThat(result.toMap()).containsKeys("name");
    JsonNode dataOut = (JsonNode) result.toMap().get("name");
    assertThat(dataOut.textValue()).isEqualTo("john");
}
Also used : Model(io.automatiko.engine.api.Model) JsonNode(com.fasterxml.jackson.databind.JsonNode) Application(io.automatiko.engine.api.Application) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 98 with Model

use of io.automatiko.engine.api.Model in project automatiko-engine by automatiko-io.

the class ServerlessWorkflowTest method testNoActionsOperationWorkflow.

@ParameterizedTest
@ValueSource(strings = { "serverless/operation-no-actions.sw.json" })
public void testNoActionsOperationWorkflow(String processLocation) throws Exception {
    Application app = generateCodeProcessesOnly(processLocation);
    assertThat(app).isNotNull();
    Process<? extends Model> p = app.processes().processById("noactions_1_0");
    Model m = p.createModel();
    ProcessInstance<?> processInstance = p.createInstance(m);
    processInstance.start();
    assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
Also used : Model(io.automatiko.engine.api.Model) Application(io.automatiko.engine.api.Application) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 99 with Model

use of io.automatiko.engine.api.Model in project automatiko-engine by automatiko-io.

the class ServerlessWorkflowTest method testSimpleIncrementtWorkflow.

@ParameterizedTest
@ValueSource(strings = { "serverless/simple-increment.sw.json" })
public void testSimpleIncrementtWorkflow(String processLocation) throws Exception {
    Application app = generateCodeProcessesOnly(processLocation);
    assertThat(app).isNotNull();
    Process<? extends Model> p = app.processes().processById("helloworld_1_0");
    Model m = p.createModel();
    ProcessInstance<?> processInstance = p.createInstance(m);
    processInstance.start();
    assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
    Model result = (Model) processInstance.variables();
    assertThat(result.toMap()).containsKeys("count");
    JsonNode dataOut = (JsonNode) result.toMap().get("count");
    assertThat(dataOut.intValue()).isEqualTo(11);
}
Also used : Model(io.automatiko.engine.api.Model) JsonNode(com.fasterxml.jackson.databind.JsonNode) Application(io.automatiko.engine.api.Application) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 100 with Model

use of io.automatiko.engine.api.Model in project automatiko-engine by automatiko-io.

the class ServerlessWorkflowTest method testApproveSwitchStateWorkflow.

@ParameterizedTest
@ValueSource(strings = { "serverless/switch-state.sw.json" })
public void testApproveSwitchStateWorkflow(String processLocation) throws Exception {
    Application app = generateCodeProcessesOnly(processLocation);
    assertThat(app).isNotNull();
    Process<? extends Model> p = app.processes().processById("switchworkflow_1_0");
    Model m = p.createModel();
    ProcessInstance<?> processInstance = p.createInstance(m);
    processInstance.start();
    assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
    Model result = (Model) processInstance.variables();
    assertThat(result.toMap()).containsKeys("decision");
    JsonNode dataOut = (JsonNode) result.toMap().get("decision");
    assertThat(dataOut.textValue()).isEqualTo("Approved");
}
Also used : Model(io.automatiko.engine.api.Model) JsonNode(com.fasterxml.jackson.databind.JsonNode) Application(io.automatiko.engine.api.Application) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

Model (io.automatiko.engine.api.Model)161 Application (io.automatiko.engine.api.Application)142 Test (org.junit.jupiter.api.Test)138 AbstractCodegenTest (io.automatiko.engine.codegen.AbstractCodegenTest)133 HashMap (java.util.HashMap)127 WorkItem (io.automatiko.engine.api.workflow.WorkItem)43 ProcessInstance (io.automatiko.engine.api.workflow.ProcessInstance)26 DefaultProcessEventListenerConfig (io.automatiko.engine.workflow.DefaultProcessEventListenerConfig)23 NodeLeftCountDownProcessEventListener (io.automatiko.engine.workflow.compiler.util.NodeLeftCountDownProcessEventListener)23 ArrayList (java.util.ArrayList)16 HumanTaskTransition (io.automatiko.engine.workflow.base.instance.impl.humantask.HumanTaskTransition)13 JsonNode (com.fasterxml.jackson.databind.JsonNode)11 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)11 Person (io.automatiko.engine.codegen.data.Person)10 StaticIdentityProvider (io.automatiko.engine.services.identity.StaticIdentityProvider)10 UnitOfWork (io.automatiko.engine.api.uow.UnitOfWork)9 AbstractProcessInstance (io.automatiko.engine.workflow.AbstractProcessInstance)9 List (java.util.List)9 DataEvent (io.automatiko.engine.api.event.DataEvent)8 ProcessInstanceDataEvent (io.automatiko.engine.services.event.ProcessInstanceDataEvent)8