From 0892db6fa778b1dab2ad5bf748331ba3df138757 Mon Sep 17 00:00:00 2001 From: Jon Herron Date: Wed, 12 Oct 2022 10:19:53 -0400 Subject: [PATCH] Squashed 'SpiffWorkflow/' content from commit 63db3e4 git-subtree-dir: SpiffWorkflow git-subtree-split: 63db3e45947ec66b8d0efc2c74064004f8ff482c --- .editorconfig | 9 + .flake8 | 2 + .github/workflows/publish-on-release.yml | 33 + .gitignore | 279 + .readthedocs.yml | 16 + .sonarcloud.properties | 7 + .tool-versions | 1 + .travis.yml | 36 + AUTHORS | 5 + CONTRIB | 60 + COPYING | 165 + Dockerfile | 4 + INSTALL | 3 + Makefile | 88 + README.md | 121 + TODO | 5 + VERSION.in | 4 + doc/.gitignore | 1 + doc/Makefile | 221 + doc/bpmn/Makefile | 25 + doc/bpmn/advanced.rst | 423 + doc/bpmn/conf.py | 60 + doc/bpmn/events.rst | 260 + doc/bpmn/figures/business_rule_task.png | Bin 0 -> 99428 bytes doc/bpmn/figures/call_activity.png | Bin 0 -> 136376 bytes doc/bpmn/figures/call_activity_multi.png | Bin 0 -> 161398 bytes .../figures/call_activity_script_flow.png | Bin 0 -> 97041 bytes doc/bpmn/figures/catch_esclalation_event.png | Bin 0 -> 45802 bytes doc/bpmn/figures/custom_script_usage.png | Bin 0 -> 134935 bytes doc/bpmn/figures/dmn_table.png | Bin 0 -> 50908 bytes doc/bpmn/figures/dmn_table_updated.png | Bin 0 -> 66151 bytes doc/bpmn/figures/documentation.png | Bin 0 -> 93944 bytes doc/bpmn/figures/documentation_multi.png | Bin 0 -> 68575 bytes doc/bpmn/figures/events.png | Bin 0 -> 312789 bytes doc/bpmn/figures/exclusive_gateway.png | Bin 0 -> 96402 bytes doc/bpmn/figures/lanes.png | Bin 0 -> 170186 bytes doc/bpmn/figures/message_start_event.png | Bin 0 -> 34954 bytes .../multiinstance_flow_configuration.png | Bin 0 -> 25873 bytes .../multiinstance_form_configuration.png | Bin 0 -> 39535 bytes .../multiinstance_task_configuration.png | Bin 0 -> 71798 bytes doc/bpmn/figures/parallel_gateway.png | Bin 0 -> 100790 bytes doc/bpmn/figures/script_task.png | Bin 0 -> 98713 bytes doc/bpmn/figures/signal_event.png | Bin 0 -> 175779 bytes doc/bpmn/figures/throw_escalation_event.png | Bin 0 -> 39480 bytes doc/bpmn/figures/throw_message_event.png | Bin 0 -> 42692 bytes doc/bpmn/figures/throw_scalation_event.png | Bin 0 -> 40090 bytes doc/bpmn/figures/throw_signal_event.png | Bin 0 -> 36087 bytes doc/bpmn/figures/timer_event.png | Bin 0 -> 37248 bytes doc/bpmn/figures/top_level.png | Bin 0 -> 139936 bytes doc/bpmn/figures/transaction.png | Bin 0 -> 147721 bytes doc/bpmn/figures/user_task.png | Bin 0 -> 111634 bytes doc/bpmn/gateways.rst | 73 + doc/bpmn/index.rst | 77 + doc/bpmn/make.bat | 35 + doc/bpmn/multiinstance.rst | 112 + doc/bpmn/organization.rst | 128 + doc/bpmn/synthesis.rst | 223 + doc/bpmn/tasks.rst | 222 + doc/conf.py | 64 + doc/development.rst | 99 + doc/favicon.ico | Bin 0 -> 4022 bytes doc/figures/ExclusiveGateway.png | Bin 0 -> 47608 bytes doc/figures/action-management.png | Bin 0 -> 102856 bytes doc/figures/bpmnbook.jpg | Bin 0 -> 3694 bytes doc/figures/classes.png | Bin 0 -> 77947 bytes doc/figures/events.png | Bin 0 -> 270622 bytes doc/figures/interaction.png | Bin 0 -> 91476 bytes doc/figures/nuclear_strike.bpmn | 71 + doc/figures/simplestworkflow.png | Bin 0 -> 22952 bytes doc/figures/state-diagram.png | Bin 0 -> 168636 bytes doc/figures/state-diagram.svg | 3 + doc/images/logo.png | Bin 0 -> 19902 bytes doc/index.rst | 54 + doc/intro.rst | 125 + doc/make.bat | 35 + doc/non-bpmn/custom-tasks/index.rst | 65 + doc/non-bpmn/custom-tasks/nuclear.json | 93 + doc/non-bpmn/custom-tasks/serializer.py | 11 + doc/non-bpmn/custom-tasks/start.py | 18 + doc/non-bpmn/custom-tasks/strike.py | 12 + doc/non-bpmn/index.rst | 12 + doc/non-bpmn/patterns.rst | 77 + doc/non-bpmn/tutorial/deserialize-wf.py | 7 + doc/non-bpmn/tutorial/deserialize.py | 7 + doc/non-bpmn/tutorial/index.rst | 104 + doc/non-bpmn/tutorial/nuclear.json | 98 + doc/non-bpmn/tutorial/nuclear.py | 36 + doc/non-bpmn/tutorial/serialize-wf.py | 14 + doc/non-bpmn/tutorial/serialize.py | 12 + doc/non-bpmn/tutorial/start.py | 25 + graphics/business_end.svg | 6255 +++++ graphics/color_pallet.png | Bin 0 -> 9619 bytes graphics/favicon.ico | Bin 0 -> 4022 bytes graphics/favicon.png | Bin 0 -> 1012 bytes graphics/favicon.svg | 30 + graphics/logo.png | Bin 0 -> 64652 bytes graphics/logo.svg | 254 + graphics/logo2.png | Bin 0 -> 97370 bytes graphics/logo_icon.png | Bin 0 -> 13670 bytes graphics/logo_med.png | Bin 0 -> 10855 bytes graphics/logo_symbol_only.svg | 150 + graphics/spiffworkflow_logo_ideas.svg | 1033 + pyproject.toml | 3 + requirements.txt | 8 + scripts/test_times.py | 59 + setup.py | 37 + sonar-project.properties | 1 + tests/SpiffWorkflow/ExecuteProcessMock.py | 11 + tests/SpiffWorkflow/PatternTest.py | 101 + .../SpiffWorkflow/PersistSmallWorkflowTest.py | 120 + tests/SpiffWorkflow/TaskTest.py | 91 + tests/SpiffWorkflow/WorkflowTest.py | 75 + tests/SpiffWorkflow/__init__.py | 0 tests/SpiffWorkflow/bpmn/AntiLoopTaskTest.py | 42 + tests/SpiffWorkflow/bpmn/ApprovalsTest.py | 202 + .../bpmn/BaseParallelTestCase.py | 46 + tests/SpiffWorkflow/bpmn/BoxDeepCopyTest.py | 26 + .../SpiffWorkflow/bpmn/BpmnLoaderForTests.py | 69 + .../SpiffWorkflow/bpmn/BpmnSerializerTest.py | 118 + .../bpmn/BpmnWorkflowSerializerTest.py | 216 + .../bpmn/BpmnWorkflowTestCase.py | 139 + .../bpmn/CallActivityEndEventTest.py | 73 + .../bpmn/CallActivitySubProcessPropTest.py | 42 + tests/SpiffWorkflow/bpmn/ClashingName2Test.py | 36 + tests/SpiffWorkflow/bpmn/CollaborationTest.py | 125 + tests/SpiffWorkflow/bpmn/CustomScriptTest.py | 58 + .../bpmn/DataObjectReferenceTest.py | 82 + .../ExclusiveGatewayIntoMultiInstanceTest.py | 38 + .../bpmn/ExclusiveGatewayNoDefaultTest.py | 33 + ...lsiveGatewayNonDefaultPathIntoMultiTest.py | 59 + .../bpmn/FeelExpressionEngineTest.py | 76 + tests/SpiffWorkflow/bpmn/IOSpecTest.py | 88 + .../bpmn/InvalidProcessIDTest.py | 30 + .../bpmn/InvalidWorkflowsTest.py | 77 + tests/SpiffWorkflow/bpmn/LoopTaskTest.py | 60 + .../bpmn/MultiInstanceParallelCondTest.py | 54 + .../bpmn/MultiInstanceParallelTest.py | 51 + tests/SpiffWorkflow/bpmn/MultiInstanceTest.py | 46 + .../bpmn/NITimerDurationBoundaryTest.py | 86 + .../SpiffWorkflow/bpmn/NavListMulipleEnds.py | 47 + .../SpiffWorkflow/bpmn/NestedProcessesTest.py | 36 + .../bpmn/ParallelFromCamundaTest.py | 71 + .../bpmn/ParallelJoinLongInclusiveTest.py | 70 + .../bpmn/ParallelJoinLongTest.py | 74 + .../bpmn/ParallelLoopingAfterJoinTest.py | 30 + .../ParallelManyThreadsAtSamePointTest.py | 33 + ...arallelManyThreadsAtSamePointTestNested.py | 59 + .../ParallelMultipleSplitsAndJoinsTest.py | 38 + .../bpmn/ParallelMultipleSplitsTest.py | 46 + .../bpmn/ParallelOnePathEndsTest.py | 72 + tests/SpiffWorkflow/bpmn/ParallelOrderTest.py | 38 + .../bpmn/ParallelThenExclusiveTest.py | 85 + .../bpmn/ParallelThroughSameTaskTest.py | 179 + .../bpmn/ParallelWithScriptTest.py | 25 + tests/SpiffWorkflow/bpmn/ParserTest.py | 29 + .../bpmn/ProcessDependencyTest.py | 62 + .../bpmn/PythonScriptEngineTest.py | 58 + .../SpiffWorkflow/bpmn/ResetSubProcessTest.py | 84 + tests/SpiffWorkflow/bpmn/SameNameBugTest.py | 37 + tests/SpiffWorkflow/bpmn/ScriptTest.py | 49 + tests/SpiffWorkflow/bpmn/ScriptTestBox.py | 37 + tests/SpiffWorkflow/bpmn/ServiceTaskTest.py | 28 + .../bpmn/SubWorkflowMultiTest.py | 51 + tests/SpiffWorkflow/bpmn/SwimLaneTest.py | 62 + tests/SpiffWorkflow/bpmn/TooManyLoopsTest.py | 73 + tests/SpiffWorkflow/bpmn/__init__.py | 5 + tests/SpiffWorkflow/bpmn/data/Approvals.bpmn | 403 + .../bpmn/data/Approvals_bad.bpmn | 403 + .../bpmn/data/ComplexNavigation.bpmn | 746 + ...ExclusiveGatewayMultipleEndNavigation.bpmn | 143 + .../Disconnected-Boundary-Event.bpmn20.xml | 195 + .../Disconnected-Boundary-Event.signavio.xml | 3735 +++ .../Multiple-Start-Events.bpmn20.xml | 155 + .../Multiple-Start-Events.signavio.xml | 3373 +++ .../No-Start-Event.bpmn20.xml | 103 + .../No-Start-Event.signavio.xml | 2404 ++ .../bpmn/data/Invalid-Workflows/README.txt | 6 + .../Recursive-Subprocesses.bpmn20.xml | 182 + .../Recursive-Subprocesses.signavio.xml | 3428 +++ .../Subprocess-Not-Found.bpmn20.xml | 181 + .../Subprocess-Not-Found.signavio.xml | 3565 +++ .../Unsupported-Task.bpmn20.xml | 137 + .../Unsupported-Task.signavio.xml | 3182 +++ .../bpmn/data/MultiInstanceParallelTask.bpmn | 59 + .../data/MultiInstanceParallelTaskCond.bpmn | 145 + .../bpmn/data/NavLeapFrogLong.bpmn | 1209 + .../bpmn/data/ParallelOrder.bpmn | 138 + .../bpmn/data/ParallelWithScript.bpmn | 117 + tests/SpiffWorkflow/bpmn/data/ScriptTest.bpmn | 60 + .../bpmn/data/ScriptTestBox.bpmn | 56 + .../Action-Management.bpmn20.xml | 421 + .../Action-Management.signavio.xml | 8126 +++++++ ...allActivity-Escalation-Test-Sub.bpmn20.xml | 117 + .../CallActivity-Escalation-Test.bpmn20.xml | 692 + .../Message-Interrupts-SP.bpmn20.xml | 181 + .../Message-Interrupts-SP.signavio.xml | 3566 +++ .../Message-Interrupts.bpmn20.xml | 104 + .../Message-Interrupts.signavio.xml | 2005 ++ .../Message-Non-Interrupt-SP.bpmn20.xml | 181 + .../Message-Non-Interrupt-SP.signavio.xml | 3576 +++ .../Message-Non-Interrupt.bpmn20.xml | 104 + .../Message-Non-Interrupt.signavio.xml | 2005 ++ .../data/Test-Workflows/Messages.bpmn20.xml | 73 + .../data/Test-Workflows/Messages.signavio.xml | 814 + .../Test-Workflows/Multi-Instance.bpmn20.xml | 88 + .../Nested-Sub-level1.bpmn20.xml | 96 + .../Nested-Sub-level1.signavio.xml | 1614 ++ .../Nested-Sub-level2.bpmn20.xml | 75 + .../Nested-Sub-level2.signavio.xml | 1150 + .../Nested-Subprocesses.bpmn20.xml | 94 + .../Nested-Subprocesses.signavio.xml | 1576 ++ .../Parallel-Join-Long-Inclusive.bpmn20.xml | 633 + .../Parallel-Join-Long-Inclusive.signavio.xml | 18834 ++++++++++++++++ .../Parallel-Join-Long.bpmn20.xml | 622 + .../Parallel-Join-Long.signavio.xml | 18676 +++++++++++++++ .../Parallel-Looping-After-Join.bpmn20.xml | 291 + .../Parallel-Looping-After-Join.signavio.xml | 6534 ++++++ ...ny-Threads-At-Same-Point-Nested.bpmn20.xml | 428 + ...-Threads-At-Same-Point-Nested.signavio.xml | 8272 +++++++ ...llel-Many-Threads-At-Same-Point.bpmn20.xml | 183 + ...el-Many-Threads-At-Same-Point.signavio.xml | 4000 ++++ ...allel-Multiple-Splits-And-Joins.bpmn20.xml | 327 + ...lel-Multiple-Splits-And-Joins.signavio.xml | 7277 ++++++ .../Parallel-Multiple-Splits.bpmn20.xml | 571 + .../Parallel-Multiple-Splits.signavio.xml | 11634 ++++++++++ .../Parallel-One-Path-Ends.bpmn20.xml | 192 + .../Parallel-One-Path-Ends.signavio.xml | 3793 ++++ ...lel-Then-Exclusive-No-Inclusive.bpmn20.xml | 219 + ...l-Then-Exclusive-No-Inclusive.signavio.xml | 4497 ++++ .../Parallel-Then-Exclusive.bpmn20.xml | 202 + .../Parallel-Then-Exclusive.signavio.xml | 4291 ++++ .../Parallel-Through-Same-Task.bpmn20.xml | 201 + .../Parallel-Through-Same-Task.signavio.xml | 4289 ++++ .../Parallel.camunda.bpmn20.xml | 158 + .../bpmn/data/Test-Workflows/README.txt | 6 + .../data/Test-Workflows/Scripts.bpmn20.xml | 172 + .../data/Test-Workflows/Scripts.signavio.xml | 3553 +++ .../Test-Workflows/Test-Workflows.bpmn20.xml | 209 + .../Test-Workflows.signavio.xml | 3570 +++ .../Timer-Intermediate.bpmn20.xml | 73 + .../Timer-Intermediate.signavio.xml | 818 + tests/SpiffWorkflow/bpmn/data/boundary.bpmn | 163 + .../bpmn/data/boundary_timer_on_task.bpmn | 77 + .../bpmn/data/bpmnAntiLoopTask.bpmn | 47 + .../SpiffWorkflow/bpmn/data/bpmnLoopTask.bpmn | 45 + .../bpmn/data/bpmnMultiUserTask.bpmn | 49 + .../data/call_activity_call_activity.bpmn | 43 + .../bpmn/data/call_activity_end_event.bpmn | 71 + .../call_activity_level_2.bpmn | 55 + .../call_activity_level_2b.bpmn | 42 + .../call_activity_level_3.bpmn | 43 + .../call_activity_nested.bpmn | 72 + .../data/call_activity_nested/level2c.dmn | 20 + .../bpmn/data/call_activity_with_error.bpmn | 72 + .../bpmn/data/collaboration.bpmn | 112 + .../SpiffWorkflow/bpmn/data/correlation.bpmn | 179 + .../data/correlation_two_conversations.bpmn | 291 + .../bpmn/data/custom_function_test.bpmn | 93 + .../custom_function_test_call_activity.bpmn | 39 + .../SpiffWorkflow/bpmn/data/data_object.bpmn | 152 + .../data/exclusive_gateway_no_default.bpmn | 92 + .../bpmn/data/exclusive_into_multi.bpmn | 83 + ...exclusive_non_default_path_into_multi.bpmn | 97 + .../bpmn/data/invalid_cancel.bpmn | 123 + .../bpmn/data/invalid_process_sub.bpmn | 39 + .../bpmn/data/invalid_process_top.bpmn | 64 + tests/SpiffWorkflow/bpmn/data/io_spec.bpmn | 76 + .../bpmn/data/io_spec_parent.bpmn | 54 + tests/SpiffWorkflow/bpmn/data/lanes.bpmn | 207 + .../bpmn/data/multipleEvents.bpmn | 201 + .../SpiffWorkflow/bpmn/data/proptest-Sub.bpmn | 40 + .../SpiffWorkflow/bpmn/data/proptest-Top.bpmn | 111 + .../SpiffWorkflow/bpmn/data/random_fact.bpmn | 133 + .../bpmn/data/resetworkflowA-sublevel.bpmn | 38 + .../bpmn/data/resetworkflowA-toplevel.bpmn | 76 + .../bpmn/data/resetworkflowB-sublevel.bpmn | 50 + .../bpmn/data/resetworkflowB-toplevel.bpmn | 76 + tests/SpiffWorkflow/bpmn/data/rrt.bpmn | 336 + tests/SpiffWorkflow/bpmn/data/same_id.bpmn | 61 + .../SpiffWorkflow/bpmn/data/same_id_sub.bpmn | 49 + .../bpmn/data/serialization/v1.0.json | 1045 + .../SpiffWorkflow/bpmn/data/service_task.bpmn | 39 + .../SpiffWorkflow/bpmn/data/sub_in_loop.bpmn | 88 + .../bpmn/data/sub_in_loop_call_activity.bpmn | 38 + .../bpmn/data/sub_within_sub_multi.bpmn | 129 + .../bpmn/data/sub_workflow_multi.bpmn | 93 + .../bpmn/data/sub_workflow_multi1.bpmn | 59 + .../data/sub_workflow_multi_parallel.bpmn | 93 + .../bpmn/data/timer-cycle-start.bpmn | 99 + .../SpiffWorkflow/bpmn/data/timer-cycle.bpmn | 84 + .../bpmn/data/timer-date-start.bpmn | 72 + .../data/timer-non-interrupt-boundary.bpmn | 169 + tests/SpiffWorkflow/bpmn/data/timer.bpmn | 68 + .../data/timer_event_changes_last_task.bpmn | 77 + .../bpmn/data/too_many_loops.bpmn | 125 + .../data/too_many_loops_call_activity.bpmn | 48 + .../bpmn/data/too_many_loops_sub_process.bpmn | 157 + .../SpiffWorkflow/bpmn/data/transaction.bpmn | 282 + .../bpmn/data/two_top_level_procs.bpmn | 79 + .../bpmn/events/ActionManagementTest.py | 141 + .../bpmn/events/CallActivityEscalationTest.py | 153 + .../bpmn/events/CancelBoundaryEventTest.py | 22 + .../bpmn/events/MessageInterruptsSpTest.py | 68 + .../bpmn/events/MessageInterruptsTest.py | 111 + .../bpmn/events/MessageNonInterruptTest.py | 187 + .../bpmn/events/MessageNonInterruptsSpTest.py | 131 + .../SpiffWorkflow/bpmn/events/MessagesTest.py | 62 + .../bpmn/events/MultipleEventsTest.py | 75 + .../bpmn/events/TimerCycleStartTest.py | 70 + .../bpmn/events/TimerCycleTest.py | 68 + .../bpmn/events/TimerDateTest.py | 65 + .../events/TimerDurationBoundaryOnTaskTest.py | 69 + .../bpmn/events/TimerDurationBoundaryTest.py | 63 + .../bpmn/events/TimerDurationTest.py | 57 + .../bpmn/events/TimerIntermediateTest.py | 45 + .../bpmn/events/TransactionSubprocssTest.py | 132 + tests/SpiffWorkflow/bpmn/events/__init__.py | 0 .../SpiffWorkflow/bpmn/serializer/__init__.py | 0 .../SpiffWorkflow/bpmn/serializer/dictTest.py | 73 + .../SpiffWorkflow/bpmn/serializer/jsonTest.py | 38 + tests/SpiffWorkflow/camunda/BaseTestCase.py | 38 + .../camunda/BusinessRuleTaskParserTest.py | 55 + .../camunda/CallActivityMessageTest.py | 57 + .../camunda/CamundaParserTest.py | 24 + .../SpiffWorkflow/camunda/ClashingNameTest.py | 91 + .../camunda/DMNCustomScriptTest.py | 56 + tests/SpiffWorkflow/camunda/DMNDictTest.py | 41 + .../camunda/DefaultGatewayPMITest.py | 60 + .../camunda/ExclusiveGatewayPMITest.py | 68 + .../ExternalMessageBoundaryEventTest.py | 62 + .../camunda/FeelBusinessRuleTaskParserTest.py | 43 + .../InvalidBusinessRuleTaskParserTest.py | 35 + .../camunda/MessageBoundaryEventTest.py | 56 + .../camunda/MultiInstanceArrayTest.py | 222 + .../camunda/MultiInstanceDMNTest.py | 47 + .../camunda/MultiInstanceDeepDictEdit.py | 113 + .../camunda/MultiInstanceParallelArrayTest.py | 100 + .../camunda/NIMessageBoundaryTest.py | 98 + .../camunda/ResetTokenMIParallelTest.py | 87 + .../SpiffWorkflow/camunda/ResetTokenMITest.py | 81 + .../camunda/ResetTokenNestedParallelTest.py | 214 + .../camunda/ResetTokenParallelMatrixTest.py | 218 + .../ResetTokenParallelTaskCountTest.py | 55 + .../camunda/ResetTokenSubWorkflowTest.py | 196 + tests/SpiffWorkflow/camunda/ResetTokenTest.py | 93 + .../camunda/StartMessageEventTest.py | 60 + .../SpiffWorkflow/camunda/SubWorkflowTest.py | 48 + tests/SpiffWorkflow/camunda/__init__.py | 0 .../camunda/data/CustomScript.bpmn | 63 + .../camunda/data/DMNMultiInstance.bpmn | 105 + .../ExclusiveGatewayIfElseAndDecision.bpmn | 112 + .../camunda/data/MessageBoundary.bpmn | 243 + .../data/call_activity_with_message.bpmn | 110 + .../call_activity_with_message_parent.bpmn | 138 + .../camunda/data/common_workflow.bpmn | 89 + .../camunda/data/default_gateway_pmi.bpmn | 89 + .../camunda/data/dmn/CustomScript.dmn | 44 + .../camunda/data/dmn/dmndict.dmn | 61 + .../camunda/data/dmn/invalid_decision.dmn | 35 + .../data/dmn/test_integer_decision.dmn | 49 + .../data/dmn/test_integer_decision_feel.dmn | 49 + .../data/dmn/test_integer_decision_multi.dmn | 49 + tests/SpiffWorkflow/camunda/data/dmndict.bpmn | 64 + .../camunda/data/exclusive_gateway_pmi.bpmn | 94 + .../camunda/data/external_message.bpmn | 109 + .../camunda/data/invalid/InvalidDecision.bpmn | 112 + .../camunda/data/message_test.bpmn | 210 + .../camunda/data/multi_instance_array.bpmn | 99 + .../data/multi_instance_array_parallel.bpmn | 99 + ...ulti_instance_parallel_deep_data_edit.bpmn | 66 + tests/SpiffWorkflow/camunda/data/no_form.bpmn | 54 + .../data/noninterrupting-MessageBoundary.bpmn | 287 + .../camunda/data/random_fact.bpmn | 96 + .../camunda/data/random_fact.svg | 4 + .../camunda/data/subWorkflowComplex.bpmn | 162 + .../camunda/data/token_trial.bpmn | 144 + .../camunda/data/token_trial_MI.bpmn | 83 + .../camunda/data/token_trial_MIParallel.bpmn | 83 + .../data/token_trial_camunda_clash.bpmn | 142 + .../data/token_trial_nested_parallel.bpmn | 402 + .../data/token_trial_parallel_matrix.bpmn | 272 + .../data/token_trial_parallel_simple.bpmn | 216 + .../camunda/data/token_trial_subprocess.bpmn | 151 + .../camunda/data/top_workflow.bpmn | 64 + .../serializer/CamundaExtensionsTest.py | 33 + .../camunda/serializer/CamundaParserTest.py | 28 + .../camunda/serializer/UserTaskParserTest.py | 49 + .../camunda/serializer/__init__.py | 0 .../camunda/specs/UserTaskSpecTest.py | 152 + tests/SpiffWorkflow/camunda/specs/__init__.py | 0 tests/SpiffWorkflow/data/__init__.py | 0 tests/SpiffWorkflow/data/empty1.xml | 0 tests/SpiffWorkflow/data/empty2.xml | 1 + tests/SpiffWorkflow/data/spiff/__init__.py | 0 .../acyclic_synchronizing_merge.path | 10 + .../acyclic_synchronizing_merge.xml | 49 + .../spiff/control-flow/arbitrary_cycles.path | 10 + .../spiff/control-flow/arbitrary_cycles.xml | 38 + .../control-flow/blocking_discriminator.path | 14 + .../control-flow/blocking_discriminator.xml | 45 + .../control-flow/blocking_partial_join.path | 15 + .../control-flow/blocking_partial_join.xml | 61 + .../data/spiff/control-flow/cancel_case.path | 4 + .../data/spiff/control-flow/cancel_case.xml | 41 + .../cancel_multi_instance_task.path | 14 + .../cancel_multi_instance_task.xml | 59 + .../spiff/control-flow/cancel_region.path | 9 + .../data/spiff/control-flow/cancel_region.xml | 48 + .../data/spiff/control-flow/cancel_task.path | 11 + .../data/spiff/control-flow/cancel_task.xml | 44 + .../cancelling_discriminator.path | 12 + .../control-flow/cancelling_discriminator.xml | 45 + .../control-flow/cancelling_partial_join.path | 13 + .../control-flow/cancelling_partial_join.xml | 61 + ...lling_partial_join_for_multi_instance.path | 11 + ...elling_partial_join_for_multi_instance.xml | 47 + .../complete_multiple_instance_activity.path | 10 + .../complete_multiple_instance_activity.xml | 38 + .../spiff/control-flow/critical_section.path | 18 + .../spiff/control-flow/critical_section.xml | 50 + .../spiff/control-flow/deferred_choice.path | 10 + .../spiff/control-flow/deferred_choice.xml | 76 + ...namic_partial_join_for_multi_instance.path | 13 + ...ynamic_partial_join_for_multi_instance.xml | 47 + .../spiff/control-flow/exclusive_choice.path | 8 + .../spiff/control-flow/exclusive_choice.xml | 67 + .../control-flow/explicit_termination.path | 4 + .../control-flow/explicit_termination.xml | 41 + .../general_synchronizing_merge.path | 21 + .../general_synchronizing_merge.xml | 89 + .../control-flow/generalized_and_join.path | 22 + .../control-flow/generalized_and_join.xml | 61 + .../control-flow/implicit_termination.path | 5 + .../control-flow/implicit_termination.xml | 21 + .../interleaved_parallel_routing.path | 7 + .../interleaved_parallel_routing.xml | 38 + .../control-flow/interleaved_routing.path | 9 + .../control-flow/interleaved_routing.xml | 47 + .../data/spiff/control-flow/milestone.path | 10 + .../data/spiff/control-flow/milestone.xml | 31 + .../data/spiff/control-flow/multi_choice.path | 8 + .../data/spiff/control-flow/multi_choice.xml | 40 + ...e_with_a_priori_design_time_knowledge.path | 9 + ...ce_with_a_priori_design_time_knowledge.xml | 32 + ...ance_with_a_priori_run_time_knowledge.path | 9 + ...tance_with_a_priori_run_time_knowledge.xml | 34 + .../multi_instance_without_a_priori.path | 13 + .../multi_instance_without_a_priori.xml | 47 + .../multi_instance_without_synch.path | 20 + .../multi_instance_without_synch.xml | 27 + .../data/spiff/control-flow/multi_merge.path | 10 + .../data/spiff/control-flow/multi_merge.xml | 46 + .../spiff/control-flow/parallel_split.path | 11 + .../spiff/control-flow/parallel_split.xml | 30 + .../control-flow/persistent_trigger.path | 22 + .../spiff/control-flow/persistent_trigger.xml | 48 + .../data/spiff/control-flow/recursion.path | 11 + .../data/spiff/control-flow/recursion.xml | 36 + .../data/spiff/control-flow/sequence.path | 5 + .../data/spiff/control-flow/sequence.xml | 20 + .../data/spiff/control-flow/simple_merge.path | 7 + .../data/spiff/control-flow/simple_merge.xml | 41 + ...tatic_partial_join_for_multi_instance.path | 13 + ...static_partial_join_for_multi_instance.xml | 47 + .../structured_discriminator.path | 7 + .../control-flow/structured_discriminator.xml | 45 + .../control-flow/structured_partial_join.path | 8 + .../control-flow/structured_partial_join.xml | 52 + .../structured_synchronizing_merge.path | 9 + .../structured_synchronizing_merge.xml | 53 + .../control-flow/subworkflow_to_join.path | 11 + .../control-flow/subworkflow_to_join.xml | 37 + .../subworkflow_to_join_inner.xml | 17 + .../spiff/control-flow/synchronization.path | 9 + .../spiff/control-flow/synchronization.xml | 39 + .../data/spiff/control-flow/thread_merge.path | 23 + .../data/spiff/control-flow/thread_merge.xml | 46 + .../data/spiff/control-flow/thread_split.path | 26 + .../data/spiff/control-flow/thread_split.xml | 41 + .../spiff/control-flow/transient_trigger.path | 12 + .../spiff/control-flow/transient_trigger.xml | 34 + .../data/spiff/data/block_data.xml | 27 + .../data/spiff/data/block_data.xml.data | 9 + .../data/spiff/data/block_data_inner.xml | 18 + .../data/spiff/data/block_to_subworkflow.xml | 28 + .../spiff/data/block_to_subworkflow.xml.data | 9 + .../spiff/data/block_to_subworkflow_inner.xml | 17 + .../data/spiff/data/subworkflow_to_block.xml | 27 + .../spiff/data/subworkflow_to_block.xml.data | 9 + .../spiff/data/subworkflow_to_block_inner.xml | 17 + .../data/spiff/data/task_data.xml | 18 + .../data/spiff/data/task_data.xml.data | 4 + .../data/spiff/data/task_to_task.xml | 18 + .../data/spiff/data/task_to_task.xml.data | 4 + .../data/spiff/resource/.gitignore | 0 tests/SpiffWorkflow/data/spiff/workflow1.path | 41 + tests/SpiffWorkflow/data/spiff/workflow1.py | 129 + tests/SpiffWorkflow/data/spiff/workflow1.xml | 168 + tests/SpiffWorkflow/dmn/DecisionRunner.py | 51 + .../dmn/Dmn20151101VersionTest.py | 24 + .../dmn/Dmn20191111VersionTest.py | 24 + tests/SpiffWorkflow/dmn/DmnFailVersionTest.py | 43 + tests/SpiffWorkflow/dmn/__init__.py | 0 .../dmn/data/dmn_version_20151101_test.dmn | 32 + .../dmn/data/dmn_version_20191111_test.dmn | 39 + .../dmn/data/dmn_version_fail_test.dmn | 32 + ...change-decision-with-listed-input-data.dmn | 45 + ...gram-interchange-shape-with-label-text.dmn | 24 + .../chapter-11-example-financial.dmn | 25 + .../v1_2_unsupported/chapter-11-example.dmn | 2521 +++ .../diagram-interchange-decision-service.dmn | 27 + .../diagram-interchange-dish-example.dmn | 223 + ...change-decision-with-listed-input-data.dmn | 45 + ...gram-interchange-shape-with-label-text.dmn | 24 + .../v1_3_unsupported/chapter-11-example.dmn | 2995 +++ .../diagram-interchange-decision-service.dmn | 27 + .../diagram-interchange-dish-example.dmn | 223 + .../v1_3_unsupported/financial.dmn | 31 + .../v1_3_unsupported/loan-info.dmn | 758 + .../recommended-loan-products.dmn | 1412 ++ .../dmn/feel_engine/FeelBoolDecisionTest.py | 31 + .../dmn/feel_engine/FeelDateDecisionTest.py | 42 + .../dmn/feel_engine/FeelDecisionRunner.py | 8 + .../dmn/feel_engine/FeelDictDecisionTest.py | 39 + .../FeelDictDotNotationDecisionTest.py | 39 + .../FeelIntegerDecisionComparisonTest.py | 31 + .../FeelIntegerDecisionRangeTest.py | 74 + .../feel_engine/FeelKwargsParameterTest.py | 23 + .../dmn/feel_engine/FeelListDecisionTest.py | 27 + .../FeelLongDoubleComparisonTest.py | 33 + .../feel_engine/FeelLongOrDoubleRangeTest.py | 77 + .../dmn/feel_engine/FeelNearMissNameTest.py | 53 + .../dmn/feel_engine/FeelStringDecisionTest.py | 35 + .../FeelStringIntegerDecisionTest.py | 39 + .../SpiffWorkflow/dmn/feel_engine/__init__.py | 0 .../feel_engine/data/bool_decision_feel.dmn | 40 + .../feel_engine/data/date_decision_feel.dmn | 58 + .../feel_engine/data/dict_decision_feel.dmn | 35 + .../data/dict_dot_notation_decision_feel.dmn | 35 + ...otation_decision_weird_characters_feel.dmn | 35 + .../dmn/feel_engine/data/exclusive_feel.dmn | 31 + .../data/integer_decision_comparison_feel.dmn | 49 + ...ger_decision_range_excl_inclusive_feel.dmn | 29 + .../integer_decision_range_exclusive_feel.dmn | 25 + ...ger_decision_range_incl_exclusive_feel.dmn | 25 + .../integer_decision_range_inclusive_feel.dmn | 25 + .../data/invalid_decision_feel.dmn | 35 + .../data/kwargs_parameter_feel.dmn | 41 + .../feel_engine/data/list_decision_feel.dmn | 32 + ...ong_or_double_decision_comparison_feel.dmn | 39 + ...ble_decision_range_excl_inclusive_feel.dmn | 25 + ...r_double_decision_range_exclusive_feel.dmn | 25 + ...ble_decision_range_incl_exclusive_feel.dmn | 25 + ...r_double_decision_range_inclusive_feel.dmn | 25 + .../feel_engine/data/string_decision_feel.dmn | 43 + .../data/string_integer_decision_feel.dmn | 73 + .../data/test_integer_decision_feel.dmn | 49 + .../dmn/python_engine/BoolDecisionTest.py | 28 + .../dmn/python_engine/DateDecisionTest.py | 41 + .../dmn/python_engine/DictDecisionTest.py | 36 + .../DictDotNotationDecisionTest.py | 46 + ...tDotNotationDecisionWeirdCharactersTest.py | 36 + .../IntegerDecisionComparisonTest.py | 31 + .../python_engine/IntegerDecisionRangeTest.py | 75 + .../InvalidBusinessRuleNameErrorTest.py | 19 + .../dmn/python_engine/ListDecisionTest.py | 28 + .../python_engine/LongDoubleComparisonTest.py | 33 + .../python_engine/LongOrDoubleRangeTest.py | 77 + .../dmn/python_engine/NearMissNameTest.py | 53 + .../dmn/python_engine/PythonDecisionRunner.py | 10 + .../dmn/python_engine/StringDecisionTest.py | 35 + .../StringIntegerDecisionTest.py | 39 + .../dmn/python_engine/__init__.py | 0 .../dmn/python_engine/data/bool_decision.dmn | 40 + .../dmn/python_engine/data/date_decision.dmn | 58 + .../dmn/python_engine/data/dict_decision.dmn | 35 + .../data/dict_dot_notation_decision.dmn | 35 + .../data/dict_dot_notation_decision_v1_3.dmn | 39 + ...dot_notation_decision_weird_characters.dmn | 35 + ...otation_decision_weird_characters_v1_3.dmn | 39 + .../dmn/python_engine/data/exclusive.dmn | 31 + .../data/integer_decision_comparison.dmn | 39 + .../integer_decision_range_excl_inclusive.dmn | 38 + .../data/integer_decision_range_exclusive.dmn | 29 + .../integer_decision_range_incl_exclusive.dmn | 29 + .../data/integer_decision_range_inclusive.dmn | 29 + .../data/invalid_decision_name_error.dmn | 35 + .../python_engine/data/kwargs_parameter.dmn | 41 + .../dmn/python_engine/data/list_decision.dmn | 32 + .../long_or_double_decision_comparison.dmn | 39 + ...r_double_decision_range_excl_inclusive.dmn | 29 + ...ong_or_double_decision_range_exclusive.dmn | 29 + ...r_double_decision_range_incl_exclusive.dmn | 29 + ...ong_or_double_decision_range_inclusive.dmn | 29 + .../python_engine/data/string_decision.dmn | 50 + .../data/string_integer_decision.dmn | 71 + .../data/test_integer_decision.dmn | 49 + tests/SpiffWorkflow/docTest.py | 45 + tests/SpiffWorkflow/serializer/__init__.py | 0 tests/SpiffWorkflow/serializer/baseTest.py | 88 + tests/SpiffWorkflow/serializer/dictTest.py | 73 + tests/SpiffWorkflow/serializer/jsonTest.py | 38 + .../SpiffWorkflow/serializer/prettyxmlTest.py | 30 + tests/SpiffWorkflow/serializer/xmlTest.py | 29 + tests/SpiffWorkflow/specs/CeleryTest.py | 86 + tests/SpiffWorkflow/specs/DeepMergeTest.py | 73 + tests/SpiffWorkflow/specs/ExecuteTest.py | 54 + tests/SpiffWorkflow/specs/JoinTest.py | 29 + tests/SpiffWorkflow/specs/MergeTest.py | 94 + tests/SpiffWorkflow/specs/SubWorkflowTest.py | 127 + tests/SpiffWorkflow/specs/TaskSpecTest.py | 130 + tests/SpiffWorkflow/specs/TransformTest.py | 55 + tests/SpiffWorkflow/specs/WorkflowSpecTest.py | 119 + tests/SpiffWorkflow/specs/__init__.py | 0 tests/SpiffWorkflow/spiff/BaseTestCase.py | 52 + .../spiff/BusinessRuleTaskTest.py | 12 + tests/SpiffWorkflow/spiff/CorrelationTest.py | 62 + .../spiff/PrescriptPostscriptTest.py | 57 + .../spiff/ScriptUnitTestExtensionsTest.py | 42 + tests/SpiffWorkflow/spiff/ServiceTaskTest.py | 90 + .../spiff/ServiceTaskVariableTest.py | 72 + .../spiff/SpiffPropertiesTest.py | 29 + tests/SpiffWorkflow/spiff/__init__.py | 0 .../spiff/data/business_rule_task.bpmn | 57 + .../SpiffWorkflow/spiff/data/correlation.bpmn | 181 + .../data/correlation_two_conversations.bpmn | 231 + .../spiff/data/dmn/business_rules.dmn | 44 + .../spiff/data/prescript_postscript.bpmn | 48 + .../prescript_postscript_call_activity.bpmn | 56 + .../data/prescript_postscript_parent.bpmn | 44 + .../data/script_task_with_unit_tests.bpmn | 69 + .../spiff/data/service_task.bpmn | 68 + .../spiff/data/service_task_variable.bpmn | 62 + .../spiff/data/spiff_properties.bpmn | 46 + tests/SpiffWorkflow/util.py | 117 + tests/__init__.py | 0 unit_test_extensions.patch | 348 + version.sh | 50 + 638 files changed, 203081 insertions(+) create mode 100644 .editorconfig create mode 100644 .flake8 create mode 100644 .github/workflows/publish-on-release.yml create mode 100644 .gitignore create mode 100644 .readthedocs.yml create mode 100644 .sonarcloud.properties create mode 100644 .tool-versions create mode 100644 .travis.yml create mode 100644 AUTHORS create mode 100644 CONTRIB create mode 100644 COPYING create mode 100644 Dockerfile create mode 100644 INSTALL create mode 100644 Makefile create mode 100644 README.md create mode 100644 TODO create mode 100644 VERSION.in create mode 100644 doc/.gitignore create mode 100644 doc/Makefile create mode 100644 doc/bpmn/Makefile create mode 100644 doc/bpmn/advanced.rst create mode 100755 doc/bpmn/conf.py create mode 100644 doc/bpmn/events.rst create mode 100644 doc/bpmn/figures/business_rule_task.png create mode 100644 doc/bpmn/figures/call_activity.png create mode 100644 doc/bpmn/figures/call_activity_multi.png create mode 100644 doc/bpmn/figures/call_activity_script_flow.png create mode 100644 doc/bpmn/figures/catch_esclalation_event.png create mode 100644 doc/bpmn/figures/custom_script_usage.png create mode 100644 doc/bpmn/figures/dmn_table.png create mode 100644 doc/bpmn/figures/dmn_table_updated.png create mode 100644 doc/bpmn/figures/documentation.png create mode 100644 doc/bpmn/figures/documentation_multi.png create mode 100644 doc/bpmn/figures/events.png create mode 100644 doc/bpmn/figures/exclusive_gateway.png create mode 100644 doc/bpmn/figures/lanes.png create mode 100644 doc/bpmn/figures/message_start_event.png create mode 100644 doc/bpmn/figures/multiinstance_flow_configuration.png create mode 100644 doc/bpmn/figures/multiinstance_form_configuration.png create mode 100644 doc/bpmn/figures/multiinstance_task_configuration.png create mode 100644 doc/bpmn/figures/parallel_gateway.png create mode 100644 doc/bpmn/figures/script_task.png create mode 100644 doc/bpmn/figures/signal_event.png create mode 100644 doc/bpmn/figures/throw_escalation_event.png create mode 100644 doc/bpmn/figures/throw_message_event.png create mode 100644 doc/bpmn/figures/throw_scalation_event.png create mode 100644 doc/bpmn/figures/throw_signal_event.png create mode 100644 doc/bpmn/figures/timer_event.png create mode 100644 doc/bpmn/figures/top_level.png create mode 100644 doc/bpmn/figures/transaction.png create mode 100644 doc/bpmn/figures/user_task.png create mode 100644 doc/bpmn/gateways.rst create mode 100644 doc/bpmn/index.rst create mode 100644 doc/bpmn/make.bat create mode 100644 doc/bpmn/multiinstance.rst create mode 100644 doc/bpmn/organization.rst create mode 100644 doc/bpmn/synthesis.rst create mode 100644 doc/bpmn/tasks.rst create mode 100644 doc/conf.py create mode 100644 doc/development.rst create mode 100644 doc/favicon.ico create mode 100644 doc/figures/ExclusiveGateway.png create mode 100644 doc/figures/action-management.png create mode 100644 doc/figures/bpmnbook.jpg create mode 100644 doc/figures/classes.png create mode 100644 doc/figures/events.png create mode 100644 doc/figures/interaction.png create mode 100644 doc/figures/nuclear_strike.bpmn create mode 100644 doc/figures/simplestworkflow.png create mode 100644 doc/figures/state-diagram.png create mode 100644 doc/figures/state-diagram.svg create mode 100644 doc/images/logo.png create mode 100644 doc/index.rst create mode 100644 doc/intro.rst create mode 100644 doc/make.bat create mode 100644 doc/non-bpmn/custom-tasks/index.rst create mode 100644 doc/non-bpmn/custom-tasks/nuclear.json create mode 100644 doc/non-bpmn/custom-tasks/serializer.py create mode 100644 doc/non-bpmn/custom-tasks/start.py create mode 100644 doc/non-bpmn/custom-tasks/strike.py create mode 100644 doc/non-bpmn/index.rst create mode 100644 doc/non-bpmn/patterns.rst create mode 100644 doc/non-bpmn/tutorial/deserialize-wf.py create mode 100644 doc/non-bpmn/tutorial/deserialize.py create mode 100644 doc/non-bpmn/tutorial/index.rst create mode 100644 doc/non-bpmn/tutorial/nuclear.json create mode 100644 doc/non-bpmn/tutorial/nuclear.py create mode 100644 doc/non-bpmn/tutorial/serialize-wf.py create mode 100644 doc/non-bpmn/tutorial/serialize.py create mode 100644 doc/non-bpmn/tutorial/start.py create mode 100644 graphics/business_end.svg create mode 100644 graphics/color_pallet.png create mode 100644 graphics/favicon.ico create mode 100644 graphics/favicon.png create mode 100644 graphics/favicon.svg create mode 100644 graphics/logo.png create mode 100644 graphics/logo.svg create mode 100644 graphics/logo2.png create mode 100644 graphics/logo_icon.png create mode 100644 graphics/logo_med.png create mode 100644 graphics/logo_symbol_only.svg create mode 100644 graphics/spiffworkflow_logo_ideas.svg create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100755 scripts/test_times.py create mode 100644 setup.py create mode 120000 sonar-project.properties create mode 100644 tests/SpiffWorkflow/ExecuteProcessMock.py create mode 100644 tests/SpiffWorkflow/PatternTest.py create mode 100644 tests/SpiffWorkflow/PersistSmallWorkflowTest.py create mode 100644 tests/SpiffWorkflow/TaskTest.py create mode 100644 tests/SpiffWorkflow/WorkflowTest.py create mode 100644 tests/SpiffWorkflow/__init__.py create mode 100644 tests/SpiffWorkflow/bpmn/AntiLoopTaskTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ApprovalsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/BaseParallelTestCase.py create mode 100644 tests/SpiffWorkflow/bpmn/BoxDeepCopyTest.py create mode 100644 tests/SpiffWorkflow/bpmn/BpmnLoaderForTests.py create mode 100644 tests/SpiffWorkflow/bpmn/BpmnSerializerTest.py create mode 100644 tests/SpiffWorkflow/bpmn/BpmnWorkflowSerializerTest.py create mode 100644 tests/SpiffWorkflow/bpmn/BpmnWorkflowTestCase.py create mode 100644 tests/SpiffWorkflow/bpmn/CallActivityEndEventTest.py create mode 100644 tests/SpiffWorkflow/bpmn/CallActivitySubProcessPropTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ClashingName2Test.py create mode 100644 tests/SpiffWorkflow/bpmn/CollaborationTest.py create mode 100644 tests/SpiffWorkflow/bpmn/CustomScriptTest.py create mode 100644 tests/SpiffWorkflow/bpmn/DataObjectReferenceTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ExclusiveGatewayIntoMultiInstanceTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ExclusiveGatewayNoDefaultTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ExculsiveGatewayNonDefaultPathIntoMultiTest.py create mode 100644 tests/SpiffWorkflow/bpmn/FeelExpressionEngineTest.py create mode 100644 tests/SpiffWorkflow/bpmn/IOSpecTest.py create mode 100644 tests/SpiffWorkflow/bpmn/InvalidProcessIDTest.py create mode 100644 tests/SpiffWorkflow/bpmn/InvalidWorkflowsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/LoopTaskTest.py create mode 100644 tests/SpiffWorkflow/bpmn/MultiInstanceParallelCondTest.py create mode 100644 tests/SpiffWorkflow/bpmn/MultiInstanceParallelTest.py create mode 100644 tests/SpiffWorkflow/bpmn/MultiInstanceTest.py create mode 100644 tests/SpiffWorkflow/bpmn/NITimerDurationBoundaryTest.py create mode 100644 tests/SpiffWorkflow/bpmn/NavListMulipleEnds.py create mode 100644 tests/SpiffWorkflow/bpmn/NestedProcessesTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelFromCamundaTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelJoinLongInclusiveTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelJoinLongTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelLoopingAfterJoinTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTestNested.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsAndJoinsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelOnePathEndsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelOrderTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelThenExclusiveTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelThroughSameTaskTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParallelWithScriptTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ParserTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ProcessDependencyTest.py create mode 100644 tests/SpiffWorkflow/bpmn/PythonScriptEngineTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ResetSubProcessTest.py create mode 100644 tests/SpiffWorkflow/bpmn/SameNameBugTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ScriptTest.py create mode 100644 tests/SpiffWorkflow/bpmn/ScriptTestBox.py create mode 100644 tests/SpiffWorkflow/bpmn/ServiceTaskTest.py create mode 100644 tests/SpiffWorkflow/bpmn/SubWorkflowMultiTest.py create mode 100644 tests/SpiffWorkflow/bpmn/SwimLaneTest.py create mode 100644 tests/SpiffWorkflow/bpmn/TooManyLoopsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/__init__.py create mode 100644 tests/SpiffWorkflow/bpmn/data/Approvals.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/Approvals_bad.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ComplexNavigation.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ExclusiveGatewayMultipleEndNavigation.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/README.txt create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTask.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTaskCond.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/NavLeapFrogLong.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ParallelOrder.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ParallelWithScript.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ScriptTest.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/ScriptTestBox.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test-Sub.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Multi-Instance.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel.camunda.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/README.txt create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.bpmn20.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.signavio.xml create mode 100644 tests/SpiffWorkflow/bpmn/data/boundary.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/boundary_timer_on_task.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/bpmnAntiLoopTask.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/bpmnLoopTask.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/bpmnMultiUserTask.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_call_activity.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_end_event.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2b.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_3.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_nested.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_nested/level2c.dmn create mode 100644 tests/SpiffWorkflow/bpmn/data/call_activity_with_error.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/collaboration.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/correlation.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/correlation_two_conversations.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/custom_function_test.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/custom_function_test_call_activity.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/data_object.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/exclusive_gateway_no_default.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/exclusive_into_multi.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/exclusive_non_default_path_into_multi.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/invalid_cancel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/invalid_process_sub.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/invalid_process_top.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/io_spec.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/io_spec_parent.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/lanes.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/multipleEvents.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/proptest-Sub.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/proptest-Top.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/random_fact.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/resetworkflowA-sublevel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/resetworkflowA-toplevel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/resetworkflowB-sublevel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/resetworkflowB-toplevel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/rrt.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/same_id.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/same_id_sub.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/serialization/v1.0.json create mode 100644 tests/SpiffWorkflow/bpmn/data/service_task.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_in_loop.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_in_loop_call_activity.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_within_sub_multi.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_workflow_multi.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_workflow_multi1.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/sub_workflow_multi_parallel.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer-cycle-start.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer-cycle.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer-date-start.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer-non-interrupt-boundary.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/timer_event_changes_last_task.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/too_many_loops.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/too_many_loops_call_activity.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/too_many_loops_sub_process.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/transaction.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/data/two_top_level_procs.bpmn create mode 100644 tests/SpiffWorkflow/bpmn/events/ActionManagementTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/CallActivityEscalationTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/CancelBoundaryEventTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MessageInterruptsSpTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MessageInterruptsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MessageNonInterruptTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MessageNonInterruptsSpTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MessagesTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/MultipleEventsTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerCycleStartTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerCycleTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerDateTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryOnTaskTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerDurationTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TimerIntermediateTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/TransactionSubprocssTest.py create mode 100644 tests/SpiffWorkflow/bpmn/events/__init__.py create mode 100644 tests/SpiffWorkflow/bpmn/serializer/__init__.py create mode 100644 tests/SpiffWorkflow/bpmn/serializer/dictTest.py create mode 100644 tests/SpiffWorkflow/bpmn/serializer/jsonTest.py create mode 100644 tests/SpiffWorkflow/camunda/BaseTestCase.py create mode 100644 tests/SpiffWorkflow/camunda/BusinessRuleTaskParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/CallActivityMessageTest.py create mode 100644 tests/SpiffWorkflow/camunda/CamundaParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/ClashingNameTest.py create mode 100644 tests/SpiffWorkflow/camunda/DMNCustomScriptTest.py create mode 100644 tests/SpiffWorkflow/camunda/DMNDictTest.py create mode 100644 tests/SpiffWorkflow/camunda/DefaultGatewayPMITest.py create mode 100644 tests/SpiffWorkflow/camunda/ExclusiveGatewayPMITest.py create mode 100644 tests/SpiffWorkflow/camunda/ExternalMessageBoundaryEventTest.py create mode 100644 tests/SpiffWorkflow/camunda/FeelBusinessRuleTaskParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/InvalidBusinessRuleTaskParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/MessageBoundaryEventTest.py create mode 100644 tests/SpiffWorkflow/camunda/MultiInstanceArrayTest.py create mode 100644 tests/SpiffWorkflow/camunda/MultiInstanceDMNTest.py create mode 100644 tests/SpiffWorkflow/camunda/MultiInstanceDeepDictEdit.py create mode 100644 tests/SpiffWorkflow/camunda/MultiInstanceParallelArrayTest.py create mode 100644 tests/SpiffWorkflow/camunda/NIMessageBoundaryTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenMIParallelTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenMITest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenNestedParallelTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenParallelMatrixTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenParallelTaskCountTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenSubWorkflowTest.py create mode 100644 tests/SpiffWorkflow/camunda/ResetTokenTest.py create mode 100644 tests/SpiffWorkflow/camunda/StartMessageEventTest.py create mode 100644 tests/SpiffWorkflow/camunda/SubWorkflowTest.py create mode 100644 tests/SpiffWorkflow/camunda/__init__.py create mode 100644 tests/SpiffWorkflow/camunda/data/CustomScript.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/DMNMultiInstance.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/ExclusiveGatewayIfElseAndDecision.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/MessageBoundary.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/call_activity_with_message.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/call_activity_with_message_parent.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/common_workflow.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/default_gateway_pmi.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/CustomScript.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/dmndict.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/invalid_decision.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_multi.dmn create mode 100644 tests/SpiffWorkflow/camunda/data/dmndict.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/exclusive_gateway_pmi.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/external_message.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/invalid/InvalidDecision.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/message_test.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/multi_instance_array.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/multi_instance_array_parallel.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/multi_instance_parallel_deep_data_edit.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/no_form.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/noninterrupting-MessageBoundary.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/random_fact.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/random_fact.svg create mode 100644 tests/SpiffWorkflow/camunda/data/subWorkflowComplex.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_MI.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_MIParallel.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_camunda_clash.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_nested_parallel.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_parallel_matrix.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_parallel_simple.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/token_trial_subprocess.bpmn create mode 100644 tests/SpiffWorkflow/camunda/data/top_workflow.bpmn create mode 100644 tests/SpiffWorkflow/camunda/serializer/CamundaExtensionsTest.py create mode 100644 tests/SpiffWorkflow/camunda/serializer/CamundaParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/serializer/UserTaskParserTest.py create mode 100644 tests/SpiffWorkflow/camunda/serializer/__init__.py create mode 100644 tests/SpiffWorkflow/camunda/specs/UserTaskSpecTest.py create mode 100644 tests/SpiffWorkflow/camunda/specs/__init__.py create mode 100644 tests/SpiffWorkflow/data/__init__.py create mode 100644 tests/SpiffWorkflow/data/empty1.xml create mode 100644 tests/SpiffWorkflow/data/empty2.xml create mode 100644 tests/SpiffWorkflow/data/spiff/__init__.py create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/critical_section.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/critical_section.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/milestone.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/milestone.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/recursion.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/recursion.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/sequence.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/sequence.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join_inner.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/synchronization.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/synchronization.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/thread_split.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/thread_split.xml create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.path create mode 100644 tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_data.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_data.xml.data create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_data_inner.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml.data create mode 100644 tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow_inner.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml.data create mode 100644 tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block_inner.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/task_data.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/task_data.xml.data create mode 100644 tests/SpiffWorkflow/data/spiff/data/task_to_task.xml create mode 100644 tests/SpiffWorkflow/data/spiff/data/task_to_task.xml.data create mode 100644 tests/SpiffWorkflow/data/spiff/resource/.gitignore create mode 100644 tests/SpiffWorkflow/data/spiff/workflow1.path create mode 100644 tests/SpiffWorkflow/data/spiff/workflow1.py create mode 100644 tests/SpiffWorkflow/data/spiff/workflow1.xml create mode 100644 tests/SpiffWorkflow/dmn/DecisionRunner.py create mode 100644 tests/SpiffWorkflow/dmn/Dmn20151101VersionTest.py create mode 100644 tests/SpiffWorkflow/dmn/Dmn20191111VersionTest.py create mode 100644 tests/SpiffWorkflow/dmn/DmnFailVersionTest.py create mode 100644 tests/SpiffWorkflow/dmn/__init__.py create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_20151101_test.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_20191111_test.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_fail_test.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-decision-with-listed-input-data.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-shape-with-label-text.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example-financial.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-decision-service.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-dish-example.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-decision-with-listed-input-data.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-shape-with-label-text.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/chapter-11-example.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-decision-service.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-dish-example.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/financial.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/loan-info.dmn create mode 100644 tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/recommended-loan-products.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelBoolDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelDateDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelDecisionRunner.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelDictDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelDictDotNotationDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionComparisonTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionRangeTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelKwargsParameterTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelListDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelLongDoubleComparisonTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelLongOrDoubleRangeTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelNearMissNameTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelStringDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/FeelStringIntegerDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/__init__.py create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/bool_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/date_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/dict_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_weird_characters_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/exclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_comparison_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_excl_inclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_exclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_incl_exclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_inclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/invalid_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/kwargs_parameter_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/list_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_comparison_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_excl_inclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_exclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_incl_exclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_inclusive_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/string_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/string_integer_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/feel_engine/data/test_integer_decision_feel.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/BoolDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/DateDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/DictDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionWeirdCharactersTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionComparisonTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionRangeTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/InvalidBusinessRuleNameErrorTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/ListDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/LongDoubleComparisonTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/LongOrDoubleRangeTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/NearMissNameTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/PythonDecisionRunner.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/StringDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/StringIntegerDecisionTest.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/__init__.py create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/bool_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/date_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/dict_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_v1_3.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters_v1_3.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/exclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_comparison.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_excl_inclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_exclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_incl_exclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_inclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/invalid_decision_name_error.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/kwargs_parameter.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/list_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_comparison.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_excl_inclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_exclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_incl_exclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_inclusive.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/string_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/string_integer_decision.dmn create mode 100644 tests/SpiffWorkflow/dmn/python_engine/data/test_integer_decision.dmn create mode 100644 tests/SpiffWorkflow/docTest.py create mode 100644 tests/SpiffWorkflow/serializer/__init__.py create mode 100644 tests/SpiffWorkflow/serializer/baseTest.py create mode 100644 tests/SpiffWorkflow/serializer/dictTest.py create mode 100644 tests/SpiffWorkflow/serializer/jsonTest.py create mode 100644 tests/SpiffWorkflow/serializer/prettyxmlTest.py create mode 100644 tests/SpiffWorkflow/serializer/xmlTest.py create mode 100644 tests/SpiffWorkflow/specs/CeleryTest.py create mode 100644 tests/SpiffWorkflow/specs/DeepMergeTest.py create mode 100644 tests/SpiffWorkflow/specs/ExecuteTest.py create mode 100644 tests/SpiffWorkflow/specs/JoinTest.py create mode 100644 tests/SpiffWorkflow/specs/MergeTest.py create mode 100644 tests/SpiffWorkflow/specs/SubWorkflowTest.py create mode 100644 tests/SpiffWorkflow/specs/TaskSpecTest.py create mode 100644 tests/SpiffWorkflow/specs/TransformTest.py create mode 100644 tests/SpiffWorkflow/specs/WorkflowSpecTest.py create mode 100644 tests/SpiffWorkflow/specs/__init__.py create mode 100644 tests/SpiffWorkflow/spiff/BaseTestCase.py create mode 100644 tests/SpiffWorkflow/spiff/BusinessRuleTaskTest.py create mode 100644 tests/SpiffWorkflow/spiff/CorrelationTest.py create mode 100644 tests/SpiffWorkflow/spiff/PrescriptPostscriptTest.py create mode 100644 tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py create mode 100644 tests/SpiffWorkflow/spiff/ServiceTaskTest.py create mode 100644 tests/SpiffWorkflow/spiff/ServiceTaskVariableTest.py create mode 100644 tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py create mode 100644 tests/SpiffWorkflow/spiff/__init__.py create mode 100644 tests/SpiffWorkflow/spiff/data/business_rule_task.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/correlation.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/correlation_two_conversations.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/dmn/business_rules.dmn create mode 100644 tests/SpiffWorkflow/spiff/data/prescript_postscript.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/prescript_postscript_call_activity.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/prescript_postscript_parent.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/service_task.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/service_task_variable.bpmn create mode 100644 tests/SpiffWorkflow/spiff/data/spiff_properties.bpmn create mode 100644 tests/SpiffWorkflow/util.py create mode 100644 tests/__init__.py create mode 100644 unit_test_extensions.patch create mode 100755 version.sh diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..6a1ab4596 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 79 diff --git a/.flake8 b/.flake8 new file mode 100644 index 000000000..ba297ee6d --- /dev/null +++ b/.flake8 @@ -0,0 +1,2 @@ +[flake8] + diff --git a/.github/workflows/publish-on-release.yml b/.github/workflows/publish-on-release.yml new file mode 100644 index 000000000..33a70c989 --- /dev/null +++ b/.github/workflows/publish-on-release.yml @@ -0,0 +1,33 @@ +name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI +on: + release: + types: [published] +jobs: + build-n-publish: + name: Build and publish Python 🐍 distributions 📦 to PyPI + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Set up Python 3.9 + uses: actions/setup-python@v1 + with: + python-version: 3.9 + - name: Install pypa/build + run: >- + python -m + pip install + build + --user + - name: Build a binary wheel and a source tarball + run: >- + python -m + build + --sdist + --wheel + --outdir dist/ + - name: Publish distribution 📦 to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + username: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..d16de1656 --- /dev/null +++ b/.gitignore @@ -0,0 +1,279 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/python,intellij+all,macos +# Edit at https://www.toptal.com/developers/gitignore?templates=python,intellij+all,macos + +### Intellij+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij+all Patch ### +# Ignores the whole .idea folder and all .iml files +# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 + +.idea/ + +# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 + +*.iml +modules.xml +.idea/misc.xml +*.ipr + +# Sonarlint plugin +.idea/sonarlint + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# End of https://www.toptal.com/developers/gitignore/api/python,intellij+all,macos + +*.py[co] +*.swp +dist +/build +*.egg-info +unit_test.cfg +nosetests.xml +.coverage +coverage.xml +.c9revisions +.idea +/venv diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 000000000..9d94bbeaf --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,16 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + + +build: + image: latest + +# Optionally build your docs in additional formats such as PDF +formats: [] + +python: + pip_install: true + version: 3.7 + extra_requirements: + - docs diff --git a/.sonarcloud.properties b/.sonarcloud.properties new file mode 100644 index 000000000..5b04a73e9 --- /dev/null +++ b/.sonarcloud.properties @@ -0,0 +1,7 @@ +sonar.organization=sartography +sonar.projectKey=sartography_SpiffWorkflow +sonar.host.url=https://sonarcloud.io +sonar.exclusions=*.bpmn,*.dmn,doc/** +sonar.sources=SpiffWorkflow +sonar.test.inclusions=tests +sonar.python.coverage.reportPaths=tests/SpiffWorkflow/coverage.xml diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 000000000..7e78d9af5 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +python 3.10.4 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..526088a6a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,36 @@ +dist: focal +language: python + +python: + - 3.7 + - 3.8 + - 3.9 + - 3.10 + +addons: + sonarcloud: + organization: sartography + +install: + - pip install -r requirements.txt + - pip install celery + +script: + - cd tests/SpiffWorkflow + - coverage run --source=SpiffWorkflow -m unittest discover -v . "*Test.py" + - coverage xml -i + - cd ../.. + +after_success: + - sonar-scanner + +git: + depth: false + +jobs: + include: + - python: 3.7 + - python: 3.8 + - python: 3.9 + - python: 3.10 + env: RUN_QUALITY_GATES=true diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 000000000..05623d342 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +Samuel Abels +Ziad Sawalha +Matthew Hampton +Kelly McDonald +Dan Funk diff --git a/CONTRIB b/CONTRIB new file mode 100644 index 000000000..bb3f13ad2 --- /dev/null +++ b/CONTRIB @@ -0,0 +1,60 @@ +Guide for Contributors +####################### + +Coding style: + + Please follow PEP8: http://www.python.org/dev/peps/pep-0008/ + +Testing: + + Non-public classes and methods MUST be prefixed by _. This is also important + because the test and API documentation machinery makes assumptions based on + this convention. + + Every added public class MUST have a corresponding unit test. The tests are + placed in the following directory: tests/SpiffWorkflow/ + The test directory layout mirrors the source code directory layout, e.g. + SpiffWorkflow/specs/Join.py + has a corresponding test in + tests/SpiffWorkflow/specs/JoinTest.py + + The unit test for each class MUST have a CORRELATE class attribute that points + to the tested class. (The test machinery uses this attribute to find untested + methods.) + + Each commit MUST NOT break functionality. In other words, the code in the + repository should function at any time, and all test MUST pass. + +Documentation: + + Every public class and function or method MUST include API documentation. The + documentation MUST cover the method's arguments and return values. + + Write inline documentation generously. + +Repository: + + Make sure that each commit contains related changes only. E.g. don't fix + two unrelated bugs in one commit, or introduce a new feature while refactoring + another part of the program in the same commit. When in doubt, use multiple + small commits. In general, most commits should be relatively small unless they + are plain additions. + +Licensing: + + You have to agree to licensing under the lGPLv3, and every added file MUST + include a copyright header. + + If you modify a file and add a chunk of at least 7 lines in size, please add + yourself to the copyright header of that file. + +## Releases +For you dev op folks who release builds to the larger community ... + +Be sure to edit the conf.py, and update the release tag: doc/conf.py +And also edit setup.py and assure that has the same release tag. +New versions of SpiffWorkflow are automatically published to PyPi whenever +a maintainer of our GitHub repository creates a new release on GitHub. This +is managed through GitHub's actions. The configuration of which can be +found in .github/workflows/.... +Just create a release in GitHub that mathches the release number in doc/conf.py diff --git a/COPYING b/COPYING new file mode 100644 index 000000000..aad50338b --- /dev/null +++ b/COPYING @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..ca5f172f6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM python:3.6 +RUN apt-get -y update && apt-get upgrade -yu +COPY . /tmp/SpiffWorkflow +RUN cd /tmp/SpiffWorkflow && make wheel && pip install dist/SpiffWorkflow*.whl diff --git a/INSTALL b/INSTALL new file mode 100644 index 000000000..3e8479788 --- /dev/null +++ b/INSTALL @@ -0,0 +1,3 @@ +To install this package, run + + sudo python setup.py install --prefix /usr/local diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..180691381 --- /dev/null +++ b/Makefile @@ -0,0 +1,88 @@ +NAME=SpiffWorkflow +VERSION=`python setup.py --version` +PREFIX=/usr/local/ +BIN_DIR=$(PREFIX)/bin +SITE_DIR=$(PREFIX)`python -c "import sys; from distutils.sysconfig import get_python_lib; print get_python_lib()[len(sys.prefix):]"` + +################################################################### +# Standard targets. +################################################################### +.PHONY : clean +clean: + find . -name "*.pyc" -o -name "*.pyo" | xargs -rn1 rm -f + find . -name "*.egg-info" | xargs -rn1 rm -r + rm -Rf build + cd doc; make clean + +.PHONY : dist-clean +dist-clean: clean + rm -Rf dist + +.PHONY : doc +doc: + cd doc; make + +install: + mkdir -p $(SITE_DIR) + ./version.sh + export PYTHONPATH=$(SITE_DIR):$(PYTHONPATH); \ + python setup.py install --prefix $(PREFIX) \ + --install-scripts $(BIN_DIR) \ + --install-lib $(SITE_DIR) + ./version.sh --reset + +uninstall: + # Sorry, Python's distutils support no such action yet. + +.PHONY : tests +tests: + cd tests/$(NAME) + PYTHONPATH=../.. python -m unittest discover -v . "*Test.py" + +.PHONY : tests-cov +tests-cov: + cd tests/$(NAME) + coverage run --source=$(NAME) -m unittest discover -v . "*Test.py" + +.PHONY : tests-ind +tests-ind: + cd tests/$(NAME) + @PYTHONPATH=../.. find . -name "*Test.py" -printf '%p' -exec python -m unittest {} \; + +.PHONY : tests-timing +tests-timing: + @make tests-ind 2>&1 | ./scripts/test_times.py + +################################################################### +# Package builders. +################################################################### +targz: clean + ./version.sh + python setup.py sdist --formats gztar + ./version.sh --reset + +tarbz: clean + ./version.sh + python setup.py sdist --formats bztar + ./version.sh --reset + +wheel: clean + ./version.sh + python setup.py bdist_wheel --universal + ./version.sh --reset + +deb: clean + ./version.sh + debuild -S -sa + cd ..; sudo pbuilder build $(NAME)_$(VERSION)-0ubuntu1.dsc; cd - + ./version.sh --reset + +dist: targz tarbz wheel + +################################################################### +# Publishers. +################################################################### +dist-publish: + ./version.sh + python setup.py bdist_wheel --universal upload + ./version.sh --reset diff --git a/README.md b/README.md new file mode 100644 index 000000000..a5ba1c772 --- /dev/null +++ b/README.md @@ -0,0 +1,121 @@ +## SpiffWorkflow +![Logo](./graphics/logo_med.png) + +Spiff Workflow is a workflow engine implemented in pure Python. It is based on +the excellent work of the Workflow Patterns initiative. In 2020 and 2021, +extensive support was added for BPMN / DMN processing. + +## Motivation +We created SpiffWorkflow to support the development of low-code business +applications in Python. Using BPMN will allow non-developers to describe +complex workflow processes in a visual diagram, coupled with a powerful python +script engine that works seamlessly within the diagrams. SpiffWorkflow can parse +these diagrams and execute them. The ability for businesses to create +clear, coherent diagrams that drive an application has far reaching potential. +While multiple tools exist for doing this in Java, we believe that wide +adoption of the Python Language, and it's ease of use, create a winning +strategy for building Low-Code applications. + + +## Build status +[![Build Status](https://travis-ci.com/sartography/SpiffWorkflow.svg?branch=master)](https://travis-ci.org/sartography/SpiffWorkflow) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=alert_status)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow) +[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=coverage)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow) +[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow) +[![Documentation Status](https://readthedocs.org/projects/spiffworkflow/badge/?version=latest)](http://spiffworkflow.readthedocs.io/en/latest/?badge=latest) +[![Issues](https://img.shields.io/github/issues/sartography/spiffworkflow)](https://github.com/sartography/SpiffWorkflow/issues) +[![Pull Requests](https://img.shields.io/github/issues-pr/sartography/spiffworkflow)](https://github.com/sartography/SpiffWorkflow/pulls) + +## Code style + +[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/) + + +## Dependencies +We've worked to minimize external dependencies. We rely on lxml for parsing +XML Documents, and there is some legacy support for Celery, but it is not +core to the implementation, it is just a way to interconnect these systems. +Built with +- [lxml](https://lxml.de/) +- [celery](https://docs.celeryproject.org/en/stable/) + +## Features +* __BPMN__ - support for parsing BPMN diagrams, including the more complex +components, like pools and lanes, multi-instance tasks, sub-workflows, timer +events, signals, messages, boudary events and looping. +* __DMN__ - We have a baseline implementation of DMN that is well integrated +with our Python Execution Engine. +* __Forms__ - forms, including text fields, selection lists, and most every other +thing you can be extracted from the Camunda xml extension, and returned as +json data that can be used to generate forms on the command line, or in web +applications (we've used Formly to good success) +* __Python Workflows__ - We've retained support for building workflows directly +in code, or running workflows based on a internal json data structure. + +_A complete list of the latest features is available with our [release notes](https://github.com/sartography/SpiffWorkflow/releases/tag/1.0) for +version 1.0._ + +## Code Examples and Documentation +Detailed documentation is available on [ReadTheDocs](https://spiffworkflow.readthedocs.io/en/latest/) +Also, checkout our [example application](https://github.com/sartography/spiff-example-cli), which we +reference extensively from the Documentation. + +## Installation +``` +pip install spiffworkflow +``` + +## Tests +``` +cd tests/SpiffWorkflow +coverage run --source=SpiffWorkflow -m unittest discover -v . "*Test.py" +``` + +## Support +You can find us on Discord at https://discord.gg/zDEBEnrF + +Commercial support for SpiffWorkflow is available from +[Sartography](https://sartography.com) + +## Contribute +Pull Requests are and always will be welcome! + +Please check your formatting, assure that all tests are passing, and include +any additional tests that can demonstrate the new code you created is working +as expected. If applicable, please reference the issue number in your pull +request. + +## Credits and Thanks + +Samuel Abels (@knipknap) for creating SpiffWorkflow and maintaining it for over +a decade. + +Matthew Hampton (@matthewhampton) for his initial contributions around BPMN +parsing and execution. + +The University of Virginia for allowing us to take on the mammoth task of +building a general-purpose workflow system for BPMN, and allowing us to +contribute that back to the open source community. In particular, we would like +to thank [Ron Hutchins](https://www.linkedin.com/in/ron-hutchins-b19603123/), +for his trust and support. Without him our efforts would not be possible. + +Bruce Silver, the author of BPMN Quick and Easy Using Method and Style, whose +work we referenced extensively as we made implementation decisions and +educated ourselves on the BPMN and DMN standards. + +The BPMN.js library, without which we would not have the tools to effectively +build out our models, embed an editor in our application, and pull this mad +mess together. + +Kelly McDonald (@w4kpm) who dove deeper into the core of SpiffWorkflow than +anyone else, and was instrumental in helping us get some of these major +enhancements working correctly. + +Thanks also to the many contributions from our community. Large and small. +From Ziad (@ziadsawalha) in the early days to Elizabeth (@essweine) more +recently. It is good to be a part of this long lived and strong +community. + + +## License +GNU LESSER GENERAL PUBLIC LICENSE diff --git a/TODO b/TODO new file mode 100644 index 000000000..05ca4b422 --- /dev/null +++ b/TODO @@ -0,0 +1,5 @@ +* Write an asynchronous server. +* As soon as it is possible to trigger an action twice without + creating another branch (some kind of asynchronous notification, + perhaps), make sure to test the generalized AND-join with that + in xml/patterns/generalized_and_join.xml. diff --git a/VERSION.in b/VERSION.in new file mode 100644 index 000000000..97cfe6074 --- /dev/null +++ b/VERSION.in @@ -0,0 +1,4 @@ +""" +Warning: This file is automatically generated. +""" +__version__ = '@VERSION@' diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 000000000..e35d8850c --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1 @@ +_build diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 000000000..0bf4a3052 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,221 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help +help: + @echo "Please use \`make ' where is one of" + @echo " apidoc to build in the api documentation" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + +.PHONY: apidoc +apidoc: + sphinx-apidoc -d5 -Mefo . ../SpiffWorkflow + +.PHONY: html +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +.PHONY: dirhtml +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: pickle +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +.PHONY: json +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +.PHONY: htmlhelp +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +.PHONY: qthelp +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SpiffWorkflow.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SpiffWorkflow.qhc" + +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/SpiffWorkflow" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SpiffWorkflow" + @echo "# devhelp" + +.PHONY: epub +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: latex +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +.PHONY: latexpdf +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: latexpdfja +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +.PHONY: text +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +.PHONY: man +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +.PHONY: texinfo +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +.PHONY: info +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +.PHONY: gettext +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +.PHONY: changes +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +.PHONY: linkcheck +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +.PHONY: doctest +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +.PHONY: pseudoxml +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/bpmn/Makefile b/doc/bpmn/Makefile new file mode 100644 index 000000000..391c73bf0 --- /dev/null +++ b/doc/bpmn/Makefile @@ -0,0 +1,25 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +.PHONY: apidoc +apidoc: + sphinx-apidoc -d5 -Mefo . ../venv/lib/python3.7/site-packages/SpiffWorkflow + + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/bpmn/advanced.rst b/doc/bpmn/advanced.rst new file mode 100644 index 000000000..c42f38910 --- /dev/null +++ b/doc/bpmn/advanced.rst @@ -0,0 +1,423 @@ +A More In-Depth Look at Some of SpiffWorkflow's Features +======================================================== + +Displaying Workflow State +------------------------- + +Filtering Tasks +^^^^^^^^^^^^^^^ + +In our earlier example, all we did was check the lane a task was in and display +it along with the task name and state. + +Lets take a look at a sample workflow with lanes: + +.. figure:: figures/lanes.png + :scale: 30% + :align: center + + Workflow with lanes + +To get all of the tasks that are ready for the 'Customer' workflow, we could +specify the lane when retrieving ready user tasks: + +.. code:: python + + ready_tasks = workflow.get_ready_user_tasks(lane='Customer') + +If there were no tasks ready for the 'Customer' lane, you would get an empty list, +and of course if you had no lane that was labeled 'Customer' you would *always* get an +empty list. + +We can also get a list of tasks by state. + +We need to import the :code:`Task` object (unless you want to memorize which numbers +correspond to which states). + +.. code:: python + + from SpiffWorkflow.task import Task + +To get a list of completed tasks + +.. code:: python + + tasks = workflow.get_tasks(Task.COMPLETED) + +The tasks themselves are not particularly intuitive to work with. So SpiffWorkflow +provides some facilities for obtaining a more user-friendly version of upcoming tasks. + +Nav(igation) List +^^^^^^^^^^^^^^^^^ + +In order to get the navigation list, we can call the workflow.get_nav_list() function. This +will return a list of dictionaries with information about each task and decision point in the +workflow. Each item in this list returns some information about the tasks that are in the workflow, +and how it relates to the other tasks. + +To give you an idea of what is in the list I'll include a segment from the documentation:: + + id - TaskSpec or Sequence flow id + task_id - The uuid of the actual task instance, if it exists. + name - The name of the task spec (or sequence) + description - Text description + backtracks - Boolean, if this backtracks back up the list or not + level - Depth in the tree - probably not needed + indent - A hint for indentation + child_count - The number of children that should be associated with + this item. + lane - This is the swimlane for the task if indicated. + state - Text based state (may be half baked in the case that we have + more than one state for a task spec - but I don't think those + are being reported in the list, so it may not matter) + Any task with a blank or None as the description are excluded from the list (i.e. gateways) + + +Because the output from this list may be used in a variety of contexts, the implementation is left to the user. + +MultiInstance Notes +------------------- + +**loopCardinality** - This variable can be a text representation of a +number - for example '2' or it can be the name of a variable in +task.data that resolves to a text representation of a number. +It can also be a collection such as a list or a dictionary. In the +case that it is a list, the loop cardinality is equal to the length of +the list and in the case of a dictionary, it is equal to the list of +the keys of the dictionary. + +If loopCardinality is left blank and the Collection is defined, or if +loopCardinality and Collection are the same collection, then the +MultiInstance will loop over the collection and update each element of +that collection with the new information. In this case, it is assumed +that the incoming collection is a dictionary, currently behavior for +working with a list in this manner is not defined and will raise an error. + +**Collection** This is the name of the collection that is created from +the data generated when the task is run. Examples of this would be +form data that is generated from a UserTask or data that is generated +from a script that is run. Currently the collection is built up to be +a dictionary with a numeric key that corresponds to the place in the +loopCardinality. For example, if we set the loopCardinality to be a +list such as ['a','b','c] the resulting collection would be {1:'result +from a',2:'result from b',3:'result from c'} - and this would be true +even if it is a parallel MultiInstance where it was filled out in a +different order. + +**Element Variable** This is the variable name for the current +iteration of the MultiInstance. In the case of the loopCardinality +being just a number, this would be 1,2,3, . . . If the +loopCardinality variable is mapped to a collection it would be either +the list value from that position, or it would be the value from the +dictionary where the keys are in sorted order. It is the content of the +element variable that should be updated in the task.data. This content +will then be added to the collection each time the task is completed. + +Example: + In a sequential MultiInstance, loop cardinality is ['a','b','c'] and elementVariable is 'myvar' + then in the case of a sequential multiinstance the first call would + have 'myvar':'a' in the first run of the task and 'myvar':'b' in the + second. + +Example: + In a Parallel MultiInstance, Loop cardinality is a variable that contains + {'a':'A','b':'B','c':'C'} and elementVariable is 'myvar' - when the multiinstance is ready, there + will be 3 tasks. If we choose the second task, the task.data will + contain 'myvar':'B'. + +Custom Script Engines +--------------------- + +You may need to modify the default script engine, whether because you need to make additional +functionality available to it, or because you might want to restrict its capabilities for +security reasons. + +.. warning:: + + The default script engine does little to no sanitization and uses :code:`eval` + and :code:`exec`! If you have security concerns, you should definitely investigate + replacing the default with your own implementation. + +The default script engine imports the following objects: + +- :code:`timedelta` +- :code:`datetime` +- :code:`dateparser` +- :code:`pytz` + +You could add other functions or classes from the standard python modules or any code you've +implemented yourself. + +In our example models so far, we've been using DMN tables to obtain product information. DMN +tables have a **lot** of uses so we wanted to feature them prominently, but in a simple way. + +If a customer was selecting a product, we would surely have information about how the product +could be customized in a database somewhere. We would not hard code product information in +our diagram (although it is much easier to modify the BPMN diagram than to change the code +itself!). Our shipping costs would not be static, but would depend on the size of the order and +where it was being shipped -- maybe we'd query an API provided by our shipper. + +SpiffWorkflow is obviously **not** going to know how to make a call to **your** database or +make API calls to **your** vendors. However, you can implement the calls yourself and make them +available as a method that can be used within a script task. + +We are not going to actually include a database or API and write code for connecting to and querying +it, but we can model our database with a simple dictionary lookup since we only have 7 products +and just return the same static info for shipping for the purposes of the tutorial. + +.. code:: python + + from collections import namedtuple + + from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine + + ProductInfo = namedtuple('ProductInfo', ['color', 'size', 'style', 'price']) + + INVENTORY = { + 'product_a': ProductInfo(False, False, False, 15.00), + 'product_b': ProductInfo(False, False, False, 15.00), + 'product_c': ProductInfo(True, False, False, 25.00), + 'product_d': ProductInfo(True, True, False, 20.00), + 'product_e': ProductInfo(True, True, True, 25.00), + 'product_f': ProductInfo(True, True, True, 30.00), + 'product_g': ProductInfo(False, False, True, 25.00), + } + + def lookup_product_info(product_name): + return INVENTORY[product_name] + + def lookup_shipping_cost(shipping_method): + return 25.00 if shipping_method == 'Overnight' else 5.00 + + additions = { + 'lookup_product_info': lookup_product_info, + 'lookup_shipping_cost': lookup_shipping_cost + } + + CustomScriptEngine = PythonScriptEngine(scriptingAdditions=additions) + +We pass the script engine we created to the workflow when we load it. + +.. code:: python + + return BpmnWorkflow(parser.get_spec(process), script_engine=CustomScriptEngine) + +We can use the custom functions in script tasks like any normal function: + +.. figure:: figures/custom_script_usage.png + :scale: 30% + :align: center + + Workflow with lanes + +And we can simplify our 'Call Activity' flows: + +.. figure:: figures/call_activity_script_flow.png + :scale: 30% + :align: center + + Workflow with lanes + +To run this workflow: + +.. code-block:: console + + ./run.py -p order_product -b bpmn/call_activity_script.bpmn bpmn/top_level_script.bpmn + +We have also done some work using `Restricted Python `_ +to provide more secure alternatives to standard python functions. + +Serialization +------------- + +.. warning:: + + Serialization Changed in Version 1.1.7. Support for pre-1.1.7 serialization will be dropped in 1.2. + The old serialization method still works but it is deprecated. + To migrate your system to the new version, see "Migrating between + serialization versions" below. + +So far, we've only considered the context where we will run the workflow from beginning to end in one +setting. This may not always be the case, we may be executing the workflow in the context of a web server where we +may have a user request a web page where we open a specific workflow that we may be in the middle of, do one step of +that workflow and then the user may be back in a few minutes, or maybe a few hours depending on the application. + +To accomplish this, we can import the serializer + +.. code:: python + + from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer + +This class contains a serializer for a workflow containing only standard BPMN Tasks. Since we are using custom task +classes (the Camunda :code:`UserTask` and the DMN :code:`BusinessRuleTask`), we'll need to import serializers for those task s +pecs as well. + +.. code:: python + + from SpiffWorkflow.camunda.serializer import UserTaskConverter + from SpiffWorkflow.dmn.serializer import BusinessRuleTaskConverter + +Strictly speaking, these are not serializers per se: they actually convert the tasks into dictionaries of +JSON-serializable objects. Conversion to JSON is done only as the last step and could easily be replaced with some +other output format. + +We'll need to configure a Workflow Spec Converter with our custom classes: + +.. code:: python + + wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter( + [ UserTaskConverter, BusinessRuleTaskConverter ]) + +We create a serializer that can handle our extended task specs: + +.. code:: python + + serializer = BpmnWorkflowSerializer(wf_spec_converter) + +We'll give the user the option of dumping the workflow at any time. + +.. code:: python + + filename = input('Enter filename: ') + state = serializer.serialize_json(workflow) + with open(filename, 'w') as dump: + dump.write(state) + +We'll ask them for a filename and use the serializer to dump the state to that file. + +To restore the workflow: + +.. code:: python + + if args.restore is not None: + with open(args.restore) as state: + wf = serializer.deserialize_json(state.read()) + +The workflow serializer is designed to be flexible and modular and as such is a little complicated. It has +two components: + +- a workflow spec converter (which handles workflow and task specs) +- a data converter (which handles workflow and task data). + +The default workflow spec converter likely to meet your needs, either on its own, or with the inclusion of +:code:`UserTask` and :code:`BusinessRuleTask` in the :code:`camnuda` and :code:`dmn` subpackages of this +library, and all you'll need to do is add them to the list of task converters, as we did above. + +However, he default data converter is very simple, adding only JSON-serializable conversions of :code:`datetime` +and :code:`timedelta` objects (we make these available in our default script engine) and UUIDs. If your +workflow or task data contains objects that are not JSON-serializable, you'll need to extend ours, or extend +its base class to create one of your own. + +To do extend ours: + +1. Subclass the base data converter +2. Register classes along with functions for converting them to and from dictionaries + +.. code:: python + + from SpiffWorkflow.bpmn.serializer.dictionary import DictionaryConverter + + class MyDataConverter(DictionaryConverter): + + def __init__(self): + super().__init__() + self.register(MyClass, self.my_class_to_dict, self.my_class_from_dict) + + def my_class_to_dict(self, obj): + return obj.__dict__ + + def my_class_from_dict(self, dct): + return MyClass(**dct) + +More information can be found in the class documentation for the +`default converter `_ +and its `base class `_ +. + +You can also replace ours entirely with one of your own. If you do so, you'll need to implement `convert` and +`restore` methods. The former should return a JSON-serializable representation of your workflow data; the +latter should recreate your data from the serialization. + +If you have written any custom task specs, you'll need to implement task spec converters for those as well. + +Task Spec converters are also based on the :code:`DictionaryConverter`. You should be able to use the +`BpmnTaskSpecConverter `_ +as a basis for your custom specs. It provides some methods for extracting attributes from Spiff base classes as well as +standard BPNN attributes from tasks that inherit from :code:`BMPNSpecMixin`. + +The `Camunda User Task Converter `_ +should provide a simple example of how you might create such a converter. + +Migrating Between Serialization Versions +---------------------------------------- + +Old (Non-Versioned) Serializer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Prior to Spiff 1.1.7, the serialized output did not contain a version number. + +.. code:: python + + old_serializer = BpmnSerializer() # the deprecated serializer. + # new serializer, which can be customized as described above. + serializer = BpmnWorkflowSerializer(version="MY_APP_V_1.0") + +The new serializer has a :code:`get_version` method that will read the version +back out of the serialized json. If the version isn't found, it will return +:code:`None`, and you can then assume it is using the old style serializer. + +.. code:: python + + version = serializer.get_version(some_json) + if version == "MY_APP_V_1.0": + workflow = serializer.deserialize_json(some_json) + else: + workflow = old_serializer.deserialize_workflow(some_json, workflow_spec=spec) + + +If you are not using any custom tasks and do not require custom serialization, then you'll be able to +serialize the workflow in the new format: + +.. code:: python + + new_json = serializer.serialize_json(workflow) + +However, if you use custom tasks or data serialization, you'll also need to specify workflow spec or data +serializers, as in the examples in the previous section, before you'll be able to serialize with the new serializer. +The code would then look more like this: + +.. code:: python + + from SpiffWorkflow.camunda.serializer import UserTaskConverter + + old_serializer = BpmnSerializer() # the deprecated serializer. + + # new serializer, with customizations + wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([UserTaskConverter]) + data_converter = MyDataConverter + serializer = BpmnWorkflowSerializer(wf_spec_converter, data_converter, version="MY_APP_V_1.0") + + version = serializer.get_version(some_json) + if version == "MY_APP_V_1.0": + workflow = serializer.deserialize_json(some_json) + else: + workflow = old_serializer.deserialize_workflow(some_json, workflow_spec=spec) + + new_json = serializer.serialize_json(workflow) + +Because the serializer is highly customizable, we've made it possible for you to manage your own versions of the +serialization. You can do this by passing a version number into the serializer, which will be embedded in the +json of all workflows. This allow you to modify the serialization and customize it over time, and still manage +the different forms as you make adjustments without leaving people behind. + +Versioned Serializer +^^^^^^^^^^^^^^^^^^^^ + +As we make changes to Spiff, we may change the serialization format. For example, in 1.1.8, we changed +how subprocesses were handled interally in BPMN workflows and updated how they are serialized. If you have +not overridden our version number with one of your own, the serializer will transform the 1.0 format to the +new 1.1 format. + +If you've overridden the serializer version, you may need to incorporate our serialization changes with +your own. You can find our conversions in +`version_migrations.py `_ diff --git a/doc/bpmn/conf.py b/doc/bpmn/conf.py new file mode 100755 index 000000000..996b2d8f3 --- /dev/null +++ b/doc/bpmn/conf.py @@ -0,0 +1,60 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + +numfig = True + +# -- Project information ----------------------------------------------------- + +project = 'SpiffWorkflow-BPMN Documentation' +copyright = '2020, Sartography' +author = 'Sartography' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. + +extensions = ['sphinx.ext.autodoc', # 'sphinx.ext.coverage', + 'sphinx.ext.viewcode', + 'sphinx.ext.autosummary', + #'sphinx.ext.intersphinx', + ] + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'default' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +intersphinx_mapping = {'http://docs.python.org/': None} diff --git a/doc/bpmn/events.rst b/doc/bpmn/events.rst new file mode 100644 index 000000000..63fc697a2 --- /dev/null +++ b/doc/bpmn/events.rst @@ -0,0 +1,260 @@ +Events +====== + +BPMN Model +---------- + +We'll be using the following files from `spiff-example-cli `_. + +- `transaction `_ workflow +- `signal_event `_ workflow +- `events `_ workflow +- `call activity `_ workflow +- `product_prices `_ DMN table +- `shipping_costs `_ DMN table + +A general overview of events in BPMN can be found in the :doc:`/intro` +section of the documentation. + +SpiffWorkflow supports the following Event Definitions: + +- `Cancel Events`_ +- `Signal Events`_ +- `Terminate Events`_ +- `Error Events`_ +- `Escalation Events`_ +- `Timer Events`_ +- `Message Events`_ + +We'll include examples of all of these types in this section. + +Transactions +^^^^^^^^^^^^ + +We also need to introduce the concept of a Transaction, bceause certain events +can only be used in that context. A Transaction is essentially a subprocess, but +it must fully complete before it affects its outer workflow. + +We'll make our customer's ordering process through the point they review their order +into a Transaction. If they do not complete their order, then product selections and +customizations will be discarded; if they place the order, the workflow will proceed +as before. + +We'll also introduce our first event type, the Cancel Event. Cancel Events can +only be used in Transactions. + +Cancel Events +^^^^^^^^^^^^^ + +.. figure:: figures/transaction.png + :scale: 30% + :align: center + + Workflow with a transaction and Cancel Event + +We changed our 'Review Order' Task to be a User Task and have added a form, so +that we can give the customer the option of cancelling the order. If the customer +answers 'Y', then the workflow ends normally and we proceed to collecting +payment information. + +However, if the user elects to cancel their order, we use a 'Cancel End Event' +instead, which generates a Cancel Event. We can then attach a 'Cancel Boundary +Event' to the Transaction, and execute that path if the event occurs. Instead of +asking the customer for their payment info, we'll direct them to a form and ask +them why they cancelled their order. + +If the order is placed, the workflow will contain the order data; if it is +cancelled, it will contain the reason for cancellation instead. + +To run this workflow + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/transaction.bpmn bpmn/call_activity.bpmn + + +Signal Events +^^^^^^^^^^^^^ + +.. figure:: figures/signal_event.png + :scale: 30% + :align: center + + Workflow with Signal Events + +Suppose we also want to give our customer the ability to cancel their order at +any time up until they are charged. We need to throw an event after the charge +is placed and catch this event before the user completes the 'Cancel Order' task. +Once the charge is placed, the task that provides the option to cancel will +itself be cancelled when the charge event is received. + +We'll also need to detect the case that the customer cancels their order and +cancel the charge task if it occurs; we'll use a separate signal for that. + +Multiple tasks can catch the same signal event. Suppose we add a Manager role +to our workflow, and allow the Employee to refer unsuccessful charges to the +Manager for resolution. The Manager's task will also need to catch the 'Order +Cancelled' signal event. + +Signals are referred to by name. + +.. figure:: figures/throw_signal_event.png + :scale: 30% + :align: center + + Signal Event configuration + +.. Terminate Events: + +Terminate Events +^^^^^^^^^^^^^^^^ + +We also added a Terminate Event to the Manager Workflow. A regular End Event +simply marks the end of a path. A Terminate Event will indicate that the +entire workflow is complete and any remaining tasks should be cancelled. Our +customer cannot cancel an order that has already been cancelled, and we won't ask +them for feedback about it (we know it wasn't completed), so we do not want to +execute either of those tasks. + +We'll now modify our workflow to add an example of each of the other types of +events that SpiffWorkflow Supports. + +To run this workflow + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/signal_event.bpmn bpmn/call_activity.bpmn + +Error Events +^^^^^^^^^^^^ + +Let's turn to our order fulfillment subprocess. Either of these steps could +potentially fail, and we may want to handle each case differently. + +.. figure:: figures/events.png + :scale: 30% + :align: center + + Workflow with multiple event types + +One potential failure is that our product is unavailable. This actually might be +a temporary problem, but we'll assume that it is a show stopper for the sake of +this tutorial. + +We ask the Employee to verify that they were able to retrieve the product; if they +were unable to do so, then we generate an Error End Event, which we will handle +with an Interrupting Error Boundary Event (Error events are *always* Interrupting). + +If the product is unavailable, our Manager will notify the customer, issue a refund, +and cancel the order. + +Escalation Events +^^^^^^^^^^^^^^^^^ + +Escalation events are a lot like Error Events and as far as I can tell, which one +to use comes down to preference, with the caveat that if you want to use an Intermediate +Event, you'll have to use Escalation, because BPMN does not allow Intermediate Error Events, +and that Error Events cannot be Non-Interrupting. + +In our example, we'll assume that if we failed to ship the product, we can try again later, +so we will not end the Subprocess (Escalation events can be either Interrupting or +Non-Interrupting). + +However, we still want to notify our customer of a delay, so we use a Non-Interrupting +Escalation Boundary Event. + +Both Error and Escalation Events can be optionally associated with a code. Here is +Throw Event for our `product_not_shipped` Escalation. + +.. figure:: figures/throw_escalation_event.png + :scale: 30% + :align: center + + Throw Escalation Event configuration + +Error Event configuration is similar. + +If no code is provided in a Catch event, any event of the corresponding type will catch +the event. + +Timer Events +^^^^^^^^^^^^ + +In the previous section, we mentioned that that we would try again later if we were unable +to ship the order. We can use a Duration Timer Event to force our workflow to wait a certain +amount of time before continuing. We can use this as a regular Intermediate Event (in +'Try Again Later') or a Boundary Event. Timer Boundary Events can be Interrupting, but in +this case, we simply want to notify the customer of the delay while continuing to process +their order, so we use a Non-Interrupting Event. + +.. figure:: figures/timer_event.png + :scale: 30% + :align: center + + Duration Timer Event configuration + +We express the duration as a Python :code:`timedelta`. We show the configuration for the Boundary +Event. + +It is also possible to use a static datetime to trigger an event. It will need to be parseable +as a date by Python. + +Timer events can only be caught, that is waited on. The timer begins implicitly when we +reach the event. + +Message Events +^^^^^^^^^^^^^^ + +.. sidebar:: QA Lane + + Ideally, this lane would be a process independent from the ordering process (we don't want + it to be cancelled just because an order eventually completes). However, limitations of how + SpiffWorkflow handles processes precludes multiple top-level processes. + +In BPMN, Messages are used to communicate across processes and cannot be used within a +workflow, but SpiffWorkflow allows message communication between lanes as well as between +parent and child workflows. We'll use the first scenario in our example. + +We've added a QA lane to out ordering process, whose job is investigating order order delays +and recommending improvements. This portion of our process will only be started when an +appropriate message is received. + +Messages are similar to signals, in that they are referenced by name, but they have the +additional property that they may contain a payload. + +.. note:: + + We currently depend on some Camunda-specific features in our implementation, but we + intend to replace this with our own. + +.. figure:: figures/throw_message_event.png + :scale: 30% + :align: center + + Throw Message Event configuration + +The Throw Message Event Implementation should be 'Expression' and the Expression should +be a Python statement that can be evaluated. In this example, we'll just send the contents +of the :code:`reason_delayed` variable, which contains the response from the 'Investigate Delay' +Task. + +We can provide a name for the result variable, but I have not done that here, as it does not +make sense to me for the generator of the event to tell the handler what to call the value. +If you *do* specify a result variable, the message payload (the expression evaluated in the +context of the Throwing task) will be added to the handling task's data in a variable of that +name; if you leave it blank, SpiffWorkflow will create a variable of the form _Response. + +Running The Model +^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/events.bpmn bpmn/call_activity.bpmn + diff --git a/doc/bpmn/figures/business_rule_task.png b/doc/bpmn/figures/business_rule_task.png new file mode 100644 index 0000000000000000000000000000000000000000..f76b8f62b815d65b9b34196effdf6a6514950a3d GIT binary patch literal 99428 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 Y&WA_cb-nn9t$c4d-01h#S0 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%0D&09Kmhu0_JKo>1Bp^aI9zQMZ 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 H;?MsBz1dFO literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/call_activity_script_flow.png b/doc/bpmn/figures/call_activity_script_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..68f5558905cc35e6d953dce7c0dee7e97933813a GIT binary patch literal 97041 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%0D-o-*6YO0o;V2vBUh_`gC-WfJG#eC*f) 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/catch_esclalation_event.png b/doc/bpmn/figures/catch_esclalation_event.png new file mode 100644 index 0000000000000000000000000000000000000000..646dc5d327c12bd80c10b6ecf9324398a3eb4f6f GIT binary patch literal 45802 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

I(KZ|x>c-*e0m3^47vzr3a&FjK6Y$xMGOw| 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 n{NjXS}e;L=D)f&~lOxVv?5 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

g+l(u`!12*O^<;!}TH5JAvB^ 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/dmn_table.png b/doc/bpmn/figures/dmn_table.png new file mode 100644 index 0000000000000000000000000000000000000000..75e21c5e8212698d357010734b1d63f107f6e53d GIT binary patch literal 50908 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 ZQ;*T5-#)0ns)9ijlV|)C`s1Qs{tr2?PgDQ^ literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/dmn_table_updated.png b/doc/bpmn/figures/dmn_table_updated.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1049f4e7f448918eee2434e32dccc91b2c5e41 GIT binary patch literal 66151 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�$0>eXvEw#0|1`H(z}jQSN%ejb9n1VkCyLUW6H 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/documentation.png b/doc/bpmn/figures/documentation.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d52f5c47deb890e552727d1a4ed4f820d11357 GIT binary patch literal 93944 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 uqqpncK29!?11JA=SO2%m{r}!23z3JJbybNHZX< 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%0A@bh8zU8$(=pLfwM5lC_`8iZY5URM}A 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/exclusive_gateway.png b/doc/bpmn/figures/exclusive_gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..21bea4fe750fb654f69ba1a18bf25922ce3d3a2f GIT binary patch literal 96402 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/lanes.png b/doc/bpmn/figures/lanes.png new file mode 100644 index 0000000000000000000000000000000000000000..c44dd80bc179b3b4a454dc5f69e38e0cc007af9b GIT binary patch literal 170186 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

jwcD_2U~KpN|KA3#@^G((C81`+y^_ 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⋘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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/script_task.png b/doc/bpmn/figures/script_task.png new file mode 100644 index 0000000000000000000000000000000000000000..769863730b3cba0ba8d587adf75b6e59d8ae47af GIT binary patch literal 98713 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%0Db#J+=A8 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 E58LPm&wp~ZmU0hJ3r#)tZuT`wA>-j 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Π19j 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

?22=-ZG9s1vi8;)EsOJJFjkKQq&7RQ3P? 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 LP+^>~gI7tb+(1iG>$-awAQRiur8i@=}H zGr@84?NW`R2cHZG=#pHZCevB*+CpdN(FII0b0^n9h_kaLYknzx=78>m0`SCfsd~ChiWmlJ$E?2?_)qugcX$GjKlfyc^A|4_~ zU;8EAcg&$`gUtzpLXGny^`jnR_^G9MqbPd`RCUuFJIm~b>=j#j8?ckrzI+QiF^F}9 zpQC2ww@2BHu^A}`ar6B3Ll3^W^HBVNvBAtRg&t~ZJ3hAEi(fS-|RCpROM02 z%gRRPn<$~9xgM_-u@jx(Y8syIK}uBt+^nf_$6yXPQ&p7 zE7hDf=`uXBWj$_t7bZR&;LVP#I)I6KH?4(dpM9vKvZO=Mn0FId1<^Mt-;=-!1c->> zPSxgn_wFUBSA*|DFR}hG;t?3gZX?F8JdijAIHF4BgCY{JbMuXDnbV)~%fQm|HXSh; z9-F%rd)+vT@3%S))cRuZt*Mcznl%>}lN&p<-(FA!1CwZ=G_LO+Cb*q6@cv~4ASskV z+2el~7q%Q@g)6NtMHU3`&%Oz^PbV@Bf6N%jPeF)$yElzr65E*gg=h7nW}2GfnPs7` z-@X9lIT`2Lx&n=eN6%lp=q)FA5aCp0WX|1l=mDo-vh3vakvszRhhvGTZkIpGwhd1s zqg_^`xn$|CU8lN~2(oHxs=}XqsH2m#PO>-U`8zm_xFOlEFsGU+mA$)nUn-~q{R5$f z-?vZ+Wz>KK4=gNh_&`JlP7OqWVijZo$mNOSQEjQ5tSqgK75kRNi)G%24+!F9gAG-92`V6 zApf%VG&(-4<4}Z6c35!h)-ATxvfym=Xy=$wmgn+Ae@uvYWE4G4O>K`q^inikJnZA^ zYBg5Iwp1NDT%5HbM?3b}nr+@_hp!iXS`~I_5Vw^XAH1j|j{SB{g`@G}MFXLXYW;^o zV{k;Q>uHdK=;$49>(L!?WLjUfXE&0>q0r*Kd+aHQThzGesZ|UD@S;G-F=@qk*s`&OJVl?&yXNdFj0ITOZq*`+P#vh3#Er$<2LYReCwX9x%|7u?@$0#9!l@& zvVbRHrpSpY-mNXbxa2krNk4!>ER3@NcwCCu0DiK|X7)rfh@`uA zt?2pfKXZ@_Is}4V%D0zm0m-=AOUb%t6H<*0xD}>z=6G9eC7}!+j3CF>)iv?#*$@09 z%S%K!3X40pFDKE_=R5H&7*u7*f`zAN&Nxz7WS?JnriOZG$E|%FO~lTRAD4X4RZbvt1+Nx&TkEI!Gl-0$1%xgHPZi{|ZZ=nCe}hhuX<>_Gc*7nWI@l8czAc^QKN$VnUSPc3aIcK z=+(P_f4R<*R4oQ_3~|gI`7X`{;}nC5+S+(W&oQ9*MJ~hD(6du@l0ZsbK7y%WZ=e#o zhTG86*y^*0Jt|@{Tqte_1Px?j$53g1ZY6j}UE0^9bt8riyZAc^oa}zfmLF)9)v2=} zSY1BXM2#m7>J`8Nw%l;i=qC%l@dg5Hx!S_Bp>J9JHA3mixrbMQ8ljZsA$ILAGHlQwY=-gA(tukC%@|kFIWS`D~~>PLpD= zpZ|-rV2{B`AL`R~8Ym4`ip{;2zJ>gyxz4gN-aPJwjEjc6%9xvYv>$yXmOPGv#`u9hF)zbA8k zG_rGdKjQylf7gqb9*E^-P=@QftUd{OKQIN$*-&=0ZcLLt9G_1Mk1Hqkg(c#hv`)xdb6G#?!s*j@9VcQ0!q6eRf-f&IHPB@XFew6Z zPN89;YP>7@GS_RO0%pO2Ve&yF9hMehTJ{Y1f8DAf9`@Pa6&AA)Q)?T6iKGzf1qRH)p#r%4CH^4HbER!dQ&@| z6I%Osa}wo&ki68uRQa?`Xjwq{3sbjEm4y#)$VtwzZ2jdd3$9{&<&?Uxkpk=O+{%{9 z737$bRu11+_msIKzh0&zqpZ(eL+-D7&Y;GL76iwnqtP literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/throw_message_event.png b/doc/bpmn/figures/throw_message_event.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc3722ba78e9e4ed6072b5efb5ea5f228689d40 GIT binary patch literal 42692 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/throw_scalation_event.png b/doc/bpmn/figures/throw_scalation_event.png new file mode 100644 index 0000000000000000000000000000000000000000..b3aee96cb5d83c006075edbaad8677b0b0a63a23 GIT binary patch literal 40090 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%0ATg+;AcdM`O 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

OlvD!l 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 Cj;~1o literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/top_level.png b/doc/bpmn/figures/top_level.png new file mode 100644 index 0000000000000000000000000000000000000000..da70d32a0e2208a5a9cb3539eff2b17379e11246 GIT binary patch literal 139936 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 ^1|^(gAaV3m@&S*RXKI$0)apmn!i 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 literal 0 HcmV?d00001 diff --git a/doc/bpmn/figures/transaction.png b/doc/bpmn/figures/transaction.png new file mode 100644 index 0000000000000000000000000000000000000000..100c6f76e46cc6d048dfe0dae6b5757a555d0825 GIT binary patch literal 147721 zcmce;2UL{V);5URX24cK6h#b0PKxBHC}4r)TttePl{Xcl?--DN|`I9kux6sOvzZtH|!16YuYL;I-!v*Wz)ZgZoa4WLv!y&f22(TrD*vxJalF3EF~#9BNmNX=`PnukY7H_>*-VI6xO zqsH85J1c?riK55(YT_P*H{D>xGwVEx59}#0>y+_WX{0-md4?6&nQmZVD;a)x&nL;q zHc%-HxDiJ>2J|^}U$8-YZPX*8$=nq7)#6#1mgJ_34A-^liVU?f)wMX(>#mU$#L0!P zD(t($Sc`eCOi^^pIkca6#4KeOnj58+?{!or;9>AP>-$bDJ!hiN76j)FeYSL}W8M8E z9QS13#}$vf(IHe}P<3If7uIKkomgBunXp7UAFPP@$%pSyI3aTP9L-lcDk+hdD{>>U zGBtD=gV8saQh2?##kM^MoaXCjyiFENaXWJtr+3d;sjm*JNXBXuyXJ)L=yRc!UBm8r zBztkCG%%ny4I0<*MS70tw#20VwZ{)6B0AM@>1qv(tLhyeRcLpY#vf&?7;5<#p3jRZ zU@1)}`0Kv^Y^X^NJJ-q-d?r+VV}NefuF}4jIG>@;c2#)qHa?J-^NcYhU7Q*uZz*+3 zSe-Q%-0qwT|Ki@e{l{$EoRoZ3v#syPiVf4i_&`QBzSg%*%@RnTw1tq!S3tF{8 zQVZ2#twwW9N+d}~{bsiI0A9pVK$k%~Mc_?=q3HIoOqxupAw_7$Cu~hRMeq@q7xr{1 z?2bog^2nX5+N*D6`Kf*C`f;#0Y@bKidSctLYdeGm8W(p}hY-C@k}P-I8(CvdS46MqHlkajIeu&{IB3w%dnlAlD zhfUNX>85CFcecMRoe6#DJUz3-Z%!OMEA*6GZo8jXF}XU8Ut{;?K5u5T9he?(O0zZ6beOi#%;COmUt!8YNac)D0X+9>TG_@f_RNqBV$scNgBrX z1HXX=&YVHCzc@)qUsnZNu&szq_8@3`C7+i}$638l6t#Dg)zvOeKcjMshm^97S)Wm| zp({P)bU45YLrAZ6C8tL+6`3p7+cU4wf4Qpa~LZZ!0RdmW8dFiF~B;=+$ONw4lBZuHTto_`-fN!ru zddIIg*!TwoaJ2nOdM6udDZAcGn4Cztke4(uWnj`{kMD88{G5AT%tFkUw6u0Yhn3OI z4d^bkwY18&Bsgv>@>azAt;gJN-MYB5czO5Qw6~!h^Np&E2PQs|-Dz2Ahx(>kLL5Ab zIMj77cDAL?2NcZwV%c6Y@k6D#1+x{5m|`iJVw8LrZ%B$cB~UUXO$CW7;M&!Ad8eAg z@GDK7^|ppG*h`$g#qz!lboUx;4Oy#)<)hY2F|q;XuS^xn7<>x@~He9o(a1v)&w&Q}?}a zO=8rc6j_UPNpc`}j8?sa@#MA=f4bRR`sUF5h@F7$bpNIdZ??8taU&*)EI92uKHc{{ zkJkf@82OgAczw$0abrhb$J^R;X!+J>UsTc9_AymFQIR

2RQ2qr7QRs)igtFD}!A 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໮xafpx!a7y>_*4J;U#JTP2-iw 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 ZbzbVR;JgtU_Y)>Ku6|=x{;R$T{{tgmx{?3@ literal 0 HcmV?d00001 diff --git a/doc/bpmn/gateways.rst b/doc/bpmn/gateways.rst new file mode 100644 index 000000000..7b9265332 --- /dev/null +++ b/doc/bpmn/gateways.rst @@ -0,0 +1,73 @@ +Gateways +======== + +BPMN Model +---------- + +In this section, we'll expand our model by creating alternate paths through the +workflow depending on the current workflow state, in this case, answers provided +by the user through forms. + +We've also added a second DMN table to find the cost of the selected shipping +method, and we updated our order total calculations to incorporate that cost. + +We'll be using the following files from `spiff-example-cli `_. + +- `gateway_types `_ workflow +- `product_prices `_ DMN table +- `shipping_costs `_ DMN table + +Exclusive Gateway +^^^^^^^^^^^^^^^^^ + +Exclusive gateways are used when exactly one alternative can be selected. + +Suppose our products are T-shirts and we offer product C in several colors. After +the user selects a product, we check to see it if is customizable. Our default +branch will be 'Not Customizable', but we'll direct the user to a second form +if they select 'C'; our condition for choosing this branch is a simple python +expression. + +.. figure:: figures/exclusive_gateway.png + :scale: 30% + :align: center + + Flow configuration + +Parallel Gateway +^^^^^^^^^^^^^^^^ + +.. sidebar:: IDs vs Names + + We've assigned descriptive names to all our tasks so far. Text added to + the Name field will appear in the diagram, so sometimes it's better to + leave it blank to avoid visual clutter. I've put a description of the + gateway into the ID field instead. + +Parallel gateways are used when the subsequent tasks do not need to be completed +in any particular order. The user can complete them in any sequence and the +workflow will wait for all tasks to be finished before advancing. + +We do not care whether the user chooses a shipping method or enters their +address first, but they'll need to complete both tasks before continuing. + +We don't need to do any particular configuration for this gateway type. + +.. figure:: figures/parallel_gateway.png + :scale: 30% + :align: center + + Parallel Gateway example + +Running The Model +^^^^^^^^^^^^^^^^^ + +If you have set up our example repository, this model can be run with the +following command: + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/gateway_types.bpmn + diff --git a/doc/bpmn/index.rst b/doc/bpmn/index.rst new file mode 100644 index 000000000..591986b96 --- /dev/null +++ b/doc/bpmn/index.rst @@ -0,0 +1,77 @@ +BPMN Workflows +============== + +The basic idea of SpiffWorkflow is that you can use it to write an interpreter +in Python that creates business applications from BPMN models. In this section, +we'll develop a model of an example process and as well as a +simple workflow runner. + +We expect that readers will fall into two general categories: + +- People with a background in BPMN who might not be very familiar Python +- Python developers who might not know much about BPMN + +This section of the documentation provides an example that (hopefully) serves +the needs of both groups. We will introduce the BPMN elements that SpiffWorkflow +supports and show how to build a simple workflow runner around them. + +SpiffWorkflow does heavy-lifting such as keeping track of task dependencies and +states and providing the ability to serialize or deserialize a workflow that +has not been completed. The developer will write code for displaying workflow +state and presenting tasks to users of their application. + +All the Python code and BPMN models used here are available in an example +project called `spiff-example-cli `_. + +Quickstart +---------- + +Check out the code in `spiff-example-cli `_ +and follow the instructions to set up an environment to run it in. + +Run the sample workflow we built up using our example application with the following +command: + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/{product_prices,shipping_costs}.dmn \ + -b bpmn/{multiinstance,call_activity_multi}.bpmn + + +For a full description of program options: + +.. code-block:: console + + ./run.py --help + +The code in the workflow runner and the models in the bpmn directory of the +repository will be discussed in the remainder of this tutorial. + +Supported BPMN Elements +----------------------- + +.. toctree:: + :maxdepth: 3 + + tasks + gateways + organization + events + multiinstance + +Putting it All Together +----------------------- + +.. toctree:: + :maxdepth: 2 + + synthesis + +Features in More Depth +---------------------- + +.. toctree:: + :maxdepth: 2 + + advanced diff --git a/doc/bpmn/make.bat b/doc/bpmn/make.bat new file mode 100644 index 000000000..922152e96 --- /dev/null +++ b/doc/bpmn/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/doc/bpmn/multiinstance.rst b/doc/bpmn/multiinstance.rst new file mode 100644 index 000000000..7cdb6f1a5 --- /dev/null +++ b/doc/bpmn/multiinstance.rst @@ -0,0 +1,112 @@ +MultiInstance Tasks +=================== + +BPMN Model +---------- + +We'll be using the following files from `spiff-example-cli `_. + +- `multiinstance `_ workflow +- `call activity multi `_ workflow +- `product_prices `_ DMN table +- `shipping_costs `_ DMN table + +Suppose we want our customer to be able to select more than one product. + +If we knew how many products they would select at the beginning of the workflow, we could +configure 'Select and Customize Product' as a Sequential MultiInstance Task. We would +specify the name of the collection and each iteration of the task would add a new item +to it. + +Since we can't know in advance how many products the order, we'll need to modify that +workflow to ask them whether they want to continue shopping and maintain their product +selections in a collection. + +.. figure:: figures/call_activity_multi.png + :scale: 30% + :align: center + + Selecting more than one product + +We'll also need to update our element docmentation to display all products. + +.. figure:: figures/documentation_multi.png + :scale: 30% + :align: center + + Updated Documentation for 'Review Order' + +.. note:: + + Note that we are using a dot instead of the typical python dictionary access to obtain + the values. Spiff automatically generates such a representation, which simplifies creating the + documentation strings; however regular Python syntax will work as well. + +Parallel MultiInstance +^^^^^^^^^^^^^^^^^^^^^^ + +We'll also update our 'Retrieve Product' task and 'Product Not Available' flows to +accommodate multiple products. We can use a Parallel MultiInstance for this, since +it does not matter what order our Employee retrieves the products in. + +.. figure:: figures/multiinstance_task_configuration.png + :scale: 30% + :align: center + + MultiInstance task configuration + +Spiff will generate a task for each of the items in the collection. Because of the way +SpiffWorkflow manages the data for these tasks, the collection MUST be a dictionary. + +Each value in the dictionary will be copied into a variable with the name specified in +the 'Element Variable' field, so you'll need to specify this as well. + +.. figure:: figures/multiinstance_form_configuration.png + :scale: 30% + :align: center + + MultiInstance form configuration + +We'll also need to update the form field id so that the results will be added to the +item of the collection rather than the top level of the task data. This is where the +'Element Variable' field comes in: we'll need to change `product_available` to +`product.product_available`, because we set up `product` as our reference to the +current item. + +.. figure:: figures/multiinstance_flow_configuration.png + :scale: 30% + :align: center + + Product available flow configuration + +Finally, we'll need to update our 'No' flow to check all items in the collection for +availability. + +.. note:: + + In our form configuration, we used `product.product_available` but when we reference + it in the flow, we use the standard python dictionary syntax. We can't use that + notation in form fields, so in this case we need to use SpiffWorkflow's dot notation + conversion. + +Sequential MultiInstance +^^^^^^^^^^^^^^^^^^^^^^^^ + +SpiffWorkflow also supports Sequential MultiInstance Tasks for previously defined +collections, or if the loopCardinality is known in advance, although we have not added an +example of this to our workflow. + +For more information about MultiInstance Tasks and SpiffWorkflow, see :doc:`/bpmn/advanced`. + +Running The Model +^^^^^^^^^^^^^^^^^ + +If you have set up our example repository, this model can be run with the +following command: + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/multiinstance.bpmn bpmn/call_activity_multi.bpmn + diff --git a/doc/bpmn/organization.rst b/doc/bpmn/organization.rst new file mode 100644 index 000000000..261b30cfc --- /dev/null +++ b/doc/bpmn/organization.rst @@ -0,0 +1,128 @@ +Organizing More Complex Workflows +================================= + +BPMN Model +---------- + +We'll be using the following files from `spiff-example-cli `_. + +- `lanes `_ workflow +- `top_level `_ workflow +- `call_activity `_ workflow +- `product_prices `_ DMN table +- `shipping_costs `_ DMN table + +Lanes +^^^^^ + +Lanes are a method in BPMN to distinguish roles for the workflow and who is +responsible for which actions. In some cases this will be different business +units, and in some cases this will be different individuals - it really depends +on the nature of the workflow. Within a BPMN editor, this is done by choosing the +'Create pool/participant' option from the toolbar on the left hand side. + +We'll modify our workflow to get the customer's payment information and send it +to an employee who will charge the customer and fulfill the order. + +.. figure:: figures/lanes.png + :scale: 30% + :align: center + + Workflow with lanes + +To run this workflow + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/lanes.bpmn + +For a simple code example of displaying a tasks lane, see `Handling Lanes`_ + +Subprocesses +^^^^^^^^^^^^ + +In general, subprocesses are a way of grouping work into smaller units. This, in +theory, will help us to re-use sections of business logic, but it will also allow +us to treat groups of work as a unit. + +Subprocesses come in two different flavors. In this workflow we see an Expanded +Subprocess. Unfortunately, we can't collapse an expanded subprocess within BPMN.js, +so expanded subprocesses are mainly useful for conceptualizing a group of tasks as +a unit. + +It also possible to refer to external subprocesses via a Call Activity Task. This +allows us to 'call' a separate workflow in a different file by referencing the ID of +the called workflow, which can simplify business logic and make it re-usable. + +We'll expand 'Fulfill Order' into sub tasks -- retrieving the product and shipping +the order -- and create an Expanded Subprocess. + +We'll also expand our selection of products, adding several new products and the ability +to customize certain products by size and style in addition to color. + +.. figure:: figures/dmn_table_updated.png + :scale: 30% + :align: center + + Updated Product List + +.. note:: + + I've added what customizations are available for each product in the 'Annotations' + column of the DMN table. This is not actually used by Spiff; it simply provides + the option of documenting the decisions contained in the table. + +Since adding gateways for navigating the new options will add a certain amount of +clutter to our diagram, we'll create a separate workflow around selecting and +customizing products and refer to that in our main workflow. + +.. figure:: figures/call_activity.png + :scale: 30% + :align: center + + Subworkflow for product selection + +When configuring the subworkflow, we need to make sure the 'CallActivity Type' of the +parent workflow is 'BPMN' and the 'Called Element' matches the ID we assigned in the +subworkflow. + +.. figure:: figures/top_level.png + :scale: 30% + :align: center + + Parent workflow + +Running the Model +^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + ./run.py -p order_product \ + -d bpmn/product_prices.dmn bpmn/shipping_costs.dmn \ + -b bpmn/top_level.bpmn bpmn/call_activity.bpmn + +Example Application Code +------------------------ + +Handling Lanes +^^^^^^^^^^^^^^ + +We are not required to handle lanes in our application, but most of the time we'll +probably want a way of filtering on lanes and selectively displaying tasks. In +our sample application, we'll simply display which lane a task belongs to. + +.. code:: python + + if hasattr(task.task_spec, 'lane') and task.task_spec.lane is not None: + lane = f'[{task.task_spec.lane}]' + else: + lane = '' + +The tasks lane can be obtained from :code:`task.task_spec.lane`. Not all tasks +will have a :code:`lane` attribute, so we need to check to make sure it exists +before attempting to access it (this is true for many task attributes). + +See the Filtering Tasks Section of :doc:`advanced` more information +about working with lanes in Spiff. diff --git a/doc/bpmn/synthesis.rst b/doc/bpmn/synthesis.rst new file mode 100644 index 000000000..140833f50 --- /dev/null +++ b/doc/bpmn/synthesis.rst @@ -0,0 +1,223 @@ +Putting it All Together +======================= + +In this section we'll be discussing the overall structure of the workflow +runner we developed in `spiff-example-cli `_. + +Loading a Workflow +------------------- + +We'll need the following imports: + +.. code:: python + + from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser + from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser + + from custom_script_engine import CustomScriptEngine + +We need to create a parser. We could have imported :code:`BpmnParser`, which +these parsers inherit from, but we need some additional features that the base +parser does not provide. + +.. code:: python + + class Parser(BpmnDmnParser): + OVERRIDE_PARSER_CLASSES = BpmnDmnParser.OVERRIDE_PARSER_CLASSES + OVERRIDE_PARSER_CLASSES.update(CamundaParser.OVERRIDE_PARSER_CLASSES) + +We'll use :code:`BpmnDmnParser` as our base class, because we would like the ability +to use DMN tables in our application. The :code:`BpmnDmnParser` provides a task +parser for Business Rule Tasks, which the underlying :code:`BpmnParser` it inherits from +does not contain. + +We also imported the :code:`CamundaParser` so that we can parse some Camunda +specific features we'll use (forms in User Tasks). The :code:`CamundaParser` User +Task parser will override the default parser. + +In general, any task parser can be replaced with a custom parser of your +own design if you have a BPMN modeller that produces XML not handled by the +BPMN parsers in SpiffWorkflow. + +.. code:: python + + def parse(process, bpmn_files, dmn_files): + parser = Parser() + parser.add_bpmn_files(bpmn_files) + if dmn_files: + parser.add_dmn_files(dmn_files) + top_level = parser.get_spec(process) + subprocesses = parser.get_process_specs() + return BpmnWorkflow(top_level, subprocesses, script_engine=CustomScriptEngine) + +We create an instance of our previously defined parser, add the BPMN files to it, and +optionally add any DMN files, if they were supplied. + +We'll obtain the workflow specification from the parser for the top level process +using :code:`parser.get_spec()`. + +We'll get the specs of all the processes that were parsed with :code:`parser.get_process_specs()` +and provide these to the workflow as well. If your entire workflow is contained in your +top-level process, you can omit this argument, but if your workflow contains call activities, +you'll need to include it. + +We also provide an enhanced script engine to our workflow. More information about how and +why you might want to do this is covered in :doc:`advanced`. The :code:`script_engine` +argument is optional and the default will be used if none is supplied. + +We return a :code:`BpmnWorkflow` based on the specs that uses the our custom script engine +to execute script tasks and evaluate expressions. + +Running a Workflow +------------------ + +This is our application's :code:`run()` method. + +The :code:`step` argument is a boolean that indicates whether we want the option of seeing +a more detailed representation of the state at each step, which we'll discuss in the +section following this one. + +.. code:: python + + def run(workflow, step): + + workflow.do_engine_steps() + + while not workflow.is_completed(): + + ready_tasks = workflow.get_ready_user_tasks() + options = { } + print() + for idx, task in enumerate(ready_tasks): + option = format_task(task, False) + options[str(idx + 1)] = task + print(f'{idx + 1}. {option}') + + selected = None + while selected not in options and selected not in ['', 'D', 'd']: + selected = input('Select task to complete, enter to wait, or D to dump the workflow state: ') + + if selected.lower() == 'd': + filename = input('Enter filename: ') + state = BpmnSerializer().serialize_workflow(workflow, include_spec=True) + with open(filename, 'w') as dump: + dump.write(state) + elif selected != '': + next_task = options[selected] + if isinstance(next_task.task_spec, UserTask): + complete_user_task(next_task) + next_task.complete() + elif isinstance(next_task.task_spec, ManualTask): + complete_manual_task(next_task) + next_task.complete() + else: + next_task.complete() + + workflow.refresh_waiting_tasks() + workflow.do_engine_steps() + if step: + print_state(workflow) + + print('\nWorkflow Data') + print(json.dumps(workflow.data, indent=2, separators=[ ', ', ': ' ])) + +The first line of this function is the one that does the bulk of the work in +SpiffWorkflow. Calling :code:`workflow.do_engine_steps()` causes Spiff to repeatedly +look for and execute any engine tasks that are ready. + +An **engine task** does not require user interaction. For instance, it could be +a Script task or selection of a flow from a gateway. Execution will +stop when only interactive tasks remain or the workflow is completed. + +A SpiffWorkflow application will call :code:`workflow.do_engine_steps()` to start the +workflow and then enter a loop that will + +- check for ready user tasks +- present the tasks to the user to complete +- complete the tasks +- refresh any waiting tasks +- complete any engine tasks that have been reached via user interactions + +until the workflow completes. + +When a workflow completes, the task data (just a dictionary passed from one task to the +next, and optionally modified by each task) is copied into the workflow data. We display +the end state of the workflow on completion. + +The rest of the code is all about presenting the tasks to the user and dumping the +workflow state. We've covered former in the BPMN Elements section of :doc:`index` +and will cover the latter in :doc:`advanced`. + +Handling task presentation is what **you** will be developing when you use SpiffWorkflow. + +Examining the Workflow State +---------------------------- + +When this application is run and we want to present steps to the user, we'll need +to be able to examine the workflow and task states and associated data. We'll cover +the basics of this in this section. + +The code below is a simple method for displaying information about a task. We use +this in two ways + +- presenting a list of tasks to a user (in this case the state will always be ready, so we won't include it) +- presenting the state of each task while stepping through the workflow (in this case you most likely do want to know the state). + +.. code:: python + + def format_task(task, include_state=True): + if hasattr(task.task_spec, 'lane') and task.task_spec.lane is not None: + lane = f'[{task.task_spec.lane}]' + else: + lane = '' + state = f'[{task.get_state_name()}]' if include_state else '' + return f'{lane} {task.task_spec.description} ({task.task_spec.name}) {state}' + +We previously went over obtaining the lane information in :doc:`organization`. + +We can call :code:`task.get_state_name()` to get a human-readable representation of +a task's state. + +We store the value provided in the :code:`name` attribute of the task (the text +entered in the 'Name' field in our sample models) in :code:`task.task_spec.description`. + +Here is the code we use for examining the workflow state. + +.. code:: python + + def print_state(workflow): + + task = workflow.last_task + print('\nLast Task') + print(format_task(task)) + print(json.dumps(task.data, indent=2, separators=[ ', ', ': ' ])) + + display_types = (UserTask, ManualTask, ScriptTask, ThrowingEvent, CatchingEvent) + all_tasks = [ task for task in workflow.get_tasks() if isinstance(task.task_spec, display_types) ] + upcoming_tasks = [ task for task in all_tasks if task.state in [Task.READY, Task.WAITING] ] + + print('\nUpcoming Tasks') + for idx, task in enumerate(upcoming_tasks): + print(format_task(task)) + + if input('\nShow all tasks? ').lower() == 'y': + for idx, task in enumerate(all_tasks): + print(format_task(task)) + +We can find out what the last task was with :code:`workflow.last_task`. We'll print +its information as described above, as well as a dump of its data. + +We can get a list of all tasks regardless of type or state with :code:`workflow.get_tasks()`. + +The actual list of tasks will get quite long (some tasks are expanded internally by Spiff into +multiple tasks, and all gateways and events are also treated as "tasks"). So we're filtering +the tasks to only display the ones that would have salience to a user here. + +We'll further filter those tasks for :code:`READY` and :code:`WAITING` tasks for a more +compact display, and only show all tasks when explicitly called for. + +This is a very simple application, so our interactions with tasks are very basic. You will +definitely want to see the 'Navigation List' section of :doc:`advanced` for more sophisticated +ways of managing workflow state. + diff --git a/doc/bpmn/tasks.rst b/doc/bpmn/tasks.rst new file mode 100644 index 000000000..b00c9160d --- /dev/null +++ b/doc/bpmn/tasks.rst @@ -0,0 +1,222 @@ +Tasks +===== + +BPMN Model +---------- + +In this example, we'll model a customer selecting a product to illustrate +the basic task types that can be used with SpiffWorkflow. + +We'll be using the following files from `spiff-example-cli `_. + +- `task_types `_ workflow +- `product_prices `_ DMN table + +User Tasks +^^^^^^^^^^ + +User tasks would typically be used in the case where the task would be +completed from within the application. + +User tasks can include forms that ask the user questions. When you click on a +user task in a BPMN modeler, the Properties Panel includes a form tab. Use this +tab to build your questions. + +We'll ask our hypothetical user to choose a product and quantity. + +The following example shows how a form might be set up in Camumda. + +.. figure:: figures/user_task.png + :scale: 30% + :align: center + + User Task configuration + +.. note:: + + SpiffWorkflow has some basic support for the free Camunda modeler, to use its + form building capabilities, but we intend to encapsulate this support in an + extension module and remove it from the core library eventually. + +See the `Handling User Tasks`_ section for a discussion of sample code. + +Business Rule Tasks +^^^^^^^^^^^^^^^^^^^ + +In our business rule task, we'll use a DMN table to look up the price of the +product the user chose. + +We'll need to create a DMN table. + +What is DMN? +++++++++++++ + +Decision Model and Notation (DMN) is a standard for business decision +modeling. DMN allows modelers to separate decision logic from process logic +and maintain it in a table format. DMN is linked into BPMN with a *decision +task*. + +With DMN, business analysts can model the rules that lead to a decision +in an easy to read table. Those tables can be executed directly by SpiffWorkflow. + +This minimizes the risk of misunderstandings between business analysts and +developers, and allows rapid changes in production. + +BPMN includes a decision task that refers to the decision table. The outcome of +the decision lookup allows the next gateway or activity to route the flow. + +Our Business Rule Task will make use of a DMN table. + +.. figure:: figures/dmn_table.png + :scale: 30% + :align: center + + DMN Table + +.. note:: + We add quote marks around the product names in the table. Spiff will + create an expression based on the exact contents of the table, so if + the quotes are omitted, the content will be interpreted as a variable + rather than a string. + +Then we'll refer to this table in the task configuration. + +.. figure:: figures/business_rule_task.png + :scale: 30% + :align: center + + Business Rule Task configuration + +Script Tasks +^^^^^^^^^^^^ + +The total order cost will need to be calculated on the fly. We can do this in +a script task. We'll configure the task with some simple Python code. + +.. figure:: figures/script_task.png + :scale: 30% + :align: center + + Script Task configuration + +The code in the script will have access to the task data, so variables that +have been defined previously will be available to it. + +Manual Tasks +^^^^^^^^^^^^ + +Our final task type is a manual task. We would use this task in the situation +where the application might simply need to mark a task that requires user +involvement complete without gathering any additional information from them. + +There is no special configuration for manual tasks. However, this is a good +place to note that we can use the BPMN element Documentation field to display +more information about the context of the item. + +Spiff is set up in a way that you could use any templating library you want, but +we have used `Jinja `_. + +In this example, we'll present an order summary to our customer. + +.. figure:: figures/documentation.png + :scale: 30% + :align: center + + Element Documentation + +See the `Handling Manual Tasks`_ section for a discussion of sample code. + +Running The Model +^^^^^^^^^^^^^^^^^ + +If you have set up our example repository, this model can be run with the +following command: + +.. code-block:: console + + ./run.py -p order_product -d bpmn/product_prices.dmn -b bpmn/task_types.bpmn + +Example Application Code +------------------------ + +Handling User Tasks +^^^^^^^^^^^^^^^^^^^ + +We will need to provide a way to display the form data and collect the user's +responses. + +.. code:: python + + for field in task.task_spec.form.fields: + if isinstance(field, EnumFormField): + option_map = dict([ (opt.name, opt.id) for opt in field.options ]) + options = "(" + ', '.join(option_map) + ")" + prompt = f"{field.label} {options} " + option = select_option(prompt, option_map.keys()) + response = option_map[option] + else: + response = input(f"{field.label} ") + if field.type == "long": + response = int(response) + task.update_data_var(field.id, response) + +The list of form fields for a task is stored in :code:`task.task_spec.form_fields`. + +For Enumerated fields, we want to get the possible options and present them to the +user. The variable names of the fields were stored in :code:`field.id`, but since +we set labels for each of the fields, we'd like to display those instead, and map +the user's selection back to the variable name. + +Our :code:`select_option` function simply repeats the prompt until the user +enters a value contained in the option list. + +For other fields, we'll just store whatever the user enters, although in the case +where they data type was specified to be a :code:`long`, we'll convert it to a +number. + +Finally, we need to explicitly store the user-provided response in a variable +with the expected name with :code:`task.update_data_var(field.id, response)`. + + +Handling Business Rule Tasks +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We do not need to do any special configuration to handle these business rule +tasks. SpiffWorkflow does it all for us. + +Handling Script Tasks +^^^^^^^^^^^^^^^^^^^^^ + +We do not need to do any special configuration to handle script tasks, although it +is possible to implement a custom script engine. We demonstrate that process in +Custom Script Engines section :doc:`advanced` features. However, the default script +engine will work in many cases. + +Handling Manual Tasks +^^^^^^^^^^^^^^^^^^^^^ + +Our code for manual tasks simply asks the user to confirm that the task has been +completed. + +.. code:: python + + def complete_manual_task(task): + display_task(task) + input("Press any key to mark task complete") + +:code:`display_task()` is the code for converting the Documentation property of the task +into something that can be presented to the user. + +.. code:: python + + def display_task(task): + print(f'\n{task.task_spec.description}') + if task.task_spec.documentation is not None: + template = Template(task.task_spec.documentation) + print(template.render(task.data)) + +The template string can be obtained from :code:`task.task_spec.documentation`. + +As noted above, our template class comes from Jinja. We render the template +using the task data, which is just a dictionary. + diff --git a/doc/conf.py b/doc/conf.py new file mode 100644 index 000000000..ae9037ba0 --- /dev/null +++ b/doc/conf.py @@ -0,0 +1,64 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'SpiffWorkflow' +copyright = '2022, Sartography' +author = 'Sartography' + +# The full version, including alpha/beta/rc tags + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['sphinx.ext.autodoc', # 'sphinx.ext.coverage', + 'sphinx.ext.viewcode', + 'sphinx.ext.autosummary', + 'sphinx_rtd_theme', + #'sphinx.ext.intersphinx', + ] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Set the master index file. +master_doc = 'index' + +# Set the fav-icon +html_favicon = 'favicon.ico' diff --git a/doc/development.rst b/doc/development.rst new file mode 100644 index 000000000..175446e93 --- /dev/null +++ b/doc/development.rst @@ -0,0 +1,99 @@ +SpiffWorkflow Concepts +==================================== + +Specification vs. Workflow Instance +----------------------------------- + +One critical concept to know about SpiffWorkflow is the difference between a +:class:`SpiffWorkflow.specs.WorkflowSpec` and :class:`SpiffWorkflow.Workflow` and +the difference between a :class:`SpiffWorkflow.specs.TaskSpec` and :class:`SpiffWorkflow.Task`. + +In order to understand how to handle a running workflow consider the following process:: + + Choose product -> Choose amount -> Produce product A + `--> Produce product B + +As you can see, in this case the process resembles a simple tree. *Choose product*, +*Choose amount*, *Produce product A*, and *Produce product B* are all specific kinds +of *task specifications*, and the whole process is a *workflow specification*. + +But when you execute the workflow, the path taken does not necessarily have the same shape. For example, if the user chooses to produce 3 items of product A, the path taken looks like the following:: + + Choose product -> Choose amount -> Produce product A + |--> Produce product A + `--> Produce product A + +This is the reason why you will find two different categories of objects in Spiff Workflow: + +- **Specification objects** (WorkflowSpec and TaskSpec) represent the workflow definition, and +- **derivation tree objects** (Workflow and Task) model the task tree that represents the state of a running workflow. + +Understanding task states +------------------------- + +The following task states exist: + +.. image:: figures/state-diagram.png + +The states are reached in a strict order and the lines in the diagram show the possible state transitions. + +The order of these state transitions is violated only in one case: A *Trigger* task may add additional work to a task that was already COMPLETED, causing it to change the state back to FUTURE. + +- **MAYBE** means that the task will possibly, but not necessarily run at a future time. This means that it can not yet be fully determined as to whether or not it may run, for example, because the execution still depends on the outcome of an ExclusiveChoice task in the path that leads towards it. + +- **LIKELY** is like MAYBE, except it is considered to have a higher probability of being reached because the path leading towards it is the default choice in an ExclusiveChoice task. + +- **FUTURE** means that the processor has predicted that this this path will be taken and this task will, at some point, definitely run. (Unless the task is explicitly set to CANCELLED, which can not be predicted.) If a task is waiting on predecessors to run then it is in FUTURE state (not WAITING). + +- **WAITING** means *I am in the process of doing my work and have not finished. When the work is finished, then I will be READY for completion and will go to READY state*. WAITING is an optional state. + +- **READY** means "the preconditions for marking this task as complete are met". + +- **COMPLETED** means that the task is done. + +- **CANCELLED** means that the task was explicitly cancelled, for example by a CancelTask operation. + +Associating data with a workflow +-------------------------------- + +The difference between *specification objects* and *derivation tree objects* is also important when choosing how to store data in a workflow. Spiff Workflow supports storing data in two ways: + +- **Task spec data** is stored in the TaskSpec object. In other words, if a task causes task spec data to change, that change is reflected to all other instances in the derivation tree that use the TaskSpec object. +- **Task data** is local to the Task object, but is carried along to the children of each Task object in the derivation tree as the workflow progresses. + +Internal Details +---------------- + +A **derivation tree** is created based off of the spec using a hierarchy of +:class:`SpiffWorkflow.Task` objects (not :class:`SpiffWorkflow.specs.TaskSpec` objects!). +Each Task contains a reference to the TaskSpec that generated it. + +Think of a derivation tree as tree of execution paths (some, but not all, of +which will end up executing). Each Task object is basically a node in the +derivation tree. Each task in the tree links back to its parent (there are +no connection objects). The processing is done by walking down the +derivation tree one Task at a time and moving the task (and its +children) through the sequence of states towards completion. + +You can serialize/deserialize specs. You can also +serialize/deserialize a running workflow (it will pull in its spec as well). + +There's a decent eventing model that allows you to tie in to and receive +events (for each task, you can get event notifications from its TaskSpec). +The events correspond with how the processing is going in the derivation +tree, not necessarily how the workflow as a whole is moving. +See :class:`SpiffWorkflow.specs.TaskSpec` for docs on events. + +You can nest workflows (using the :class:`SpiffWorkflow.specs.SubWorkflowSpec`). + +The serialization code is done well which makes it easy to add new formats +if we need to support them. + + +Other documentation +------------------- + +**API documentation** is currently embedded into the Spiff Workflow source code and not yet made available in a prettier form. + +If you need more help, please create an issue in our +`issue tracker `_. diff --git a/doc/favicon.ico b/doc/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d1bb900731545495ae149998e5b71c03985febf6 GIT binary patch literal 4022 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 literal 0 HcmV?d00001 diff --git a/doc/figures/bpmnbook.jpg b/doc/figures/bpmnbook.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5b0a39368b473bdacef82ce4888554ae5f428c3 GIT binary patch literal 3694 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 literal 0 HcmV?d00001 diff --git a/doc/figures/events.png b/doc/figures/events.png new file mode 100644 index 0000000000000000000000000000000000000000..dc63fb2afe543bd33e8acb2c9b4639f0b7e0dc25 GIT binary patch literal 270622 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

*YQ09I^-N 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 z z3nnLaclhcfXALN=!l$y&d+}0|q{ay~yJw`KZUC`FzI`So)N5e1S<)c_2&CEdNY4Lg z#rXT`KCDChK&d>;i}>LOpu^DX`OopgrP)Mo8I{hc`>UM%l|_q!?zbZ}J!?SnUsAS)zrAB8o<* zq*T0=t+FROsne!Ji)NbA7-mG9hzd2Lm^O(LrHsm2X(1JrqHIZ1+LzyTpW~dBr-lZ!zTF!yHRi)pHk@5pH7-)UNo~^~nEvXu_1;30f}$*iO+yts9h@Ld00S zZDN?7mnS3}dd0(1oM=*!J%DljCAE>WWuu*vwp)$vf^EQX>gKuSN~VPqSf?Wnv;}xW z%$;$^PcA-o<;qs{un(uebUl5$xL|LX0U=w{ILI>u-~sjV6B@m-8`P4y0rKiyh?N9&?J##8*eD|6v z1wdu#5Ohe2kWu)hQ+E-Bo{ie43GS;BAb@4F8#Hl&mh6((DW;K?Z}`vkKfI~Mb4iV4 zQrS!e{frVkc}db39*XxtAq)}Zb@DBh%A5uoyADz%wY=<7G3BdUH0P_;hBqVksPu7f zH*Ifn?{cPdb+E)HtoaJ?ubyZhzL2p+8Pj5#eY%=`4%8+>fJopV&UnYtN#%?AS1!7k z5_Hi8;y|)aed3b_+6D^UU=IzcvGE}3d7#tu&pJ`6gH|&W71!nuqhe>EaG^O+6$s`w zs`52f=RhiFxQ@FQPREp=bE-4c{nsv<}sykRXk16%ycfs@{|-<&7cMs{!| zwfmBXCpwlTyfQyRK9px$M&nAxdlAM%^2`co04zq7O*k}7oCqNIt|s@89ZxNr8p}Z9 z4>o;_4j~H4VQ>fE|G;>e;0DiLhkR7uIPD`WaIW#PlhwkrlT-cjVoGtUno;&NcxHtB zUnKa8PsyY6D!c|~W#rwfq{FpGgUkY}bmc$&c4?wIG{x#S__GL!e*A{~n0N7-2L?+8 zu)+$xskzi1nPIx;)R?uujL6{Sc{r$iX{VWtg7d_(@w}bpA#|td4iNziK>gZvFf&no za5^X>7MI0QRsNWP={!@YX@OG9Fna(0zL%w#RHG zTTM;~B=v)`#)+f+6aeTOsEfcqrbs}}!7=S6cwwGUc;U|Sasaa4$O$Hq%fW$2nn7oe zb$lB{VZobYD{r-gpyfO2c{?Jnt$q9AsnG=&^Ibrkge^I)9G(5_>0Z>u@?$|gM z{D3@Z-AOjwUmr+5XhP|?M(RQSMDkdN5$ZH;@KpyizWr{jwDCsA)vj;Xmj#9GImPKs z;4Ju1D=efx*4VeetVWf)kQPMlnpr0t7CYGwwvod~>p??B{UnpD^{uXHqo5&PEo$n| zP#I*Bp$93!A}a~kL?5R9tynAQ<1wN(AV+CF`9`Mh0-@q zRApHKuy5%kfg$U#k=F;(UX!*Y+Iq-7!D<@X+y%-uiEO7H#&MxN&4h5rjdOhdEOgx3 z{e^-Wgu9s($NM@BGP)j|irQdsOCw~|RBSZ^ZQPVNx45Vsy^eRC7P-Tz;*GYQZGUP^ zSFv~)`UEu3Hh^uBKmLJITxAFhS*Z{9md5LLJX`I&ligJs#qtQ)J2vTopa@OjCL4*) z$9A2V?(=8$(C{9mxSuX_@ib~?q%8bwIJA}ID3y&QVJ&=Qicda+EVB|oyEkD|WVB5C zHn{pk%P-_bfsNtM`Z;2AN9#xHdRLN_x4$t?^~B2}a+7eJ`w$f#hgv<+#ZW;2_Q`J1 z-`zw@oTLhFrcmN-d^9^I1WLTCQR4+6vfHiaUh2rtfj>H=uqp6FO zI%E8TQmPxMlPejub{)8#jIPewF1>4|@4OpMPpgT#L6s%tmTNIPrMe-{#J{c9t?4?6 z8Y*#1ZBMYVLwrbBiCC0s@jB(H^yY$tf-6#-h?_hwBR~2$`Vd8-)sTa4 z8lcJH-^w^F+W^6{*MwJ)7gDQ`J*LgwR*a0wo11&3=2GQt3XP$|O)25Y8Q(ZDPyQd* z9RqyqSe(^1Xc%VlGz>D`Gz?$3jzO}N3J_peNyP^`RMb2tr`#@v$#6wkS4SBo;uJa^ zEYbz^Lz*27fFgU%@)jhBYP@4h zO!%>NQ&c(W#Su~{Y=hoBORte;a+XXY5BMC(hY}EnZJ0^(-8kC;K!whGJik3iVS-ai zL3oV94smz~b}A{;beABpUQO`u%QyD{4^Q~Sf6X&ne{j6eB{O1GIb4=KDZ)WhZZ5Tz zVlxJW#u0*uh!NOv0|J$-KuQ_Pf#>^SQ=l z+y_!H9n08lsvMS+@2}i*QA_br_U@|X%}zsd9R#=X^Bp*XlH>|}{6XkcXVGxJYogSR z6ZJY7DGsIhYVGTA_L(Ast;0FNY7fG8JZpWn>aV;03WcmLnjlJKKKUs4RXOk%G^D$B z2(MXEY-38|mhiZf)R#iJ6Y+rr2cj3&IUPmhi0`zUw>-2lOR&w?&eA~T@4jg zd~(1(*3as9yr=Fd-sk%cq)HWNw_Q3^a?+G+!=69dB#@xnQ5zj{*J5S>u>=ICi3@ls z-Ow~j<~B(Gj%1GGm*-VA>8hjfUC~c8Su9f5?;O9MVcEdGIgQ6A$4>;fdy%_%L?n_& ztrMD(oZq|GdF#l@mqzfTnBw^Iq8s970TVfjMNT*^|G98pH_^Qy8Rgvo&TmEz{h%Br zvLJxZv+GV0)haPQ^WX?P(9^g}M{L7~brwQ%y-*R6(*3JL@2ue8s`J0>Ww$LpYI5X@ zy&nAd_xB%G>84%3IB0~4C;v$w8~VX!^TF?z9O>gB@~NoadDHrL;VXL3fISjxJSHsR zgTA5SBByJnE;nC<3~CEEru9?aqjXtlLAI=K-`YPFmu;WI*RQXdmlpriqleE}K%hMP+pXq*8Bs;q@{Mczc}`ov+dm$Q2kc3RogX-9(Oz8-ZptBXwfxFM zW>GPVidj^jQdTBXRWXr@BIbYb_^X*lz;iQnmy)DbA%?MzWH$hQB?+UR1}lmz2^Y-lwatRpQ)VT?6T4XbM-?l4$I>>!bpz-_bD__!-A%39aZLd9a<|r4w~W z*lGM7h`Yy<`2@8?1;D6sp}|Ws2d0YBq_P2IL6PrGB>o(^c>I`X5LhZ0j%Qe8vB}7m z038zM$0xzLqCz6IdBIJ^>C(LOvad+JA=1s{c&ADDl`5}4sY!V1Wbv&B@r#sMqD0Iw zmzwQhaS~NFv8U$j5LAjZ91jC4*{ZHxkme{Qz{fzZl3K0^4*~QSmd^?*3@$-MAqfuQ z-Ug^cb%-rnkMl0AjIc(zqw8yv;OE zBs$ULKkD$bSzA1~gRnY>dyquPpiyRZBMFgZZvFb5-Hv_`ERXC-!v$XN6@MqwY;?hkaX14YiQQfFobI@$215= zhPKodqFGD*)hNqvWN56|*9r@yq8Dw@u&Jz=)>P*1zVzfQ6>TUJDDft)Ei3z&)8bee z%fb(rf7~;hBTK+YvUt3;4d_J$;1y3o);ep-I+d*5bg&P$ojbP1N+lDL&yt|^e=XHG zCznA)^EDezw=K7le@LaaW9A?C4njxCFSUJzCT-vns-XLa|1jyKjpGxpjL~Er9*5Op zl23yx-`;3^;8jItRHSGwN+QjDU`G?M&ysEat$?+U)XeDg4{1MJ^!AEzSPO82p^z7E za`L)-s|_?m<+b{mzWg*;mpvR{Ws#!dIDnP%pW5%7=L)S1u)N7yPYpUFn{YCDqq=e} zs>JF&RjB4<^I{9O{Dj55y`E6Ox#c`ZxQIOqCBQp}>(^*vPxWGCvN7R!mScdshagoL?wb=CoJF$<|p zEORrdZ;8@}^7)GW#}@&a;m;m*wWW4xYAU@93M!QmWc`0AF3XAkY4wg51_=Bv<2eu2 zb<-+aC+i6=)B3O^OEI|q6Cs^^xBX+XSa4FVmcdTw7YIkswTZeAIENJ+VS3?QfG0F) z>ehxKEf%qQ^#v9o(s_PPo<@T^x}l=0N1m@Py77k^dW80-C3ByP_H;${!nbs zj3gHif9t|}Wg9g8Vwj|v!HX;z%ccgi02BFAh#=p+E!a+Nqw12yo4l$xXmg=^hp}1{ z=&o_-$Wt!bIDUiR)TmLQN6@x0i|krtXGHRt47Skf7Um2ELw_QbFhb9^r&sNjHa*uY zYcWjtriGyIcPAc8W^vLl_asefiHUBoXVL!|*d+*_`&98zl+o|eE( zxYSxh49%&Ub}rbH z#9NrhTfW{%$-*e|ymHD$oU_bs=mPTvM=WZNQhR|@eD9Ni*j)$n*wvxf@}E7)L3?Vl_1+W?UTpPIQl%q3_y`1AN2nH~Zo?WrUYcm^Jh5? z*tPetI~Vd`OFQ8pkCQlYDdeO<-d}22@N4@(uA%X}c}as*wq0~?dq`J1`__^>fZ!v1`ppNmisWQ$45)KJAzi@473&h3u;B(WuBa%`<#sssAz1r_oB)9o|fY z+1?G;2D)9bzN~dku~cxq$iuIyf&At~g zzmX5Q!OS6&s^_;heE^#|1I8602kO^btA>EO!77$3d95i!M~&3f=*uho-%^ysL!eXt zzCuUoQ@c~-XNlI*VSl$kac+}K$B&VW-6lx_`KQEeuYYGDgt69#t zyqVdv~258hrD4FgRo z&eX>g2I$oX?1~i2?Is={DNYB}Jn0qCS*2-ln?JO3?muZ10~Vj4|C}6b`N!$sf54L> zDWzY~xqM=AX5kYnsgoT6Ix53~nw4#u{!%a9BPWHhQj!iX@v%ia4Us0}nZ_arqsM`J zw)Jm;jZ@%SQg)-ZIau(t1K!LFK%7c?MOJToLP66NhX0l5#wHV?8@U@U{O)#0DdA3x zzjwit(~?iwbFj-|6%tk1#p9`u|3SEsOO~Y3m|6)H!5%rW(&LBIHPsHb)tolRx7=;A z-nsU}Fa*$B{^GpN&yNCvAJVjjk*9nGTc^$BDJ1xV3)dsf3$rV`k&7XtWEvC(e*z*K z%&xoZKn$mXhRFkQ2>eb@v5DhwUb8%#P<{LcYcul@CHM$JIi;UYdRc#YgL{%iAeC)& zULIX}smq|yKr^K4g@O)sh-u|{znzj$1-mtKRaY&EcV~TNxT% zzo71nJZF=gtz_2Q=x`FMa&x`aLqTrsSG?~Ba_bYoy(^<@vyIS0G4xbFZ77egz77w* z^ek&Lo*^kQFP(Z2VH7g<*)_-ePJK5cCpiPYiHhILdkS~O!p%${`i5L5iUoXHD_V2B2RN9sR{pkLF;vu&@tM-56 zuD3+g{bsQqU(eaC=KK`nn7_l^9}a{W%B&wgl#3sjeZlMtW?wMp1#_NqGY}>oGVzd! zhyP3Q@I&MJwfi1L^LyQNL-(guSF;bzQG%MyBVXj;jkq%{uUCEh-bhquXS6<#2JfCk z@oraozY$rL>B_wS9V)wXm2PhP$9h`O?*S91|g7 z`0b|JGUKtYr*(Uw=Kyf>7(?6H!uGQ~OwGmaiMnU(qAc8QmMxvoEcRH9&uo5Pqv?L* z0cZP`N=QqsFJ2faP*ye!Z+_d>iRSQPJ9{ZeLdy4Y|EBDn)E~_zG^c9rs}{WY?;02S z786C?pl9;Iyh=CMw#FLhusauSc)qmTWvhv~w*2+765S82%{1q#vo+P7zP+!+!UnIA zS@lUBl~Uq2yDEQ|{;W4a@OXOqC*6S_^UK!eCeOdz<^J3J4-!#3zGC6o;~noWD*lt{ zg8IJA`92eW)=Ba2X@vUcUs>>*wQ`)L5_?zvhs6_`U!@HZ$Ps(G;Lo1QmSE1kzM*uZ z<&gNz9HUBuZujj=3#9uuQ5-n2HPf@|n7CWuq+#v-tflzH_h;*~#|!f4%ejTFeL5TD z4wf6$zHsa11w0WeTKZ-*~>eazKhqbq>mhuBg&mY+R@zW9sJ;GT-o2EQJZX$kj^TmW= zy?g|thjRAex8+7UM+S5@7{2fABKG1gV)@`#Qx2AgeWS@4bp7wFUhZo=c5v@tLUYyh z#iBYoUh2L40_V8_+jw!aSpX9Tm@vSE0VWJE*#MIb2;mueI$oJ%cL1|no2LIxsam;#0=V3-1iDPRc0|4qV>r4v1%PoHsSi{{T= z1@4W33mLeOfeRV9kbw&sxR8Mh8Mu&v3mLeOfeRV9kkq~mT*$zM3|z>-g$!KCz=aH4 z_`eAkG7upeeHe(4fe0Chkbwvpi17adL?}Ha$Zoj(uz&3$>(O*7po^g3*vs6#$$Nc>dddP`*R_Q<4$T1N9V#n;~7wmBj?{kb- z8T0u+ef>Ay111NJ+v?15RQ~&=eEofI21!p1DxB2&4;=7dP zqa&B8PM7k!`R_N|asSRvJv2KXzP`Sfjdrrj)}Y7PMz#OfMxgf8XPP#q?}GZ7?`_HX zy611w^Uc;Z!TT=djy~M0cj3is(GgiWSFa!I?fcBo7JgsPbVe_GI0u{@woFy0^8K3L kzK?l;Usw@r(M~a)8;#n}Uc^4`gZ~ySFq|JVZ_CgB2YswRS^xk5 literal 0 HcmV?d00001 diff --git a/doc/figures/interaction.png b/doc/figures/interaction.png new file mode 100644 index 0000000000000000000000000000000000000000..c92df5d6f12df331985e786ecad4ba86a894b285 GIT binary patch literal 91476 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

2qYc1g(2AhOR` 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 CwsN)r literal 0 HcmV?d00001 diff --git a/doc/figures/nuclear_strike.bpmn b/doc/figures/nuclear_strike.bpmn new file mode 100644 index 000000000..d3fbd7a94 --- /dev/null +++ b/doc/figures/nuclear_strike.bpmn @@ -0,0 +1,71 @@ + + + + + + + + + + SequenceFlow_1xrbp0m + + + SequenceFlow_1xrbp0m + SequenceFlow_1vwfrws + SequenceFlow_0x0u589 + + + SequenceFlow_1vwfrws + + + SequenceFlow_0x0u589 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/figures/simplestworkflow.png b/doc/figures/simplestworkflow.png new file mode 100644 index 0000000000000000000000000000000000000000..0b910ac3570099c376db82cef6cb242145dfd9bf GIT binary patch literal 22952 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�#B z)W7Fh#I+RN5{d3uB@#87k*#i9m3|{ep8xHR%U^<6_$u~WJmSZ=L|{Z#@0D8hT{0cH zYNWs9t9T|@b;rC6h0TYa8WU%BiX^<%vIqG#9RsLR%zzoJvzL=-TrnXXsTImcGGxI% zKdiw)s(JFxV<>vs%9`tH)b(}kucEb7lQRB!`SwnXU1hZ$ajVSmc=PoB{@p7jiw!U3 zA8$n(l6$Iyp!{*(_a zV&j;7*iROPA*YqZcFrAwLRO3hc3?EQz~O%A<(V1(VDQfrnwR^2Si9DeHA`2rRAWCp zn#L>T$Lo-}fFlyO+c`JFTL%}0g4T<;rmIUYxXHL=92&F-uj}+I(zEEp?mvZKLxp-< zIy##pn3ieI)-it43^?V>|9%u&&1@%oeJQwdhBQVyOE#j&Q+W@P`{8St6^w~3J{J^P zOwHfmz&lx&Ydg_0OBqHbpfdE|Vq*{ExYTl3KeGZtstp^FRl{b$NS8`C^LwT2h6ywX zKNTtdAwrO^%vMu(`IFLrmA3qP?ssez8Hfjyy{5^!Ny)9ln2K-WAQ$^6Bx8~!#=gws z0nXZT32PYG$iBYL4BVfyQAD%f1^drXb7KOTBwG_ClG0(eyxTZ6D4>#teWBi~ETAZs z)jK(MZfPaBX4KD-0-q?6JI{F-ykdpgv3I&YK2cNdRUsH4>b@gL&4fvh`SE>xbr3w5Esn&2EC-y1&PmK;vEx6xi4#(t~5A7`Ilz*^u| zes?ViVinX?S~!+SrHvbiwtlBi;E*k|VX^orO-W^R{9^r0bO(W9#BEFL13vyvmzmICODG=?Cs#fop z%bo0ZBucrA1lxb*K0vFPs?b(9*TY4Wvo`ObxCCBCx7ScghpTN-P!~WIwtvWM8omCz z?7H#(_BcEV_KT;Kx3v7YWABK{5f0wm>;}{XACL5DY3Y*hEU6Jc6aqJZiERMD?XKd1J^?^(D zIdptY`55D#i_U^sfni?W=G^4tNJQJKM8Lmv895|(G~&l5NpC)cu_R4uj_~iHmy^mT zP!b&&8IWO29LZ<$;HtirUOtDhPc1JWxxpraf4FZ~c?tkGl(a1gqPJL#|n z1vxHL0fl)H~#%^-hZY8ONZ~f zE*(yT9uh{!$Ve5xVPvABjzt>bU4QiSYQKfD_eyo8I^Z}CG;8?Mq%at0{3eMvoW2kn zp+VQ#uLFm^vC+muFt>2%%fM1mM*(s}Uwhu%b(ieJONn6W&22*ffKP<>=v$R0t{S{H}X*``m>%Yuh7(~lY*=dEluI-mgV^Cysw_q-DD^1^^F z?|}@5o!Lnc2pIt8I~}YiUIFpez8@|dAKi)SI#KkxtwZ%NswjAY!|@c5AiS^Xm&;+8 zpdM^EROb=zmj~k=?ezNVe-85b`2Z95LYXvZ(BGR0ZnyoVJ&^Yy$57oZFIZzJQpPj#RUa0(XaPR0B%`7h6mVIwgcGL zrwp}WRL%^GMdliG5{60ar)DH`&W|y28(j}ygFVJLo)kIkU<XH0SbR0*41}C^c-VK)JH=er!vBiMTsiMEQ3* z6pp7G?=TK9x^F{2>1b(%wK$n^r+yWW#tWKJ3YDyRIpYm=_(y`2l=6vwKX>>SMITPD z4+qltbBIu``9ksQ;@(eJXK*tk?|lq+E}Ihyl)`EJ`>u-bd610C0GM6o+LNS)1nOv$nsP-P5kZ`kdR6IK8zUaC_r@Xq)3T$P2&K?YM zk1xBSlaiLc!q$KKGXKe>`~S5719%&%I-Ne>2t8jPICS-iBwI^baKEzu901<#cucHZ zj*$-!rX9+e;zIvX_yKlew69geuc=tXzpfMOTz|_jF7t3rl~h#pp4gT50jq?5jb6VQ zl>Wmmc7KH93x3;OwZ$P>%g$n1Q9rz(q+yH=_W>v1KXYn z^i-Q>8APQP@;!h1uq-=M$5ZXBP8npcD7HKRsB_&cuJ6lU^UiaKEc)hV_*^ zRa8f||H(>x7U{%&T0RCO0JM7lop69K^C+3p43Y_kU6kmtYaS1k+u;?u!}H_eYA5?O z0@~<_G{ItH}%b8B$gF@l6c#6 zJV~Jb8%u1d;GbQ^nntCr4b^gfG+{zR<9qJ^Z|Qfa$LG<_MNK1gfw?B`k7FUaBrr@0 z25U(gPF?vxUP5^H0@Qp284WXt$YA=uu7fvYTM7ZqwCj8&HenSk0w1)b-Q-b<0%M%d z$}C@--?x=)l!s)nXk#*(@|mm|GIUW7th+9s&P5JcFQe3;;t#N<488N@$T1_xE&BnG z&wLp+(D@}@)AQIn}z;I()Fi7jr+?%nWlO7)mu1=)9 z&+AT&Wf=p6LVw5eal!St`sB_3UM`E|vnSG$MU>KH5AHTHgk?nWrFE=y508c(+x8U@DJ`1Wyie(ZI47dt6#SWMVWk74BbA$z&PChH*WuP^2qNhQf{7?Ix5#92_5D&pc|=d> zVdC^XfeuC|3^^ag5B+N3#&=-|c{DkNn)V@~VV((hgF;#X)%~wD>Z31cy}`yqo82bO zoONbWKf?~(|8;7mJ4ZUa8;ogW(%32In%f)PS%Bk?73@^NWwk3Ye%su^) z58Th6UUPu!3rwYC*AMLf*njH0tY^d&&-0Lj{@u~@vR_r8hJhI?fu+_b-#D4jKMxVN z0J$g^fIRbEtm1m7{>N*Ae9Iv#N=2M7dCKTSi)&Bm|BhgM5h@8Rw8u!p%G1Rv1on0N zO!7~%l4*nuAARzqGJc7->#dhks(r7lf-yD6UbMd|vfSgYHB{wZb6B zIW8^Rwr9t9Q|~BGgofqri6(ZN#Dfxh)K;5eEM~6f2OJ!|ThL6y>hGw#G!8L{eL}xk zUG?KgKjd6S?iHwUp-rKP3yPCX0dy4W-rvK4;Qrf|C=mpTrukc>4LodqPwr?Apab zph?jer!iPvXwUd}Qc+Pg4wsF9EoE-y$R}?A9AJ9$J(N1sW%u6;pN~K@uCmh=Y~#Ve zua}FJ+OQztK16Q&G!zU0sxuq!6OMiz;J1?^!R*s*wujJe`gy|*8O$mS{{?+`>}WQB zrIgLOTYxB`%?xMW7w{VPMvNYNW2KvTi{_#hOcfasxWrl%)i?%{t$fJXI|tKG?0JET2(0H(MQ1h zk3(t{%+!O%gq&Z3)cSe}DUh?!?^*DstXNHPbt0LX!K?eOV|8afivSe(-Z$qebe6K~tsf z9!cqUuFNXm8kes>avK^{t%OA=Q9X+|4sg_z1N7QGhB^Krzq0u-4}nm7V8KoSfK()W zM$mk~CqsdccQhm(RiGY?BGXXEgV&rg_&i%@4s;rDl@8yo?^VF8YpBlHlh1K z|4Ap)1Faa5N+yW&Y{%>?@hFrL;R^Y<(1>mhk!&SrCUPXPuGhToAAD+H4DylYIdnkG7P7$QLTalp~>F(|hK{};DLb|(KLOO=-Qo6gl z=i8k1o%7cLbqSzwF8X(Ag6U&NvN7sn;0Ps(Jjqe8CQI zlJDFN~hgzzn^c$N&MKq=TN|7Yq@;cBUzK_gGT z@27*Cs@u+e$EjgS%i!PxwNT~l&IlZ1;grdbX&SI(PPiv`C(X05l>dTI{dxICnkOm0|IKSYHjZ9-^ON8jp3_qTZ?b|F}>(J zjQQJ~O8t6#Ayv-2Dyh*gU)LTX2A{5`8g2Mr@77+q-@LP+@(f;*d#K<}f|G2-Ve*i6uv=?wh0hf;z%_C!VGYO!U1ETKqOxE31I7Z0-nkQB|tsAK@5aqO&><&3u1Y zK=hukhD0&4)zNu05Nz&aNx+{>#o;1p@>nEE%3~BfVM%fcN0DKJ<4UNOUE;%RBEnv} zy(QqH(WvESVi#i^HrnV9s%1(2gP#)wNtZ??_62=pcGz6q?lioMLeeg^94JyqXJ{l1 z0WVkw7aSZ;|9Q&W%&}_bI91T^5I@GkWs{x0{Rk#8>ovsUirwxA{*; z{|OD6Ei!S2o?ThAuP}Wm1T5=*zK@(^@DJg!D?wE-QVdGnnhEyWg0A~DZD)E@?|~OF zP+BtfL+`haJD=x&*?ww&UY}Vz1FC&r($l1`qmvwRT1xqU`JpjUTPbEp=U_?{n3PDF zLNX=&ymyIC?lISNJ%0$Gs;4chMk7u6%_en}?MPMqg$GjEkzHz@k!r9@Ech@>xKf|z zX%Pc)E`xA6K^7T?L5@eZ@mFb@5X7f=+?PO)dX-0nU8(GqF0P?joXeI=XrZ_O$XMDz z%9?L3jE!)aq+`@+YBeaX1paRTnWB-u24Cdc?^lCeXf9K;+>Yi)e2l57sfj`9oL;}$4C?3CEQ)e9c9LCU z>{nWiu1kLMZ|qHO^m<$X{}lg=QR#zT)nc?-+BTSgGsMjQq_Q$$Z5jT#-S69~J0mEk zfr?9ohxh0y9#EiH1vIDSisD4Z!86cr<08zNOU{u z4Et+8<*kqBER_~}E@eXZRRIdZ1qk{4a3UHy%cTh>|E8nYq z6HR;XoKIvytmvsKX>9ROCLyUbm_}gENa1n{{!~*#xO1-TmR@uu7)X*hSHXEN?gkQ{zADj>esF+h4p54p@o$@3?MCaJ>BsD~M_e($oWIXd#y!3Sjpm zym&B%J7sfJum+8v1j;Ll%;`esW-TT4j+Z*gBx6YBkHZsaLujAR{x+h#y*X1R1CGb{ zP9$JoSOCB71LiZw$7`#Ms_Fp%6LPve=FbrHA^wx7@-oK@c9F-0{F)_e=K%ID@XpuYg@*amPWp9Np1{%pGdHAU!T{McHV z&f~RiOYSFIE3)_orR@R0@NP{c7(=6wMt7#iyNa?{k?6DBT&vYyYDwt=8(yz<#CR8j zRUzH=3f%IVw!#U@hza7kGM;3~=QXYQ>*?CGQ^E>e)j-#cX6kir! zC|IWImC|+nz1X7lMpG9$q(9y?l+hv=n4NVRZ`@+XXKfX+-+r5z%GQ~O`G|G(nAe`+ z{4?phQyyMRJ%Dbl;Q@b%G4GxOpw5Rl=_E;CjWAXYUtt1%eG zW!h9$z|ugBy|1D&OH*N0V|2g%%MRdRCVJG0#HEyyvBQ+Spzkve>xb65P7fkXx@-nZ z6F|vT0MSgb(dsh)B^`RSMr}>wd9^a})y3PVIvio}N3(yxygW$`bAB7QJ*ihTqTY|K z@)QJkhsICXVpb5oy}y3zpf^hJK%LW-4wwO+xpzm?Lgb{S3z%EojzSfDHgWE!2|7P+ z0Th{ugB`P0R@f~$+loJZlboe+VqEA!jV4`P9rxkHGUdhF!w!IVL|N>ie@7)Ul;vdJvLYS_zGc5KayknwFCFZ)S9iFjrXzZxSC}{Z$3LrS*WJr3yDVfD zteNFYZq!ZXZ(qGR^pXucxp@o-%D^t~-f*Cw-a6Xa4QhYn2n78#a7`{WBxK3R9w7KD($~sZvG3d`LVU0uN6 zA965BY`M6e5$p6@+i7x&^rv>t)A(Q=1`jqGVz0X;hpo;2$bH}(09+DJhqf>S$)Z2$SpM_Bbl5YM zpJRA&Vxf*Pk{SB@h@qj76e}W!Zn$vzMYGYI8J`Z36=>|E1~{J37eov`^`N@ICPd`h ztr9hYgikXwDr0xMI=>go_tYP{sU}>p=0;%+h3T$R%!qep$=gls?YF{e4QJYmuMVxc z5`MS|AKTQ?p6a86n{{Yo5vpX|QT>ZQ^?h^S7Y=XLSmw*c$MMRh=<1z$itSvO208`( z;RiWKx)8qEzXpp4O@gr9is0B;?1VrNz??-PkF%@X{qfA| zL~0nb5d~7Jv%Wv3N~PNE@Ozxc9ZQ*KIeCK{ZHa*I2Rfy~1`nl}74%jFPsSube7>9T z;~8Hf1@Z9SUd~mYJ3Sjg8mIA#_1;bh^lHH`Bt9OS~^j>x~jCc-stB{*kheL~hwSR947khAbsz_tk~`ok$s^A(#0{2#&({ zOYDy{l3ekP?k}7WZ0{V4X%#(^o9yh6twa-I zP1lNlgSwU0P0wC_n>Sat4*A-{aejDl#6*}oXpzTdXHL{hO4#4kU#WUvr9X;$r%9>)iSi|&mm=VT%Nh|zq5X?bHZEQBMFw?B3?XzF7iJieGKOMA<xQl{IRWgukRP0cTixs=GB-=X z6>&c|`jS2z=!GNv=y@bVS%4U4b*GR8k7)gHVFjT>%CbS|rw)Jk-;-{@LQGc%DkB@J zh<g;+qw5lmbk^|_V*8C1xeGLsSJ<8i8|C)6lvs4A()ylK zYVH@zfzS^&7iBMzx^~^Gj}O$F;ypWYP?0>U*P-t2%MmbVRSDTmX!fM{{vKEhXP5xX zr>~6wm}co2ba}3SfCUOO_XY@iGrz4CeW1j~))O{=FSgXzxuttIIVvtwhYLMC^RjwQ znSaNBv14?KgtF;jw%IFtl?1A^{)cd1z#_I*h3hYC_JzVP$zC|Rcyk{t95VDBbq7!K zeiU}{)PTkV|E$>kHBzGGWBrTjw`9*hlqECWges%ByAslBH4?X|ctSg7qGh|X0_k4$ zeSMzvSJlYe5q=C6GX2ATaHBEv5@cCQYDjMd53<@f!EC=rAj-pXe$z$^DPe5lnDD zsjY}1qz3gwsZz;3J`_IhkT;wo+&j;nr^rdA_PQkAr> zUKADhUTw`g%bD9eQ20(kV8pS9rdWTuc~Ob>^S2YoBJYBgJ+NJb1A-aTv?O2ue@zLe#q1@c}_PqYkDwtoQj3U*)33=##>9mzJav|Kly|t|PN%7X>E3 zlYg%SpdJ*bI^=DJ8k*@9y!K<=zq}+9tn}4ZN<1O>O_*lltKBK;^z5+BhH3>TRApBw zUb>@>{W3Iups~&t$zIeu!4T6-!-8==4B8|7)|^AS#ab7F`AVJY7G}LVP2X|Gn37sD zT5!p$N*JTQ2FC!RAraWa?^!W%){n*QA^#GOU9H~o1$Rr=W@W)#fFQrL!xRuu+%?j| zxTpzN^2y!gw6sR&7ocxV=Wfc?o=}hXZt?Ziry>?&<2%JSIJA(knIn$jL4Oa4ZVNXy zj>)g~R=}zClQRDhl!tkF)Gz|NAS`X{dP7hM@^Vdnxj+6>V)y+S7R8i~B^Cwx1Q+%R z)j*JE{r|K83N&&mb8)7oFX1nuNG9RayN63@+rFGv7=wf`r6U&9z5W0;XFOk#dKqU1 zAq3om+t2O3RPPd@dhdmv0{&sTU%3~Z0(p%r8Do}rzva?_(k$7VB-`!&P#>0VROGsvG{ z7`^`s`L+7>YhQ0y2ai;8XGGN~YuRKOv92;PYq>=qYbm7pd5s7?^+juA=1v{b&R!gU zLJ~J4Kzn&8c06y-W}YTfQN%Cl_!Gaq7{TO(T|S;blg)_3R8xXe137^jq)vs)8s8|OAU)(`oP;D2YKXl`~^R?W;aDFsZv&{nw2p5j3T4~*M zeIerF;weg3{qG^C^kA%KKg;wx%q+48syr&W0Fv+ABMwQ~M~EY31d1%Z>DrtH)}!&M zCMqhbT_tHuwm>+rx(+>mzdb|(%IW^;L}E5PW}9Ai!|^`))8(_~k8$47$-qHO{oVED zeAGG3tork(Tl|g~Dd-6%V7Tc@8|3|+Xi|xqr-%Jr6 z``u7V7&qFWBZ5iQI=%d&G*yE!tSL+bMAi+*D1JEQUEGc+-VyAwYNes6A)Q#GpYc)` z{0)oYXmNjJ)mxO=j*Ix&D$vqGQl;Mt4|FJqCf6yy;ZtK{@;NmAgFAoaGrB<-@W$tM zheB91ozPwBu`rPF>qgUhK#p2)MO)xB$A~~a+@zt%(0{o7R6==shD)tk_a>-=Y#9P> z$Vo{)FK4CixB!~RcC8lYEDIdVQdkJ&MDqcZVmKhSe5>lLvAR;{Pqj3&*kr^VbwD4H z6bA-C``{sW_=7H)q>#sY+F{lYB9)=%oV4ovV0LPy@hzBN>tY|b;q$u1Y~O_!d|i-E z*31Zw$v~y!{*2r;-4LO;OBM?^Ji^@iOip9BXC(w;e^H>q(nq#b6#lN8bXc+92ba~g zy;nu$v3HnE)5GgPNhc>Sw@QDfj9I#or?L1O;fL>J`p$IVL*7^W$z&6;4~)avHaiwnu1r=fb;H+zkkeusx6_h-P0*e2%e{F-6DGEf6`D5XYmBM3)7*Ebu>rTwH zI9sO>FXKPI;iB9Ql;6}z3BCZ^VSHH--uzfrNchDXS4M_|&+U*)n|V!HZanVb8!=(d zR(Mi*T15qKjMPd*p9%MOxuGFH0I8;>t ztft@V4!Cz;iBd^TD|{6X&*P*K4@vvFKoBnf^~3NHTS)}NWuKHvyjiF0`z(Fcq(L0?0*W*(-|PfgBHK=>chrxXhMV_+pr2CjrP# zd?KaeOtDHe6~pNO&w$HEgYDN4$dD+wi>Y;!z>jEm-oflMf>z`2-^}eAdVW9wP{6{5Xs;DkBoWTdmMjU z9c=X8ZG5V}E_e&wFiLxc-DH~mGYp=Fz&9E~6+gXUqd-ch>eHvZEOC!3%C&wWn)`W; z^vUJ9J+4Ftws)X`m=6PKjSj~B?;X}%eZBxVSxiUwK(G9;DF-2+<42%qGNw=#KmYr= zAy6B+0oWX;UHAJ4Ko7ZJlKOPXg)u(55C8XCqRU|%Ksgg@ltDy}-IZccnCH7SV?i?< zp6l2dp+KvU_4W&ul_N?w0USn+-GIBQn)(}UJN>dhwe<^Q5iuzax$ZT-QX}B5VN4DLx zrk1_2dHzu^nS1kIKgk3pvZgDAxey>HZ(6SW0mm>3L0JkmHF0iXb~XwSkkAkma(@7t zo_G(D;;`HVJiYd-^}|p>!d0?S{_`0iwtH@InJSbmbtMCs?xwrrZUB{&Z30Fl+m+U6 z8SaRNeZ@>vNKY#&Oz@+V^Cl_F*(Jisc0=D+y-kv$Bsh-8%Bpb5g4Z6)llA<#GXJ>7 zB6X>`;Qrir5n~j9kBImYCZK^21#SECF?T$>iJDk}%*WZYTHNJeP2MbK3VJO{>Az>> z@_+~$5ZgRJwf_IkRoA0MJOUQ|#O!~y7lvDF?|yF%TcRvf>NMT^NM}k>K}VzgG%!y$ ziymazLg^+4Z0fBwZ`mEe#7eW zEx#WmEg_f6i(gA%>nFlQ6kiaK|{7Jn=qEIh!Q0NgZ0o>w;(IBIRO4fwroNl5)Jr7Jv43f0{cHbF!;?m49= zH37Ke`~Z`)?$CK7|NPh#y9t!jDr{?=db0WI^;(Ep-D}XNOG66Df^jtOTm1;v_!()- z0Ds5Z!voX}Og1^J^_>GEGDz#q`x^V+cO(KHQjDBA*+GSOICN>XQCw5^#PM`Uj@^l~ zmAJD%E8bJq;HTHFlT^qNa?>CZjA{P05P1bZT*Mkp7a;MuKl1@zX)N7F51=C|1wVZp z{BqT~Ir^{O9BI9i=I|ZlG8bHjUE4(e)z@4y4{>8zDMbA^MgB(tppah;nFv##RfvD2-&>}Sqy4Gi0Gt!03p`E$1_QO zI`_rExxO&pT&_@#CMX<-#&G5FhR^BJv@d&+s(SU0KfC;qh`%Jm3)l0~^e~tZ$7&BF zDihEfeRe45$zp)TVUiI10@uvakTeN)1*q%H_mVpW_&Z&Ayj11tzdlLrN z6B#Hm`h%w4Y^g)R=}UIr7^ED8fS_w}1P*vOM7F}ti}eiUj=)5rfST9vB1r=T`hL3~ z&{A(<1XM~B{`LDfJUmiyKq7z{qe78<&jCvNIL1pj1HlMH3K8XxRe*h;@Estr!8?|!c*Uguf*V8 z*?B|03YOM$oBYoxH^CZ4aVanS6)l3P)oi(gg1ef^(IgZRR9%Vorfmj*q^%n~hxNa; zCLR_J%=2x47#)Z)212OLf&Y^MSWKNPRY|O{6?jTjPrwFnad=d{)i;zd%n(ZpTgeqD zP?cpXB)>&;@l0Eo>B0s=IjCV%`*g?eKpT=`4NMK?Crk6ER(FuPbd8)5Y+^#tqyakzhs3` zXs6tc_yq~sNS~<*Wf=m6RIOVOVl!-jB>?S-1iC|`OJwZ)MG#`kib97CUJ83|4(CvShb!FMRQC7%?zYto z^6-#8xyCt3awqdwbwjy({=HejPo9@lKsan*vc4|@B033(aI(5ghBK&Kb?OiATT9YwVoFh`2?L0Rdh7|KmOEsU zOs(8rZt_>4#uMX_i! zqs1a7R;);QN&H_q-q$=x5E3btJ9@OA4;iL;E-X2sBm^JV)AVIQfvv6wuv}b*>;5p! z8;>>@U80>5Ha6wkJ{y4#Z`<&q+bi$2ee%la_8(R*zuzqyU1v%cIV?94>VC2}Z z34&hXpNq4hz?r=%{Z@(!D1reRp!<;9=Hh5g5P6*c@%A9d@AXF~P$;`y{I}+U8Po-Q zO=Mji2Vl}gT`=&flzSq;5TKjE-#J|CB-Zy7zpaEP0Ls3RU)Fc!1> z%A?d-bj#e!v4K2Z*U2Kk@+UMLU$bwF3hrkcwx~_{5Bc<_jY@ePK-8ommnDD&9R7WM zNH`T;fLI{k@!!5u^VV;jTAPI>0A+^b>1affkB;8>&#cRB!633*RHSP<-vZ;USfkH@ z?B#=cr528LAqXvwp(+%PU1F>myE)Y)YZ0Rt27cGN3PpK5=!MdH4dv?%Kp*!wkouth zaX*1nHmye4>-~wpF`dpi6sBWj6iujeL@Kha`HHoWD@_&_!(Do#7$yv)k>HCmRl9t# z`uW~*S!6K}2@-_fWAqO;XuX1sv<%b-+gA;qko&7#=8iq3=vqdiuj?-IFouhkQ-PcZ zrL(eXOB2=nU?B02LU;^u@6aisCV*>FZiEJCap(Q_WOtCAJJ^CqCxmMVqmz4FyK@E! z^g0$3bm8kN`1fzOdX~&{JVp0_Uzf!+)Gf1XCNa0JjhW?sY2UKYIZ;D>PP=G1=1HBt?S~vlF!)O*a4l^_JU%-JwIN1sQ#ngcf zs7v}k19B#p7_ZX~oVQyW&_^pR7UKR{^?e`o4!ui++HRcR91wXpc;B$H0WWwI2|sMT z`RE&~4m`Wn-JwmZJ%F_X`)JDD0dD>G{lELA9;zY~=%0{R5IR?a&<}&dNi(8QK!`>n z=na3wYug9pki{g>e$A_BBT-9o`Z1zzbeK2<`0cP!-vbfnj(}R*!;aM2=IBiic|uYJ zT!VnXB-f_N{%@lf2IwLbFKUDkC8y_OGg2zD#$iNIBe@tKUdq!V`jp?Zs4d=7B87Jh z>F3ZUz@8&7j|Nyl!-nW8s=ry=H0Fzmz&UX25Z8@dH_UbHG-GT2e%zL69&ylXiEIT_VroSM zJ{YuQf{**C4R6YGRjX9vplGiDQX1;Wr#65?&ws-AFafB*>6`Go@t?g-bUT0r0jAgn zm}$T$1qeVTrk846XnoHOz#^h1l=f{K-C^?5jqt>GM-CgnKA9_>^fJT3}6nv7`wltsU>2%!`bEqWEc=6<&5iGCbFoZz+zTIA`#9 z0p~PErB06*e8qvx85_VYY=WB*PK`QzB1Zsl?!ELN;3U<_c??~nDnB-3^``hxJS57ccbcjz?mBpBrvfb#>$0 zQKFPDHu#~aL~=zs`uZ_Ipf>>j5j8*TVi;}dI2iR0s{uqjx=d0s0!W zK~wAF6n4-@;kmck9opA($#xa^yDVp4lsyt4ZsupZ^?*V~SAQe{ zhl0KKL6(P}cqR9~uRbpa-+>`S*5efzy)4&-M$`D=>Mh2^psz239DvEk1W1vd=RgN^ z)&|hS?5({{?~gXoKcnOC5%UtlxT*<@_&<6oY3b-ho;?q|yj@&uW&mz5T9cNm6m5t8 z$I7&jb+p-W%RpXoHJw-coJ39v^&_}(&fb}G3P!}%xp(XsoMl}A@2{vMMyttXYTY#& z()M5eD>C#yHfb(a2)vsdjSj~{RI``T>)0nx)*!Y@mXgPM&9dchLj*`KfV<1_jG!~P z+V9BW&AOr6?urEX3@BcROqwzM%K@mN&T^z z`@qor{a^k4?HZKwb;qDH2nd@Xy0O^DdEP3~X|lhcneanTHt6_B$2%yG9Q9~2i;lFS zbZt=&Rb0%uRR%6C-n;8gdAs;6<$$V0`BV^g7mKoQ_e< z8d8a+l=^T+MeWco7*JOU7Nx7*FW8SIcv0uF+GCvy^u~dzT!M#YRrhssBxHOZme+bq81@P~SC2?EN4P5N^~hV#5z2d&V*qB(sdWVZ*W z!qxx-xXUjL%sI`HEy}Tb&+7OJ6jDKh%S*`|HmW-^VQKAM5gNu=)StB?TH32e1#@Jv zF<2WG<={uE5m;K6^YlQWV=I0=gIGW4>D@W6-;KQY4WmI1_;sXnb8ssEFL2reQtxn2 zmtDizu%DK8HsUuq!h9~bOpmInhPM@|noYiN{`*+(a}}pQ8%j%nH@j5y)p$Ci>FMZC z)PVS2z+>vaOOIwXb@w^l)E_t18G7!7< z3VkNGZ{7H=i)Hx>eR(-j09#YW75jE>O~WLScqIL5~;s&VTB1AtS8hi#rz*Cw(KI zyvH~%){R|SGCbZN&v6G8ACnF{){I9AiFpnR@uhfSl!`R^BcwSfK(LbXdU?5 zSeKoSDpP<6$#H{b{{depyuSAZwfEJLfoNwLgX6fdQ(LBHq{n?v<1F`6y({?}B zcMO#RYB}a*fSlU)t%*cKI~TwpNP01%uuB?8d?jGfh2JB2^FI4N&tz}RWIy99dp_B5 z=mO4gmzCC5y)x6UBs7CzORC4!$SwvN2{d23_P}?k?uG2TbtC7E)!szlhX+}cAYd)*15BLa%XUK4+7el~>`rQ1i$7L{_>{G@M7*lfOEQmZCtgfY{E3;?oDz#fDbc80Uk-u?U~F z`u|%f*HBpY8Tdf>`Ih5(tMmE&;nC4tFwPJSxa7r8IWmFqa;^l%LD$6|-0$9VJfz6k zw~!6(-V0mS0JZ+fYxiuC*7ogY1FGAIz+3F(c>hf7D;@DjkiTqJ)tb8|BU~-GrE##hYA4U!QkiqHYeB2(EU=bFXBj0jvXvYIfz~;V}k6Lk1O} zkT_|e!de_vC+W0o62UeAFdPc((!kiWW44n!KT!)()fupIju^;Dp=C4Q#n$mtl2>HM z;r9D?pIkw}K9cx*hO4qg2}?tSM9D3u;=J_nDu3#VNa3HA%;%9P@k(`s^BN9<9Qm23 z9?#RYI$2ScGEeIyBb~~~Ctwf2&~3y8%w_|*y+45WC7DH!4Uo-xVhc2qMJs2k+&Lx6 zlMUJ}I?0yq59^^)x$RW-Q_yT@q^ru=8o@-{RWe&zS_%O(miCf1HQSxv(&YSN;JiA9 zo!x6Seo-SHvz;BVeT&-Y03TSKT$~Q%nGjuzK+fQIQO{N-glm2!!dAlk_PTNuDm#=! zh#B=yBNv#*TK!0KRCTB<{{#*%EPtt;E`rgzH`j}yixbU2ObgA3pduZ|KP>XdT&VQH|oF0^=Dt%or~OcM1aW?j)1FM{wp0U}c7c3S(gV}BZxkNWQ? ze+VYJMHkOS^@r33a2}PZD@7OQ>V9LJLC;9+uvJ7^RPVh3V*a47P$(xyDk@+_cYN(Z zK&>VU1;Fk5{%X>$k?Ib7`K4dQ)N;xhTr~R`))OE**hyh@wAqj%+EOUn$7S9m%{bgN zcJuu>DK8M&n5!awQnmm&cwg2T3&&ehd25a5Yszf`rA)cF3mOr68lRSM%fBW5 zCRskRu<*^@Q#-k$=WH8mgBLB8#sx+MuEBr5q{P44&u<@7*TJ|)?h5pDsyc`D3(M*E zByhg`({I+CiK;OO{a-CW{voDb-r~$J0ZL@T`1@FTCTHU!s$qs>&u}}LN*Cp*3soOT z1|pXBdyv?;Zshi8i)=CsDDjOm>1YO(eVS>LgHmzymW;Nh5qwhSKBWkzW7fk~DxVy* z4sijr)J9{Ayucoe0>mDPn5}iZZ6j}rVmt@2HLejvLfM($Ee`MfCeur05MVG~2op?F zkHMEmCevI4(X+PVgE)j&Q$-k%M8<2*O&mkH6_j6CjO;aZP<(u}d1tW)Sd$Hh>H7m$ zY~ngyYJ%t8)=JgrIuLykK6^O=tH}Ma*oTkPsXfJ&&}Qmwd@+Pcrrik0(1%jzE{KJ@ zOtd$*Ch33!zO?K*-m@?|0V$~j0jNqBH@A1SC=nmWEF_*vNV-9b4wjc%i4l_#8bGy` zu?370Z$It+-yVFnei#pi3ZkzFj{QQ`$1t5*|@YZ zqmEWwrkks_swy)D@?{Z^y7D89-D8d{H2ucp!`?QnHtX;L432?FC4>mEj8Nll$WMcS zpR#qt_!L`+LX*FZH!qqkxU2bMul_0*6zdjC7M~GLX5bFO}fx=Zr-vW7tgf^^UyWeBE2JC2RF#Rf)G%%O2wwq%ELI0J9bS2mjI6U!_Qj zJsh7h)euE$eT^-U;4}2$<5Cvl90ti^2fN)lE;%L~W)!(K1yWG3_aU(bUK=g~0!Odg z^WR{TA73lXdDMebIrPd_O1MfKjUnzyohM1)s-4YCaHfEUdAQ=Q5QmI+UrM34pOge> zt)7u%zza?$S29!F;)*gZht{=+VUHtZgq&PPv+eRie+kL>3_*{#Cy|+d+;?)jTBwI5 z*7RTXECHr%f32Df$Qnp>BMuSWlw;Ca62P0Aj7BeM0+?Fs$H^=^XDr0jz{e}VQ>#m%7x*Z}5 z)Tz_Gj;C8%+zfz77Uf?PIkApUnv{VzpJKT?RdcT-dAiK3Awu`x=;&}zVDYe|JL!lM za)$UXT*YA64=gNyl(r5xxlz-u6>-r@wv=t=cD5|ae7=7RQE>3NI(mbqoRv)D-@wP| z>FfL1?b132gD6sN85ajuXjOy96ovN{YiB6X5WLMa7Lz9h4R>Pw?@FXfiimb|VcWpJ z+Sp(&!J~%;%=EhZ;+3hpUH$m}o58-RwU8RG%=qFaKI23hp1-)ke0YilmR?`S!XS+- z7jsH$_6JwJou$@z95#v4kQX21S1oR1M@6rsV1sG5yAMtI3gQT)Pb*sm$m~hlD?Pny zeoxTeN?t#z@@59Vx7?lA!y^OP_GCta>tmORt>qS%`)gV#Jdj!AIl-EYdjQS}seW9Z zf(?DIk!xO-zIHCD4+PR1Tywh9czZ*0DD1u@uQsW#crYfl zLGzkcrFYhQyxl+T8aF>FhN6E61ZaAbl}EHU3z13&UtSj}=xrwa^4(QIS4)ZUUXF(H zD5s%8)%q`?$s%I69=x#^{NA6ljz~!|=$A4EMyH!;>YuKq-X-Pvbm*Fq0f4?sIUw5* zHH^Fq=k?>a{-#)kvgJb`uK@)fao3;x2mgK-_q7l_;N2MqV%isF6SMNf;`+rwoA#7v zf^PlBhY~xN_rXkhP4hkbd1w8aOD2Qk?t4MlTqYF|vkgGRW4y zG8z2ukdE6)ECALM#y^?ww*a;D!p1u3EQmKTV}oS*s^`;g$DcU%vWi^OM4yIo69IkS zf}IiTg#23prKhgZafd9w#7a!XtP{wu;^-&xlVPR?#z+VAGN-yR&LM?% z10X8>wCzNlDFaM4@(Y}-*1_^%fio_#+lO^ahGC7j6pRVCezC2V*&-8hBH!)%<1d$* z0{XteY2n@2ecMzQ!}1mdjYcQB;psOix(F4+h1|qCtI8pcmuNvvnh7?YmlMss=Xz`` z^q+$tXM?4h_hjrZaxkvW|0!gZbQ;4M1v0%vljFp&;t-Oj5QjJO+}TEmpM}(iC@7r; zGx72sM2fJDcO^P+8?z=Lb8hz1cS?6BbxmCoUB=3c&O0FqhRmqV(Y!U2fBGV*Uskf zan@ibtVloPZ*yCGm#ns9e(0S52Ef#G<0Z3-#gcw;1mfU0Vq_ntXEk(FcsofrNmZRbYi0UsA|DM2;!gpbklpOIv-ge5;# z_`1+V0B0&H@N}^oc7Z@7fF_~`Pzg}3sm_hyt)k$dm<(;vMpc6vm}m);b17+YQpJ_2 zWc|3Zcir_{99@eCgyg6J5wTn zPMJH+xS}L+sK!tjUjR}21E}t0jw_l8m*a_w_YpkvQUY5}-+#?q^?WvB-kWV*KWJEY zhhHm&LR|+wlVAfO5{`6Tt)0VSWJy;Ve}=Jh$Gw!YhQv3p9}ep&E+g~4SDqpIWXc8{ zyQM8}gVEbE;c@*fcB_n9md$P0lnwGGlMuK+lB9rrjTj*?-n~8mCdsZCy+3a;a|KXZ z@P!jE)$}vmxf~A|+{i;KiSw}1TSnuoiE2oEtWuJ=6 zzh*v;A6R>HIb_9K^wVaqr{u@>yk*^a48@Ca#O5gz$F>?3{UInZ8ex{jBvY&XMUvjv zkUzLO%#}0pb3iZm-ykLp!Jo5o3DyODM7(J>ywZGnar91d(RW*awFV52Q>OOUI=`RW_YN(j5lY;w(KC z>OLve>~lQb9R0|;xzTK~R?BO3B?c~4ny+d8vAbiEDl;rQ%u+3B3N@e#^JzC&LoHoK z9D2%qryY-&$E>oixh*AyDEbG_Nd7y{9rhoMm<79p8-6+X&_o6qr(tcY68|RkEqA(wa!px;KD!ASQTov$b$L!i5!@`E@%1U{LWL=gYHk}V>g=hmLKDduJC%_%x2Mcn%H{xUm!eKx{ zBUxWknhaqeQN$t8i%dTV^l^dAP{D=~w0O(Tod2USM8@&8@eG+-*y{CPB{11l{BQt#M zb>ma&YZ++FZWEt;ZJHZ;hh=?8zvjz`!AqSi;Q` zG3w3(cB9t|4t#fgh5`CpXI6gm*a5_S?!C9~^E&ebftn9k{d%_H(BmL~Q-Q87QH<1p zyHzM?Va=7(+L_<`?DHDLb1x&>BHIrJApGvn)?P_lbkUnuT;W!~?|oSIK02xM{-T(8 z$!0kzvT{E6z>L)N-jC}jx~K8NU`m80dl6Bu?U!S z!@$oM3V&x7BkIQm;IcdSMNr8EQDu{v2c&7U{BaccNKx=vdYGHm0svi=@qQfn{Z8i# zYBvAofBl3@b#uuY01&S{(njc#xba!|6 z`}nT){|ajX!_0l2bMLeFbzDl1f)?3InhChR;j}+QT03lwHkkB#I(uJtgS_Wo8QyVDz6Z2My?!sdck}hOdYgh68N!79V}b}k=#cBZ zcqS070(*@GdjOciOk)s;!x*6Bl_^6`a9VF}g%B3mLJ&XxcLGT^e3t(AApmhWe103? z{j_u+n*XOmOkBpGS^T$wV4J_2wEi@9Yq3r)hgu!;JA$hFLt8LeA_2}rs}H`i>WTWeFf$q$1b8T< zZObb^0@Lj)(Oa6XKP6 zixkr@T8>^rZg1Uyc^)x6nI8%0bN^T-3dVoXvAruW78~ordkyI(-A8;^#V?sQ*r927 zx7qq^TDX9GuCo$f0gw&Hg`b4+*bV(h_3H2Kz`JKRe8$WCz=>yx0PuF8iSi0`qozxz z=fk;dBAAo_CKj5+JDxCiA3GFAR#}5;%qIfSe zaMrjL)fa%gwQ~dP5CU%gRSBs&*hS2Y+zO5Q`!b3-YRYB<@0}^P{r!I2hNeIqF%IpXhqnxT@%ZGw;JvC%42Ei4+x^AD@G{fs-O<@k zZlc*Tz)1xHYk|!>IC4mDe&(@mX z$Zf>Wk3ksZQSZhe_;)LBpSNH7$%KZjLQYoOh^=QUdQJ^mI<2fYTn65wl5wkuj}j4m z+eiaca6m#QJM}xK1iZM9RT4i)c50Ko8Mpy*2 zP63N-#v`3(8$v_x2lGOoRK3nX>QM8^sILZPLB~~qC4U#6*yPV5y>m=Z(CfN#hzpU{eth6+I>zX9% z$W&;ucnOL`QSJ%i9jdlv#+Orlz60)DUb=Tu_1X15rp}?ppzldZA_XgMo9n=AAZu@9 z{b1Vh9Ow>hZF>-FAb``M{R`X~EWmj3@xNSQOE4MO33It2AABc0fCW!>-utsv4Pe4w zFw&{gzkMph-yKN}_w{+&%%~YxV~+`y<|FtAGUVpwUccY^0s}%%;g}?lx3xWKe5hZ# zXtOtB4sU%K>yU+G1vf=FfdF)IXMrsC_Je6OBor{-Z4OYQBZ5e7QmMgSx53)=-c62> zVEbuy-Btn_zg@24(xWhMQTE7kAS91FE_~-5vxF}N_$3g~h(f5N`APam1wV-H^`NIC zqpy#3tk`m2-^{JWLA4v21v4CutNv|19xpU{j9ad40+veqwH;--aF$Xuq2dsi zPAZF?L zQd~|8bI8dOf_p*c3Mn77sEn)wzrF;a{j(nfzOMuqt(LEs05=8%k_<*o%7i2jZ~RqP zf>s!`aCnW8aJk7y+UDJ_)%yqmuOR^Vs+?qja`q~KVW9#U6$!!K8E;Kc$`LCGJkTs4 z=teX2%Op!Iwz#uvR_grpdAi-ecso;Wylq+QA%A%MtJ zx{p`BK|tSBC_Nc{wEL+|cQE-_*FPmOQ&Exg<$78vl*RNSuJ9h1%oF-vPiLFnq16Zs^%&l|=UpMbU-9!!s0BSZok64LQRf|#A4nx>>n8Z#~HXp3p}wzka8iw zBBFQlb-1AchP?1!S)O>dwzd-w4QM3zZLiRD0J<(z@iNQj0KDGytL!$Uj>nFU&UNvh z6NU2l*QYBvwZ_ZyRe%W})P8eQY5d$+^{h4)z$Go zjc{=s?dLmeV+L;#8$B_-p8SG9XN=m_n%s}~C%@X;_tP`K^U7SMuquc{7A$$AQ5^nH zweNS17v5`)nFAC{9O{zbaRfl+ZLQ;Vh=b{(o0#AM!X&o(FA|1vfF6RjedP&Moy|c% zVcO~bNaA4N)JP}Itgc2C8MLU)bU5wEJPUD@9 z0DwaKx0yu11rB~3zdlfRWD{rD8%>YqTT}X@D1#frS?`LYW|UzWVy)R9hIWJa*E7V> zndsLOqX7QVV#c!0w#AnG^WZ`@rxqGEo$Yo;w5WunBs+;`?*^ysQq&2^+eK~_HVUZP z|6C;*&cGk5?>DWuzcTSX`*lC~{_O1@_Y2uKBmf()Dty};54G~!8>2h6v635k0~TUN z29tT>AS!1^F|)P7S!8=6xScMCcC0wF*V`?XCH%p>RHYx$ z+^VjL7^uCAPCW0{J@G^D&&?+?^$fcH1u%)ZKf%|}_hd~>2o z!V-ul+%JjT$t?hwJh65S*nmsDwl8S^ie##&-Lkg+bKm%|GxV8NvZC=CE4AKw&TiRt zyv^LwUEm|(o0-kLeiaVPAm>6iPa}R13n*p}1!*f(x;$uz;A;fh4@UIZT#fcP)5F4V zJjH)wj3~I6Ad|e59YeAu9My#BymLIJ3M&>0O8lQWJF7|1mO2QCFl5d*T4D>2$5+t-OG}OZynoxHhr~m-0Tr-{dmbV? z@cfu=ce`S=?b-U)W%GQD-_Z-;Va*mHS-uGDZI?`dK_b-Kmt0h*2?bzPemZSgZ*~4> z&J=#0H=X6BkL&0#uBzi&$oe(BW0K!1r`ma=9ctH3Jl*UUufE;N#O&7Wuhca^YU&N;+)?ji` zbuz#6jo`0#mO<;;&QX4V;k}~y5(OkG$ZNOE-)GCdCt64~*Hk|03*fo4*MY}MC%B&k z4a9#PL+EjMV1WkvvLQp(a}NFR5Cj~3@*v>+ZKYadOG;K6-apP&d@%UDe7e+t!ME(q z<#r-RXryJFw-sO)zKuC&x*vvmmfN92DUvj(T+{#TiASoFr;$L(_U#tb;YRV5%`n^Q#Qb-3jo! z?jYCi+Z{)>E|k~q1%00o{mybvmfQ!H2>l(mxI2BrnH#GYF7wx=;Ha1v*r9WqC z@YQ@X5=G4O{?=JHWCbtvTcW)#!7>$^3$op4@6IK$NQ4vo+tK*{DhvXfY$+L~o z^bRp1Qvk~@zSiyo(7e$vQ>pwoJ2rOp&R2kb#GrXE%ZCmqG(WbYG6O}oX$xD>9JGT(82L=s3X;lrcl1xesAZCswY)1~n{{+GmJ5GHh{^m>~p@B8S6#`a(? zn=};GhlODtX-)a{9V>l!0d)$M;;{LSa={JIAR4_bYE9<18yb2Y9{j?dfqc1U0I-QqhPUm3by}VJ((l-^|i$S?%rzO&PB?-Z)7&PSnj^FVRGZ_NEKVDf7X2r`z z**xOYyQUb9uuZ9h{+Fm)=?ZmU%qw}kL1^$WTNSBZhoX+19F>b+me8A<`}twxU?Zv< zqM60H2$k_SHEufDGQ!O@%f5hJ3w}FRj(LLhZy-%v7(WB9fRZge`WdN4MScD0Ik(z zC}9vtWBu3u*71h;`sD7{35`rQk>ecXtv9eE_!dpp9wRMxc%!O6eCG zsh-j-@)cbh*^R@axS$@kozEg9An^=g;Bb23{13*@jLLFjQc+5iGAxgB?&7HxxdnxFR(3IT~|r8zhV zcR0{XW&t|>2vncx(T2@*qmB>l0e|dP0IP9-Cj3E((CZ^#hQo3d|4Xg|J$+lkA4`Asvop3H_-@aWCh0~9pN_d8;212B(^?aO%K>(f&%o~ zZtGGS!~J)8Il^}7*lvLS?SeZ9ozR~Ukvw3dC)gNmLEd(~6M*YAZcR*-;sY+|^Xr=N zL6Jozp&c`qgGF3Gx#?x3&kO*xa?_rm$i^#scjl)eFi4U(c(YNbW}+n*KW2DiM$53@ z`$X~t^#G5V_jlh|xh11V(O+A-DVqu&{`Xr-@?aaLD>#um_WwvOZ9g`NGYf}5m-soy z^GC-I3xqY6;qy26HvqazV9`1AoES;j9L1kpKYiUmxB547k zX)WokVubA_v8YXoQ|T}VXKC>W|5N|;_-AMrqH%Yl;}iig#FwPqcXVc7Q|n*vlv`hq zhe*ax*zwdu4lLO~A4zfivuzD1(|Bx#5vtT5*7erziF_Zgj0WuYeNXe=0m&*b=-Gbz zwyd&0VKDw8eeDf~S+lGR$uBVGR5#BwKy5kC){i#*S*qC&bXOMm>ZdZ&{{y5LuAof`b|!CgJcKV^%b$w)VDtA8g8!=nJq zD!aA5xU{6Ir^md8bvoIGcw1YG2Pg00fW^D%_k$MWB*t;b+icEnL)J+qh0F(-m#@^-|t@;5zgbH?;;~5tDd)T`Q2t& zM$%kS@z{03T29*$m+EbM0BYMsKKU~e>OB%%*WM4O}bQQn<(l6%Qs6WHM$tKCX; zDY=)NZTqYa+fHCu3MH5(x6#n|e~qcZX~2`=J)?O+}zMSS^&36{^JSBZ4sc8ViMVsRs&=; z;2|5cN7ngWM}|BQ(1ROKZaYj~{R2No7>~&~S2@ivjqu-72tV(eu4kA6H;TrCq@{u< zjT~bho_3OGh#ek)SoQB%cA&mJT?r2gGUVr--~8ztSCapcui9W0Pn->>ANLO1py^ic z>z4|0B4qg3Y7uyPKkjHrUz0LMC*wjcg|IwsWxu*BBDbOaU@c`<)%KD0y!e692&`#;bkMz!)IfC zVvOyCVe_mpkZ?=s_)Mw9f6A{Q;J^uuB87z#;IZfj z>=}6vj;D|31B!I{4@xZ@Q^r2pyZY)(=R1kM;stE4`QPJf3rZm2F5dfJ? z|2}oE?GBG`oMZPrg$?<}Ao?zS+FA>XIB7HS6BqLzDYO z{^md#FwSA%$FJ5s$%>Q&-UGr!NPWHA$ir8*Rqrd-5&C_KJwQUAHUj7$NpV;BGHe*( z{%#IW+s#Jme^MLV1okps}@Z;2TK_X1NygGl`HJuQBkbU1xF80syh_ zKM^sYJ<-AlD*1+t!ot>TE%?@R6_Tb~D*q;8Lk$kZ!RX@IqHR0LvOv%-vDI(>BVyk` z=;#fB;k!UArJ}S~g@DF`5N*`OKA5+3r@;wAcBc4>2I{e?7?0*K{a$@cGo(Iz5kHOD z_xW-HMTY(OXf{4U@YU~^4)5)M{D(9()MKjsMJElpoUI8|OAS;0r`($)TydeNLiU(!o+jf9e?FUx9&}V#gO_({k0gA0d(ba zX5=%Ua~M&-$w2O4N89CqDtK_|!7;LNlqc@ym#n)v__|76Fj}>NN>4 zOCIJw`5Qk8G)I7a7uXu70hIaA$H4Gm?QJ7^vQ3Zg`CbOnc{pQz@vB4Mh(Ns?&m_rr z#2ZIB0$2GdsNgkor`Tf(4(;Ro-wBVJB%88{#;Y{2+lmghMgg#G`L^@?&p@X$p#nUdBJ$2MQxAJNoq#Bh1!$RdcNeHg5-v{jyA z#`S8G`2kX~9afm&3Jw?`NU29I9)ko&hy8eB2)T`jw6N9HOIlRt<>mh@c)i<9D~`J{ z|3`s9KT{(hy&7vg-8t&te0J@5Q43gQL;&jSLR9RxaLoVpozfwSd>fZKXrb5VP{g{`@nR>bwr;|1sQiJs{75iX^E{El-^ zQ0Ho!*Tq=N*~af*SupF$r|lOjhH&mgoYHvYVjK{!4S89tja*BK*(6T}&20G+;JoP2*lB2}L$ntP;s%E0o~NQaK`>oGL|IE_esiF^L#}j~>H~OxP&NtYT0}`x1 zu)L;w_=q8R+z5C^7}+%Ukt=l{Ms)*c;7AhNp$$O zSMivgQ}hvB31f6T^th&Y4xpkEaU%hBL<)$BSvm0x%-lPA0~mm>i*@gS!FKmz-BH!I z8!N#3f$qh#Wwz3Mvp?6sK3l%_{UQAC%E}Lc{2PJK`2E+@<-d1FArH$F&qNAz@3s$AHG>zGbgbb6y@|j`V>;&mr(ltCMzol zmyIiBqBd|B;k@HHso#Fqu7&-H`h@uvY#Px@V-;%z-8BbWgqRBYO^tI+@}2mYO&GyE z$ugRtg;}u>cHrwfz$BwKUJ6w>jup1RW!#^{j=<}n$Q`*U#6y^(M{TuPXdO42Bhb?{ zBaG7%_PFQtJ+GZ{2{#93{(g6kO4EOf)oTi0?r+W4SVYtM5mmEJ6E*`b1HhB}k0U$ZX3cj!_<_mrtEn`XS$`yH_z!>u zaN@oyE?No2o&kEpk!j_gbIhJU&U;G7%aZ{oOKzW6f?R>bG3=r)^(vA1CFC1{eEx^1 z-doZo(+-7o3HEDgR**x;e1(}U10ix&AB}nmvf>E2S=s$y;srr~9eYJa3#XI&e>TWW zs|7~WN>c=;{~2TKTK26V4V;yBzZ;r)@2*#BP!k^C$1jQV19QLKW|g?cHiX^-)duU4 zR0kjQmr@%6em4vZ)!&a8rO3Yn6-stj+e9pAo-eB-O6ixy6n9LV!5(VJnvNvlDHX?r zq|Ea~C{;8MSENOP^)66HnS865N7L-^QkSyS1zQ@-}2vJx>w zHH=>qW>{yQ=QkG91cAKVH$7ZfniQ9vrP}WATCE(o=b{Od1h4_D-9InXg_*J%AJ_Su zp(*@Rd*(=g<#Qym?9ZXs7{7dWMnOlro)}`-> zQHpRRW3wZ~vv(-cpD6@^d&PB)2)78cM)hmFYF7MtZP;iFP8$A@V`2{(Pm&%9BBsyyhqRA`y*2ZbX;bf2ifV= zLSg^JGKwX`&lg}-%1zahE;GpzIayUlRoP4FBvMaBnIBZAELDcpbr9q?r)M)Q<)lcp zLG~Ugw6aETPzFWu6VyNL6JGU!MY`x;zZ>rv@ihNviI&;~2?0haU&EOp_O$)`hSA9S z3nOGW9-de>6Fw;1wymm%s-uF*FZVWe1_!}7k^5S^ewqitN8@=GkA?aW-13%{ojuw} zA>QAmYJ9>cLp;}Fggb(zjO8=kwfRWu22B;w*xFOhRnJ96xW-1a72N)u< z`0~?etfSnI7{PCCig$;$-p%q`@J|b4 zoh%0V~8%9ZLEE2#Wwg@Vy6F~VMgooQr}|ZT6h$lu@s};K|&6$ zyUVUtL1Hi7w^@SYe6b(Ng{>G&1I*>Jc4-fhc;ddnDH>jr~$2SjlZYt9% zr9xv%@@N#eBplTDstQP_WWqsHcY)=naA6MdQp=Fxlg^E*y&^QtO`qB|#4&38ETP~R3#Kh5G%r}o@#UNX%gN7H{c&pbuf`H5UT3S;1af<%EJl5V1Ff^b3 z{aoiCMQ&cXeBpS73E4xIPp=X~GnkZfj;?MQF)js6Vf(*K;x0+XA=Dgrf%P^}0y#(x z96Z;_$4WyYlc>Qd0bkC2CIAFbR{Xg;==Y}O>arHYs`K!>n@Wue8*T0O~e>6$ml~4^>_q5(HrSt;%a3I zf7J+i1b9u6QR`@vZVFlI3qDPAM?4!ng+~3Rw!69;UNxb?W7C+QMcmJA)ke}ju5n9m zr|_l1ummHS*j1T-126AaXZ-&_N+LUE&zEa&u;t~pL6}L5FYyzfe($e!mM74eh&^L4-i%QlRSUR2!?rn?7>gX*SFK5 ztg8Owx-U^Nc|`R(s9#n3r%GXu#PD2vwy{IPGvY~JH%p0^=I^dygXx)3o~BdS0`?HzYN@zH-vM56HESBPptl``uS&|LlbXU=yj`9sHTM%ojxS*_w=J zX#@Eu#IUjZaO~5Cwblk!6CuQ=0Bg*ooo4NRFPOtEM>d0aLyP$AD1sic`uwX@THoo2 zH(f_nnO4ra$74{K1Uk$#!vX3gOD`_-ne^=>MKUvFTfoBawZ59g((ZsJIel-y%JwI1 z0;TQCw+Nz!v~~$Padf<9Do{?lj7UY}v)bRke+Oy-AQj*&<|#<9xh5s%G!sgCp$~aC zy)YctKH-{c?O1vhkNY~L_#YZ}e{sk&*78v`VR^Pp4gTk8M6pii_d(sB*XR#AS&%?4 z9g=sPUFn~#-}z7+q~2*&D>iP<({e3QOr4#5mHU|!Y8rN_5?FebF}xGu1^*~D*~{O{ zh8Cv97B?P|&XA0TyG-7%{P$ZnQGWgFPcc;kw}U>QsjGB4GjLxE7h&!5-KzGNilOv@ zw~=gNWJ-YxtoS0w8TtitrWnUH;Ca)bSuNi6)od|iaOKK8=`r#|X93#bn=wuQmj!HK zH-#9g9pRN!6El$4OCBAV%kubadp7v|(N7VF$d zd1oO<4QYE*$lxcl$nY&uTfL0dTCeKQE><~uM}ZFPN2?#IQ>^7~%X!64%(M-nl)KWTe$r zhn*JB$K^S=}AkW6kt78)4CX_AlFMnw`So}@PA*MdMz>*nkxrrrGQ zC_1uuR)0P;X~YwlWU``BeUdir530iYVN(s7 zS)p#PN_Z0awx^Q1Xd5w+!;X0}(*v+vC~(QH1-1g-OCi>nRv!^ z;zX+TuXFGx-!f^!^j-hd93h5&|G?OG-REbDok8crrodh6cSQ^Z%+c zU|XPh2ys-Up=(vUt?InlCwJQaaR;U8?nzX1(NpK9R0P>ll@nddvdiv@eM(M`ek4G3_k7^&8B~-r|+=P8oaz`M=+Bu*L>=g*kt#Y#ZsV8{WiH)Px`J zthiieemu`WFfTp$^23Gdvh1KsT8%T==;!Bc-Kqp{6N^_9`U|w&Ni1fFpeR+ue2TJ< zuHDC!$ew-fpePh=3zkNzV+Oj4K(8TW(|9j`i)#0j+Z!^S@OdLP+@Fcmg0FoDYrHS? zQ;Zr6m^(-%NSvAsiQP8@pR#OcBqGs4L;d3h`ziJZ>BP8)u9LhtCN6!sU)bJUaFDk& zHZV{J7KC&eHJd{x+p8BmBNXud>q64B7px3JEQI@*a~j8RGLq)6y=h_)9nM4x&|~*D z`ZGVJX1Sj(5D2-|s?BaGKf?mxOT~T(WQGHkjb)M5k=m#fC6^U3_JjDcC(U6_tZvQo zY$FeaSoDLSSSX?ye&w@Tn|?1g!H<$3lu$(O+RP!;G{YP2zcehV!3gh7h}BFqrVQIj zuu+{<^TrZoC51dTtM=y%^q1aI&g@RW5V^i0*-y3E*a0dp-kd-jk&&Quu0cJo3anIt zDmTMePBm#u#leX(ml%qps+we6eekSu!~2{$+^z7XVL9p}69%c(F#755^@TdO4KVwg zbbvO8t>UjqJ09Q3j_LpPqEsHb<9Asxps8&JKi?mHpNOI@iHI)vRZxllmA?=e#Ncl% z>}5sUNYV~Qh3R=DGQ^Ccr55Dj*oL)<%jhkSC+wP;Io;utEBLr2K*lS!6arvzaH{Kd zo8fdmdvmZFBo!XQ6xo!j5OFDAQ8W$iWMLtj!;keF`g9y}_- z@WPt!kE3;$A6alhJ7nC3EXV?OBhsHxC5z-3tSUHmN2!YQ2DFLzbeqb)EftuQDralN z#T}8w(nX{eJKea^^0?VTv0-6{11)P``Co1Ob@B_w$LqhnL(ACz&Cz;leWTWQTLAt8 z*K|v$9^&}DMv7V0?}v#_VgEIGs?w$n0)U^AZ@-q_dAzkyLQg3U8)fi4z-c{pHy$~Q7s*!z&iwXL&_=pTTh{N{O5Bex; z^i>u;Ku14%P(=_DL-eCzmGo?gm7P{PDv+7I^= zsv^xN-!P*l;YdYU$1Nj_1BcOUrTi6-dCa*Xsfs-rh%5qy2ROLVB=%jlWvHO3xwjIj zl-fWPVmb{1O}LpeHEk}-RV9Y+qcs;x&4{&5NC>s+Th(@S+`*ox7bX#LFq0(!uRsE% z=TD!1%1cQ|zjqI>d&~I)PQ=Z7hTYvfRSzpFxMY5Mr%X#@N~s5ck$LXOmrOFjYa;fU zkdSr;o=>hIzg(L48l^{!P(LHp{kFe2WtRqQTAiaEXz<|@2TbBD2pw~Y*^kZKj51r0 zL)*faP#4-Q3Gd$Ei~|uIn2`9LSQ)ZV!2YW*>*aTA(+Vte`mic@%R2~(b`wy+p(uT! zBf`C-a^3ueL$n?A%wkE^QJ29a-e!aIZH|=P4*X>%TjzxN@fkDl{++v1%CGB_18!&v zlQvw38|+UvPDgguUuhqMparnnDUcn76@(@J40nP1Su|+f%W?Ct z0@05RjUdE4#iWF!RpfmBXfc3JJR34@;PNA`-f^1l-w3**2v^b3oZuyR;hFu0`F~!3 zNZgC1)W`6P2-YA5*GU(;ReAAxuta}Alt1lSchC{?tWC!B@MOD{9r6%g&7%xw>vzPf zK;S6yY*rVsdzghTU&$yv;ck(u>|wC#Pv*Kz=jE95LGzY7RTa%c$^W1*{&zb@2~T|Q zYw!?OSa4w|dkK~iO&?Z_M$7j!z?SDBHUTQ2@O>+Ipn({^^3{r#L`6? z%eQ8_%Wa{6s}$53@!5Ha-6ZVHlKYYJ9`GR3~jM%?^SW|EpDxJ~ahy4XgqoJ{6kWAPq5RZ&!E5rF8 z%U}^Sl#!vA%V-kZ|Do}KYo$}ek`b%{`p#uXAacv)B}Y3rdsf&sCL5v6?;~MXr|M7$ zZzwOBCRgNKcp2fG_G${_SK(G*X+%YMVbdR>x+Ot!gdIM5wiH{@poX=>hxs-@_Vz)~ zRdTSq<75>*Te~#Dl?~r0%xCNo98^`VL7nVGk%DoRL895k~@v6^G&aDBNZDqUBWTmlM(wnKfB9 zwT%vln7zrU=nH9}+Q&(_j<5@f$})JkS|p}eT%(qAwzjfY#wLek<=lifR?OT(9T^rj zAxeP>`Ne^jd%ROuG~YqHfmK)c+36ZrF!!*ZH=wL|2wT|TrLD90L#eLLBZ3(fuq{J_#_3fKPVWEKsQfH346`5DZoGzzL^9vxD$uy)O~AMlQjYffpF8%83MebZ)T4pdWa{#e)d^ZrhT_-H1|YCoK_XN9Q( z`E}6whMs2F%C~>m`kRUoJ|C#vP&BjN8Ou292HJ<+)lD;UdM6$6tK^kyrKu8UXXM zzSKl{iZ>QGF(}2=RDmb>s{~efnrzSHnbd~Z`>!e0p4MaJW*MA{N zl(ZqIBXd=t6Q`o636RJPEN%A=yete7VP*a2GWcV^w%WTxfKzkB&m*y~R~G>`jph)O z9FXIkgfk!5OA=!rLZ%9WyjkD8g75AGuqtRF>+>~i-PhWxR*kYIvpxSYPgy zOZ~s!^*kc7rH3ita$JlSV)GM zy@?+@Vwj?88Tt}_AZ!_bx+mg%}Q$Z1D)Y{yIp=$y>I&nS!S?7><$ zfdSuVTZ6N!_V2>{Cr$Bn?vqGDgfe#sVt|sWn;1Xd$FPSkcm%`_fN&S>NvcIwPpjt@ zwxboTEu(^aAHs;^I8rpq<)_%enI^l2Z5&REp{7VU0_x>q-?d52J3fa@8dBV z2~;Q@-wXyhaxVa^RQ5Ml(@`w#^>~UN z<9v3h?T@1)tmwwQuUQVp)Y!*$!FA9@E#p%U^)ha=TeOOdqpgk-yjtXz;%!W`*9j3> zaZjoO`pGO$yLZeYlTmqEmSvgUsH9O53+qxVH^oMkY3Ldh3kiXdeh|u5`mnfLN-KWN zG=@q6!D8;-;d;&;C~6J4+UM_qFZ}^q&Mp|dF?*w<+LU^7lz$uSjr4sVXyq2iis%3< z>`7nr%y)||A&(z~$CWePg5L0?M7gQ7quLF*-a~b$HM&+)dl+IT)VY)JM>m)1-Ob0m zxlUbzejpeJal`Ja^S$WU1ltmhh5Iex2*Nou7ppSIyeoxQ>?c|lONEC|oXlIA9w%6z zW~!hmwyxGlZP<-PE=~`7iiV>?rLGe+lzPi?N|_rENs+Zx{*PKw=OgganR+X?FMtrEid9|dB3Tvz2 zA^6tIKa3*Xga`jNdy(Dc>LvZ(y}>Ew3W#gd2y}GFA;0Zq*fdc&g@(A#kmJyU+}oo` z6dU@QT(8=NXFu%=pxC>+0sod`7&EJTzo_8}dGdAWGSrp$#23p>;&0)nHlslecw?iOxdI@gJUI! zDMFH{Frfb-FDh+j$p*UCTTirnzE-H54~b=D2*Y0rqeC54(6X>;#+=w`FRK0iJ9Ttc zT0i{I8u^KmXEk$f68y3^A&K5q)jy^-wL6v>y_e;en{%lT{(RkR%{4s|NjO?3v6V{m zmL12<_ec z!#Ij`lph(D_t1SMog^32BejVkQ#kkouDKGn4UV^dUALla;05_EBYq)lSKN+E+sX&T zh&ZL~O~batHIpbq*+K%vAxpMRB1IGhr7z<&Pl&y~PLrn69Ss_PfvLQL=x3_kQKRnw z)Zc%|_G7>Ikk=N{l z`gU$dXedlXjTvgvA7ZAjWSe^!5F;$IzzP4i%_5vJid!A$B;0s26zI&_v4)^J&E z{~sE=02XHAAycf^nh|E&^eWoQ*m-^t!`zy4Bc`w;h`^Vj%4NEv++dQ3t1%Ho&>yQA zrvK-%zWu~d(b5Vot!xH%AQ+efZh*T@sGeOPps}Eo$R9wYlJ8YI%uPnmO(MbAMlSkfNX9^lV0#1!-ma$&{j0<5=yDhHBv=_j#Jy+Pw&g3V z3bXkbKAM{cgIiE6QS~vYZuA`5$*AwE!qCFopc+XAySsU?3FdAum?OeLMo5wosvPFQ)_Xfp!ub7$^xpRkclI?a@RX*4-X#Ud zT@pyz*(o*l3n+#@qAwi|F#%ASMo!q`8KRrtRDoE!h7z(gLu95dw3LZ{A0_n(3Iu$n zs`B_P;bO`hWhdrT9vpUB8=a*6=B%qMc9z#Bk}bFB=|wk;ud}hDli~XQ#qUg^5x|)o z&5R!Rz5VZBVvP0$7%%q$KJ3I|z`EJ^9)0EOAPNee5^x)i_}C+OY;V#b_2XIvzu>aW zwTEU@t}Ng~6U_`!=t%NuXp?jBnhfng?lZSxjEv5_)6Qu@9sQ7{2|}z6p|W8;E@2Ie zjVpDHhW$s*hmkzN)MENynZKy#p2aH{BF3sQ=N@$;Hs}^*$8RpXjs6qtd#n3`Z}pndo%PEic447CXeArM7*2SD|eUuTOC7VvF+O^(e>dB_P{2vXaEH|X%(KD46OU3?IcYzH&C{J8%XV*VUV+ne#LB_apc zY8R>fnk81TR@~H%$;$d&u1c}fB&)X`$nbGar8M|DiuM7K9%VL*?_Gjs*8x;V^S%sc zkbuFlq9qD@sB+3FQ`EJ@sond*=^vX`Qxw#0eI=6T z1CBHsBY-)Isjj9>b9r$w6N{7FE0dXiWvnwP_kXalsw-?&~lm0cF<@=4>%| zY2T@Se*Ty%zXPz?BdWVH2awhWBBSeoiE&YU8bhMv^(CPexUdia2;&|AwL-z?!&>|1 zf`ApSY^AYyzn#_N*H;G-q1;S!Dl*^;<0(OXOWiq~qe_!M+q!kxiT=H3!v8Q3!Vo+# z{?5&P)39vvw0QDCiQU-q3vvd?>IM(`pOn)0 zVStq|a=L(TCE*G{Faz1BioQDlN@B7?he7-NpN>}cL>2H5L}1g?hxEvg3G>a)$UJfD5_?L?$>?q{mvt?Q3RMJ8D zNvi2Va>FB84DgLnUXEM|7E@P+Sr0*&$goQlfwK==W5l^y` zC6PW`XUlB;GkCugH)CF4rZGhXLi~vj0_~tth2J9I#GaFW7^I%#&6X*|c60%?8MliC zq<@j5J-yU_aYsP$ZFnZ+be~^^X74dqX_znGScxL10Pc$o4b#RH)px&k6}A1OKF#X? zRj?RU7wQvH@k2FEWqLvq&NTQXv7Wa$#e9}H$F-f+LZYWhq^LiR<8!q6js}u2*JBHz zWvZQWgB(==%<}SNBrML!^{DQ9Bs&-ui2z8k3#>^C9h|bOcM(=Nr_r3g-`Td+)G_V~ zQsPL{8YdF-rN5XSD4AzVt(><$2Jb`NUGVl}!Rg4|&pTB=XglSJwF+tTJYM3^r<2h< zK^dc!t1K2pN0Rwc%5AxP&Ock*6f!g4$xkB1w~#_~kNO6E+jc(1aq(rhrEM*r=~2b= zXOh;a)|s!xZUh>@u<$e|((@V0cI=9UBlZ)Q84c@;bts;!^xgViK)gG2(TpkUx`_LC znM_U3<$%)@DV03EJhK1X2J=XVYBA?%27?QlR?b{6KzvUjN%J%22G{Y0%b!AKKH;Zs zY(ak~4Wi~YrB#bzPbz4Ja->iFgQ)Tayx*zL)Dq=NUr(bZvedu zoHe7rmOwm&?xv-z;L13x3lqa(8Ba5=gEq$?XYgPTbie6nAy0+xOSWw|!oy;HN`);- z`BY&4HZ}X>>sw4clbwUtmA=7^)YoA4UvFj4A0pJ``o49;n=+0=bg z);@0Mg!2;~$QOdT(9xtxzAO)SJHVta(aCA%EDa5hDeQQF{7adqg%hQ?NrIlYRg^jl zX)}~kQsExmVoiqOB>gbd9Yq@SIpKZekO|Hm$M7sr@gHINWyOA{NOAL$F7FFt*nNn# z+7oCnX1D$t6RkS+kFImeKDqt9JYPaEUn@`9g;Jj=SGA%N0gD{53!%qc$1Ra82H}2J z7dAPte2YGJKCP@;(vwO|=@4&Y>AFW7dB(mL*Hrk4S7P~rV!k>w7KR-09<(bgbWAis zyw&9`Y+ThpFT~(Zy-$4xt){PpX+0-6<@wU$tyQ72P@fX?&f(OEKZQK9J>!IR5U@T< z;b#j~o-I^{v!20nfLZp3P~U#8HtP>k=SxIfnIp>qUo4~q*|vujo^^e5s%++VBYfX= z>?-^uq>043$%4J>acD$do`%6ZG-VW*_F6&_xGvKJ>7&2I7_Ueju0Ad%4wbW~6Vw)En6bffQa4gn*q z5(+_s8AHF`MdgeO9-@unf6vj&ryly!*;Jyw4}-xP8S>h5Jonip6FxRZSFv1+ja-OI zOEnqwsU>t;oj?CJvH45$_r5E!)m^sFAR}M!+lOy*@wYu|n z@}G8?rEjh=ZdX?}lNy^%JGP%9R!F}l-{?iWX^)*;8kr?Aqy3Uf!;cs%8v4FzLHyz4 z10r7n(X)mB1TAT|>fd0e0krX~639FfC1vzkl!9BR()S*ZcvY9Gg;WY&Vk8|IrnMQz|{>~d5F_{0Nu|Jf#h~tbPf84Jyn3n{KC23c0Ouqszt4Osu+f+W5q_dsB44oce{m!w zyg+OUpg;?R(PU6Rrb+TC1@e@k%RMHr{x~5deb2+e&JwKTfz%v9R>T&4GNm3#`edem z%U*Ve@t14noiR@;GDf1;>PcZubS z6nyH(RfWMw=U%4Lc1_D^0TBtrh_xpeN*ymz6gEa+O|&AbE1Kxcl8ZK_qjA9a5{&XW z3Yg}ugCFVEv_rS1h;65##672k_mxGePH15`>JFlz{if;&8?9@T;#~di3e9R(nw;NM zt*UKSTA_1+U2`%QYfvL0sT0wp0s6$oA@QxorNi~C!)hi~#YO+~Ic@noD~xk7zNz`! zrRow^a~B59SO({wnOJW?g7;_GI1!(ivMM_cCATN)roCFggsQg%`| zUX#P-ZI;&5&{HYq7@M!xnLwR)9SAZQ{2XH_TX|dzP(`Dc$lSt{Ee=t>NAhQoCxnCt@V2?(ptBK zNGb2$J{bw-S6lg*40#LrdU@-fU;2ZAfZee+x0;-GssYC?P=A+#B6fDh2TIvnA8qkA zML%e5xCTpUq#(#lh{X(j#Ou92!tHt&N?8xzFX3Mx>0bu^YOHaRG=DN#4^b>`RJP{4 z@lf&V(7nbayQp#&sU^&4HF3bu&Of6-xsb&%u$-%n zD(PwezN$*(3ZJFI{EW-15(}cu612}6YxlZBe>uzhR_}fDsWHcfeZWp!g^B3QFf0t! z5^0bYZjj6f7x_z}`r%7rYkUd1oc9-;`UA24q&K6G2F1VjBQ~UwL4(4F z9OuPNcTxz%p12>031Q5$NYMyWy8Y45=naj1R3sP-Q1WPnUUMrrn42Mxp}^?7XLLVP zloGm}Ncb${_E>;0v|qp*6v|ev=f=&ACON`B$(MRj(-${3s1%{x5D+(8$?ss`n{T}w z-IzkhOf-HgfbE`IR`QYt;Bosva+0bQdX&RVE))%u7PueN~pOrF3|zyji3iz~!@ zDUbd`cI6GLkBN4Z&O*d;mlc}xIz%aiBvLKAy~|98k7A^BF9sECY%`f`-3LOecLZGy zQ~#**d5mgkK;@cAR1P>4llYz&?4TyLLxme`S-?NQBewzltzA}K@z-!VqRv2~M6Sbt zhvvXK7$vrL94~+35z6DWe4~8>4dno#o;fFnp6Bd+i;OEmAXS3JY@q$1uVT+=p47~3 z1~ZM;V0d;1PeFyGf&KfHXz4w1TA9FN<#_YTJ<<#t7c2YK7dOt@UT}=ac><$KJ@QAe zk}jc6=XC~tX!Sk{RQ+T!KRA#)CUjK_@;17(L6%LJA11U-RKi6-!l4XN)w44-N4CpS z${O#x7nYBZ9E~EZf4|Ls0>;|Wo~`p0W&16)MD$+)opl{h9sW!W4t1)fcXLoRW0>rm zVzi)2hho~`*JHm#miAd3`bmOQnpB!)r-F(W6(K(_e60(5vFK5ek9F7b@%@2)pqgB< zHMoXt8E_{tWwNp=w27>$gA3hRa>MXs#Wdu&EAc03Bcoo%(k~fIL}v2?FhZ9m&e4gu z`&Y5b@pd+JTpJ&;WVJbVK$ZhGG{VS($~n%~<4Qw*CG@HU;V(KWaU6)5DQ610x|GG& zR`R)QTiSven0sCEweVdcy2ng|VqQ!0=*x?Pzw9uQ4+tE@*nfVY&C1R|NJy4DaGpq2 zdd<9nV+@`f4}M1ZCC zs6T!Z4kp8&F$4`&efmbRnJHsX&!)GVMg}>5B^;DIE1LvylFr!mIKol2tYop4PP@(~ zSA;hP$qQ-L10;?XOb)+rz#0+M0AF2lPD{KMZ`Dfe!hHD!5 za4Ca{u3tOqB{Caentld`A=kcR-p?{F@$P*l7VjSfm;2DVG^DWG{89yS+bZgui8bX8 zkeDw^DkOP1u+3*8HDd~rJYjrG(b7Lp*%qlq2u|W8gPSigmrY+|D)%CfoQg}fr%H1^ zQ_!L5HM|vGTD_tj3$$Fx-olZH<>5dLP~Wv;Hg%4)q7ghwpt|U*aDP!xJ_`5^llm{+cxd1>PR?nSH|z1m<2i#hnHFdYOuybB-!ldOkzEU zfEE;+g;+1S6}*|C#X$J3qSoO5w(3LT`{)kjVVy}a(}q%R ztk`arMAhxW(({=7M_C~~n&f)4l9{Ei?EMs7&0R>k z{}Eys_4`gAwN_4c>|)hr^^LWFnTej2SVk3Mt+RsLDr&qWQ9i>K3*&6a-7gyB>Zlxp8bSJH@`ErA?9c6Cm*V>7$_(W!ij0 z6KCy5$!I3-?Na!u<{_`@T3gm)G zGxRI?@4F4ibL70NsSq!y2+J;wFQv2ELtS19V%!UPFtsi}`NumBMw5Q9)8URRu?1H> z-?!ZJSv7kXjVyp~)PJs}4F8_-!)z-=8!>CVE|IBgrbB93HrC z>0Pg9L5838`;S?N(f#?XcQ*Dk3K##H0gZ?v^sBy73MNcz;h#7%={c2GCuBg33o}@@ z@!CB-v5R~n3b87d2%v|*BC%WK>WIxp1j`bgWq?ix?lN~QQ8eczDA7|S4M^g%Ass? zG?8ypdzS4jE5H-E!hNJW-~b&T{ z83TiX$PsV~oSyt)6q+HvYJUPJ3TwD#sDnpq;)Av*OUGU;qtAOQ)~lY;|1N0N`so%^ z;sd!M$IeP2O#`F4JJi5}zkagnJcbFk&5IgET^3qA55lxj%Nxd(NlFXDwJw9iphOsT z$@|bRnH<(Ci=dM#b)^C;^Rd0vvZx+m&Zbo11)7o4j1Yf4-e-EO8GrqIO@4{$O`0aA zYnrHxwT(wPm=9< zyBzUCUAGwizxgJ}>ddu!BZRQ3^HRlV!wUjtm|0ePzykBQQT6R!!H|oc*vP%U+o+Bu% z3~*yu{bx`b%IEA;S_ocIot1fhs62XN=ewo*MC4&7^X|bVzDQd&)>L>*eM>&j{GG1H z!h0afO=$KJu+CKiBOz~cDF=O5B*ESFm-i&*vk!MWJ^T87$WrRn=b z&e_@7!(~4&kdU>k1H8^wEerubUT~{Hj=2|rB0Akvw*a6xUfo`&zuGtv0N-|qyUT+U zNbg>4biaP)vR^qhYHUr%G2?mMO=j`YCP&WTKm&%xV=zDfcHtl41ZgzQ*Uo+<00PQs zJ~iD8Ajbkj3wntgElOu_v{c`~IR79fD#eoj3X+F9M)7(7B{P4vX$Q#6Ww5{Wk!);T zDypj`6zmzf?AJnu@*m(nG3qc3{RY^k&H#P7)EQT)3vwbbu%19W&g37!d9ycsdS*t{ z>uv}@GZx}}{)&kgjw~^m_j$U}^7Gf*3MqR=YcqSKHfZ~`R%db|-%}X|-Hs(g&#E%> z5d`w;$CBfCCpKgi5Y0hpDS8_9epCjTeMR2rmy7Z*LuVs_o5^OqzhLIouhai7OE#%3 z>^Vjkw{7U(w0?D9Ty$3A_)dBJyI^c^GX>3ecv#obC+G&Rg}PmCQ#5QXOXcYOqwzs| zOg+3zHa({lL%c;s3MhpQ?WhaOYeR$1Q4E;pbd%yEAD&SSS080(D&NueLtteH)iIt*YM~U@Pi+uYJew#|wu9 z{qep3y!Q1u*M+p0KJ8zA72E#^G15D6{8C`eZS>6RA{ZseB6QEtd%2Y7m|Y4I^pD`@ zwH2B^myLmER-W%cH^FnJJ~!{Ku-=tQueFul{iNjNbbGNu{C3gNbo3+(yY_m0(bu7%B*lIzRr&)SP&Zynur;Oq zAR{;6yxjN0{f$LGQK!FOeNGaE8-7QWep2J%MeH{A=2CxHEh{UB;xqXSzA3Fl3{+ye z*k|S@KZnoqS;h+GX3?{lS7s;gn-1Ki4#TT65E{6@N&2fE?HNmIRW(8@$j#tyoxp~K z%;ZO};Ui^68-6?&YmNVS@up~*vr7C}|ENxg*eg>A1wbL7=J9wQAb|!Ybpd!SAasgn zx88;YIHGX`tWe7obAy1%I}oVN^CHf+rV9ZenK}Sy)%J-ez$wQNA1|=YBJlo#_>bH| z_cj!V%Lo9Pd5mW$GQ*M06a8-w6D7Sz)BI!N_a_F!{^HmFtAPU$>W3>c=bl|C7W)y* z_cwjOq4@Q~LX|-@Kv$!?zdu=2BI3S1#ai{lM4Q_nLW0 zJC^irXN>6$DL4kl5ITwprZfrJ=<~2yhM2TmIZ>*{xyXXzgx~X#BWbLu3Y`t&_dD<@vCnijxJb zbc3&~eyi}cxqeUm^I@AZ)3QhkhY_bY4m7cKtHgs| zN2!8H7&O=7KOl*h)?dw`<2J6iq`wr|B50Pq=HU|MA}taTSYL{2WHO!9{HXJs1eiKD zeM-%KHZ^TNVjK32GIs|7@GG{?=1!zVpFKK|aC(hL`cfgg#pY&k+2{>`UEZEt+z0_$ z^13%I|H!E2dElZ_Ij1x3t~g+Y{98y&uQTbFt3vvgyBG66%2^|jc^`}g_)ooo5cfit zFht+vU60fzGVg#}J`syG`a-pyqdj%$cy^2FPMN~Q$;TdmeG5Cm3t+u&QEg_gBA0|>S+>{P`hFN}IW0g*6qGuP2?auk%< z`k$I>p6|ht$^{DxT>AI#Z!!NMrfg?V_>LkNB9n9A6z`X$RA)?GJN6E?YCVp0c>>Wn zTDR{e>Psr)RW~|x4Y)M2LYs8g+1h@$4TcgaC)3)cZJfBpXHhl?XR885?*|#(%@S3G zy=OtAF6C@q3n}3>1pN5#gGtqs5oXyhW%9hJ*alvKWJCXYbwY2$lUIPkf+h?HG?vMZ z&Hcv*QSikH`MmQ$u=ow2aQ}nhD(BS#vV)rLt54;ml1Dpx^p`!sD5Ez3fyWr$Sqj1C zaNfA{y{b_$9GirL;LXtZ&Cl2bFKB*sEHhkok)~7zPCm-s67MU3t1YNz^pU%*m?S9F zk9P^Cqy*z!KVRFBEo#=JJw=r^;fvzipGp@wr?OFjb8<#$yIqnsuz5Z`*5A`|>%3Kl z6z!u3kL80l-`UcFa|>-uViGs5TZZS~u^u(LF=j~89lpfiewDuv<4tdtL`35!meNS0 zYNH6=%Ky{pJXo6ky9wZ_0Zc%YbN@||e)wVz%L#qp(PN*{?NsP| z1~@}ReK$pSb9Nj(H-6xdJKwJ0JDLLE@N1v_F|il{B&55g%I|7r#sG#=lgA+6O;9YR z$bPl&2@n<=&3xbnFv!c-mkJ}`!q^daT{Tt8a(cv79Qch2t|1MTxesC4a(Zs8Nn4a2~84Dywx%;jTQ;f$;&(mH5b1LecK>38gy=c zJ^d3+flBg$G!UUPn4(8L@TfJgw{<6J8?S}OV|y|3jHfntAaY|@j$p_`f4g-sk`UXe zP)kkTvFM&E5FttV!t?&w%+tcs!V(~?LKq~6=eM>uHa4<=u zFTWDNpI>n-JUMccF*7sodepf;dt`wF-d^pEE^y4O!BNrC&etV-;aode^!9tydz9V7 z!!rNSIlcfbL8x$1B{5N2W(%gQZ2NG!_?C~gko~<5%|g~WAr*|~CC+mhjR?d2i&jo{w9a_i^lLtsIeeSv$-eH}Sbdu2shbDa-I-8N zwF>~G@w}9eQkVu4SL16YYw2kXeNN7%#hO*>!%=n{uhQGXYjb$$O*DdSv(9UN^EzZw z%H2R9E<2@&huKzgZj^|}Dt(lHE1`HBKir_IZD1cI9VGmQ!kJWR|e z#$uUXL>k`)hWdo4%Ff8y{(P}+F=?yd8AT2g9c59$D2>zqW%lx2JV*n}m0f}yi$=MC zuJU_o!aKX7nyLYX^^Fn%kEn_Xw3=g&AG0lHmANcF%#EV!!yE^84s6A~-w-FO3vKc# zR@!vmTF9&o1Pgv)B@Iq~=7;=AxE`m4_v0Thy{pmHF5UnbKf#b#$S-Mig#eWDJo`hd`1&m5 zeEr+hNuQ{RJIzkch(be%V9&(4l~3g3o@n1mOLjAg7j!KvYls^2ZTpe{n0~-#gaap} ze1&i+w;5E8=CE(7xk_r|y5t#nNz05fXw|bu93sS;6JJ|FSAbJ<7A1RFD7uKG1Ifp* z9N77($rT%hR2vaw+faGv&BA;DPweh?w^`k@|-MHS$d2VMT{8}vGz4u{b0GAmciZ_l&=oLccespjp>JR=mW?>4;K%l2gKk`NzRbnKW)h5x|ur#@-*B;t3!f4H6ni@ zyOB*IIV1Q`ZvT8Px1%VJNBrKpr&7O7bJ{tIh>+Tsp)AXx0l$+EH$Ef*;vc%kYhSj+ zvM}8~RiaA4b&lbif~bs&jffCFn7F!q&0)9vb&J(EdgBa(*7*Y&re^Vh4p2<%8tqwR`etmOF120qP4Xw$7E`40R-j}Zz^KKp$r<& zFK14byb=v@V8e;E z=4oS}HD3)%045t+g{&ql4P80?ZrZUEb92WR!?Wq+YC2p))jFhzzLFfaFHYnH9{9aN zD&|jk#9+v`ON^tnAxktneq>x_d^gpj5B3FIemR=Kksazye9--ac-dc87&C?U2X6Xg zE1V!l$wNN0s$n%y@oO|gGoizRDvLyCV;S)~W?}@Az^G6LE9tRAtrY!&iGpV4__jIh zUxTak8?Jx-WxY$Zw?$-1TkJ;N-(9UYw&FJQ}&?w^H4kp!-^5ZW43g<^0erAUR&z^5l)dxMD3 zs*%6me${>^B_T;x$bR8-v2Y5G!;J+X%2^o7LfPEJ?#=F+C?@Lrm~CW)Zgyo<+OLrg ztJClm7J@waDA)9lYQTMcCw(2d!`RzAgYnt&aq!AlL{{kXcBgTn4bHI~LgEzLG^gwX zB?Ht=-(eOCTlu&89DT)Zu`HIO%P;I|*E`gh4GQ7CS`qjdtkWXlSg`BhB!i(f)RRRy z+i4m3^-;1BsEXh^SFF0d6Q-yr%rWlWIov?UXf#$QB=)VUo@zG@^Co0_gA1ES~ zliZ@r!e#@-Sm8cKR^|+t_4gHGaE4tgd}nkfaaNriJ*4)F?~IRc4#^cJ2?z>utqZ$X zcCj72d43clmzBRMJXuBGKsH$9W#8iM9g=4-1VKN!=oQI%Ja0srw`Fgc8Wdoa0W3*`p^33QbG ziB1@pN0^GrnxG;YD`LV};8<4R-`%B81Yta$<(_jnWYe+C;*$4cH3k`8Az*5Z@a#wB z4;2-az{(N2lyoiQ@wVnT{?%_mLl)bVxXUWRe>C8q}3zO!GYkdj2JNS50tAj;}r>K6(fz2ZsAK! zu0@^ldcsOio3ho=D6FJ|3@o$%t)rqdyxwBFh@2{lqo)WDg-9D+S&5UCCz%gm%=2y4 z{JM$li;E6#u3i45v>I=j(#0SVaiG3F{q5iC51X8BbE9GkZzdTo7+}*&l-MP#Vq(_f;R7gPBLmDek21Lu77n z2O7aPWWdDL)t$5{uXUaKB;V3WTU>6thx4AfLJCNk3f>HmUhgBPb~)SuvKxTy_iO#- zOP{twUUR2}jV!|b>3GYAq>4&nr#utzhQYSA-I2`QZ!4%c>S|_oZz~q{ZN6a3#S37`l5;Kftp3|-SgMzt1H(==l|7u-!3)Ehh-Lwf=tUMi;8E=e( z#c|^TdrqeXIzAy=n}f>QS}7G3*1v>uin4vn><$O4BeDB-R${)ND=RCfY7F>6!ltH> zifR}cg9249hh?=;Mqu3i-WA|LaEZ2hhqHbDTx9VP^oc>3Re1x>GaWk3Nzt_Mzh{P@6E9}yK3bgZUg zWE6jMAm{Yt#uZ1zFR4YxXKi;XO8efy`NU=r;hcDhEiBkhjruIklXb9Gh0wqjs`qGK zpo=othOD{ZRJFPvu*xIM<;bbuE^15Pz}nQToUSOy(fFtLHxhED-SE$8n-Er=(%}+i zvq5yU8O%m39Vpr2NcUa}W}PqZ4u;?Re+S! z`dEfPU1Olv@%%?9F*{!>pODW7x_>;@e8@6xaKU~RX}0)LpOsJ)3ua2YG|VBzd*Dky zZ|qzVrJOzQ(eDS-`MCwz$qoV6eFlJE9|~}qAwV_V4qV&Yrbjoi+1#stAOd_O*~@4U zlG;25kL(`ly41=W|8eY`O^O}^kZw#p5L$Z6zGtzbg-Ax3R@ZnG=S$Z*6%!-s;O26D zu}AAI36-Wk!T9Mx{(wEoAvCV{CymxFx`fV3Vz_o}r9`A9UMwzCb&bdnv+k7`R6gab z{-h6TQe-ckK!js38Hg)B;lmnWn$L~@0{qd@5bZ3k`vN#nHn)B0V&}KN1Dm~2x#Zaq zF);(5Jzqh-U++a#7i)gHl6#(w6fFWjf(sy^^x>3s{SFV4G9p$TIzt74gApi>u!YNo z^6+=n3WMkJSJSN`%3Hn2$Pc&5mn$oLr%Ux}Pm0z$xSmwytzT!5)(VPO`#Tp zrU-ixf_J8}ja3OOuv@McoN6D7kCHi=T?S((i!}`+OfH(KJw5r~O(x`4~KbAbEShVDlYz|;Lc2y!x1$-J*_<6*&9?%=P-^M%3QwO znXE~Z<5iLDv^V!297~*zXC723UH<7Weo7}*3muA(SW z|8|O!`~LEiyJB5->mnO!yPRNdM70{0a<0^R))QI`K|;MhS`fVrEs|k~^KkvTDTmup z(C=<`2n4#iy7JmCkKd~9euo;0%ir7{1P^S+tsa=7x~@%w$Fu7#Cj}Kl^#Q2=H!{J4O3*~!{a2;(6@_sjBsS)Ez3a*z9Va~%U6EK1Fo-terVE}DttL2O$2UVe}t_~ zS6T5#Xmq;qZp3KoUB~&VqXDg+x)0I%nAiZn`|&PL{K(A5IC%0xN=FCx_&6tYBy&+eHYy5XZhpS7ri%zDw*ni9xT-38 zQgR#FcU!F{#|7_#*d#W*pU>%;e= z=Gtxqo?;aWTqzHV-o{5#7ElFoX<^KSNa-x*? zP}PR2#fAF4!*}W*o#3X1dY_=lJRTZF=TygREA-Q5OMeE}mxhyPXf!mmf1*cAlNbq_tdE3zkbK>~Be&LSpF8o< z&;o(>lF7}2ecbnNzXLqEanWldbCq{Xi*WH15G`Wy>^^sjt`uvDOlBXBPg3W=XkaIiJ5;YI}&*yyu6%+S`)j^Z!3iHAt&`3FC++}RPCeq`K8I~_d-R&yC!x^>H=_>rDyo_e zO+xFD4t&6=hm?$rY`Rd4L-5fj&wdbqBnz`P`bw0y^2A*^Ym`<_WyHdKNOr^X%277j z5Uw4JbzMg#CXP=emr{0hc>4v3`RUWLq85A@U?yeItDkXw0oQ$FE7{%K2bANY=jxEm zz^*npvo~5mbLaRiQ4jMe|2zobfZU^Yn)}>2kbiL3n zRHQ#gkCNW{bAOZi$c6Im(}E`uv%Ha9?MmQ0iyxbO&xh-3D1v0>oIeKI!M#~Pv)?q* z>7(%_ao$*lGSS6*o7gdy;NC*3P z-RsiO(TT>NgH!70BqKi7zl6Ev!Bk+-UtTvTxo~X57bv!&7|C=dgM^eh zn0nTFWeqIB?#bU~-Y~MGBg(qEL8qteJl@w7ik1f%-fo}Tf-NDj<=Ls8?xES0xDW+w z!5wJ58ndEaS%5n`=%QGA0i4!C$zgWKn3@fdSIVz;@&(~&%};AD-ouxdvfDhc40Eqa4Spb^tjAUI|oH(Jgg_0-RB=ya~E2yKwI)7 zE*lQ;00p*XVFyEqiM-Fzx$O;y;2QBBb*$9vJ$eg6?W|`XI@sHj@R(aSx0Af6fdO$V zBqSOJz!Z!@otWA@v=kq0MT!~CI-HP^5umd;A?~4w41iQ2T7FZcjGcG7(HOvmA&m>S z%&AxDw8Zh_H@Y5p2|UlKT|R1b++P3S@px&i_T{}NKB)DSkroHK&IK?W(6=B+2*N;N zP}V15k^<5Kn3$VINIb|uSgW=;;6%1#$CWNxA3yNq>BsmG@Y(xX{39L<$cR}thTtl} zIVnnAuJ2w7w;J=9|0wqLsMq3AbEM2-Tue#Jc&bNCUFV&8>!-QcB@B{+$5mzDY$3NO zPGhDvR@Yi#EOBAMmo&x@*_AS|>kN+UYWL=ySSYJt+F3B4mKl={J6%dwuV6~2HLd9` z>u)i#gcAm#bDTxa4#cy#Tl%Y$ZfP>b{7OyU zE4Jg=^fk6t=*vhgC)o*aWU5YlaDX@4<^8rDX7-G|G9-Zp&OkH^gwcY}@}KyXCt&f| zZ92H;QcIH)EyV(T!Yq=m|6 zIW-_V;hpS->eBN&kz2U>)8}<|J_M|W#|*U3kzxpU*u?b3`WZfTKg5t=jxP;{sVM$_ z_D{IlQI)8>VkoCW0Q_aoAHVw1p6qm_1SvQ}T5M3fwaPgmJalD02NC^+m*rEl!%4L%Uu1}FrtWtd61VJgG9`0BO|CnYVeyDi7R;R1B&Fw@+q_j~*yj6DXM4>h<d}Uuz{^{+aq4Q`Rz*HGEKp zo&f%9pOxy6XwGiKJ|ASgeTbaiPail8yKk$*brd`#p% zJL{T^FT)diB4!t2A{QqU5CmB#)vh_BEkIFi{r_KPu0&P zq~u4g8L*Dv^PEkPsJMKf7&#JEP3CJue! zYVVHC0`sSB*Kd>eD1;L`L!}6b{!3bOwp)u-+R6(xvs@xonUdL45GLqFANH;*oe{Z$ zXvRV-Jl$veuD_vueT$-JPrc~bkp3|Dois!O>KCXWNvO)m^%lL*b07ku&NDXfTTsFb%jGEsx5xd6f#Ni@jZrmG&s z)xa4_w#oymkQJX3Wky3?(bYu!Mmrl@Wm!c3gI>wHOkWO1_%;!94sBo8)T$V)D2-0t zZk8~C)EN;HyPt*z+Dg2en@4xLuMh>wTbZX*Vqj7-O3tW~g`Z*9q)oMeO}pF03KR1r zK8hplNt?x^LYtLDOlCcmuZPK2scV7*GdNLP3*C=~)|8I0amt{>Ed8BQ8U(j-yZ5Qqt{LqmMheBu)T?aN$L1Q> zFUgNBw5Rmur*?5QL~iIk56tL{22-A?o5NY~rSR%FJEe{dF-v5aiKZHShnF)yxM?ms z_<}2#LJP`z%#rd2@h2xSds#PLvWnpAvDB8fk&n5K$`e|||CYDUDfpV}>xL%_J8I^G zP}Ha**Q7$+$mu;AF%%S7CVBZY8iKmS1ns<$Yt9g0P(_^eC`>ziD;v#U-ZUAYkXJIX5^gqXvtVCUvpCDL85Ko~+$2!5F>Rr$GQS`n zWghcl!WPdo|LjjJudc*#ll2o>n41Ip`ppr^F2MaZm(#Bf;~Tw_E{qewJXNAhh{y2 zt7_xTa{S(C+tFHM(QQsV55@pJ!}a_I@1Is%hNAcOgsoCUo_>x5Av(2Vj;J6vlQc&~ zL-X7AjGzpdi!9cK+Hm;u?VnKFryKL!94SvWwBtA?4{<>mi3#<`(>5D5``(1to&H}& z(m&bM=B<7*saLRyshau{s$)sZN6W2E+`fN==s`NzrKvGd?1nP)qj0zp+A%bYHB0ag z3+{*PELzEiQ;k?34xP7BVfP=rVl7Vu36;(C??}AgQ*(3qDsY)Kv^h2{Ti6b6FUVfa z_r6@5`7sy9qqp_uX4$ipaaug3!zgHFG)FJm`P#I_wJvG@OHb$S?5Gf1^kHzeV>LWwqM|1cr;|Ilanu#&uw>+Z>;5+Rtj&9dT3`8A$=8RpX_kcZ9=QrqtG?2e}zJYHF|synf(<4 z&8mq});}RM2*JBXYI_pZM=VEyAu90)t18wj_vaF0gv-{j)nZuBAzcEk=t{$HbxJ!y z3JiaRgD%HbZ!|-QQF&{hp=-~&aSx`g<&UA!zhuK_8I}aakg4m~d5@~%I@7Gw`yto@ z)k4OOQY3&eo(hsQ;DW0plpp^)0{)*X9?(nl{VUO^E;0c?sCVn$Bz=OVBRKrzq-Hqo zuRlF_nsIk@OBYXXoal?;O=S_w&M<13zbG4$S*dtobP&n6S-ICWdk19uKm>rZ=z?$G zb`m%*Y#O|KisAimjuQWEbXyj?tpKp>7$M)wP0Y zw8d>t!$+Q_a!S)cr*f771VgS+1&uoeuCcRYv0=+My9JBoH?hZFU# zh)7%4-v;x)E_q7l!-vP}u7@&DbC1~=jSnex)^57wHH5>q{|Mytitr8f(^b*uY>Mlz zRaZOh!OV5U4_7var1UaZ2|f(<_Zo+^{A&X#{%I_h+?0S7E^GeN_kBb>!nz9dpcJ79 zW?R>Ouu{tAWUKQyr!z_xD@K@|u>pMy3Dt>^-($@CHv3T84}P5y#Y(weilG52JknHn zOFGu>!xBQsreqlVE#%hLzs4A<8J1kYvCEN-H24f&kqWy!v+Ic%cIe`0* zAO7Uaw#--9}Q)(N+*AS zi*2{-qjMC3eYf*VHiuuqFu0=N0Es7_5opbFl%0l^K~05zZC>%IyIxre*(NdOVbHch z=9*Qlj`iFKu&+Y`3w89UJyyrxs>%qNa9>h7 z!xO%yv(=09WL7L$DpoEm$V)9E+nIeD6E@Q$rTtj5mPEo#JpYT>(XQV6XynOh=_l@1 zi9(qo*62a6=Hw|OA!uAA(>pCWH@K>59f!p!K!zKpvT|GMemxlIk3fR(@bD6NJwBS6 znbkX8p@VuN(E9(WWkA9j?wogoJOO#@?K}1P0zv<*lJlILpa6b{?C9ZSYDmyTdP;%V z^PMz48?^t!PQKIW!-o%)c-&RIALkWfWK;6RB|EX zH#P8Pwy%2c#kE%oS^H75G7m*+9yMt4;mbV*0|Cjtn&wc^QO{_=DozftkGB7`pZ=~! z4eCkNlJCDX5vzB#{6yq^TJH4{N$tFQ$g0o3gVzLfk-yz<_KH0WGUxRgy+7flRcnU= zrLU5bG7zXtJ~IS(liNN2UZ0)Z9?lnvJ@CKb2WAxN&A=RTe?H_K4%x)p-y%YdV}mA2 zgh@_r6!&?ra-D*;L}EfXshNm{keLPE3Ca}n<|^)A{e->(pb)D@Cm-Od`1gkTawnW9 zWP|y025i9kX%$P^=j;HwjBD+teXi}fw_#>`#H!wKd*-c~jci=Soltu+s9z-KYsUiQ zm@_ArZ8|aNQO!*s{BRqV3u2Z>=C1XN?SYG=Ra|gNEL-pQxm&KFR<-mmb0}> z{n}scwEBLF4tM#M?@oB?>Tvr@NkdM+hyWC*Nf-na%vz75j((4i_T&5eXP>ildkw1! zJpC5K;o^Y8=eCCh0kx&AzufPN&BmOZU@lz2{Au5Eh1?*Z+v)YUc~J#G-(+OOWv~rT zC8egM!2+BtR+;9Lx@y>B1Yt!McB30%A=5cqd#984HO?P64qt+QSVosQJaR)cyg3eH zpkd6S0b6cw1X?;NFYO1xe3bSE53`%J>ZNAe^n(tIlJYI7`#(^i))Tl5DU~a4^Dk$2 zFI`16UT@1rMSAxRJidJR%r9>eD_R}fPbU^8mjxoAfM8&uKSrhg?*9{__% zfU%7K@N||@QMTdQ9vY;(OO%lA?hF$OXq#LEXySqz5x*MdV;k(&;?eFKT z#hMxBx#NoCJg-O+R+1r^p}%)t3r+0EY4uiJ;~5U_V2dYgf4w?fK?Y41K!U^Y)y7D* ze4qN;aNcuvDXQ#cKGPq=B1{3;0^}qc}Fb!KEu2+FvQ){;cwOvdYWDX@8RJBzLLj z?56ANMqJJ7?}L~5)(v<`#m$YLZ0Q2_&=2S&5^V@XwA~f-`@UwUcllcCxZUJXJ^vYTV6K?@*>B={yWt6hn3<}7AD8iD6*{qGo!~_ zInVRo^S8$}6HR6{rn(VFrek8Nsz3KUp+$787;LhL!^~c8=5=mS9m{(F1_yy?$YuDy zm(>X5LQ64e_x{H~ol&G&ZN(dkPD0ng$uu0VoGqf^q{HpOwL5AfLAbSPXSPHu@HC=t z4_bR@eViKlL0tg|O%^OrK)irQ%x&8Z9Aj7kwL!8K^sXIaKl=j8Ee=sPoQ|HrOJ<#r zN!sTQOzzyXv3+F0N=UjbS6+a^=F0E>m95ETsF=#pw*V7*FNP^9*N~Ma`CW3?t&XlW z*=^Gk0Z6!z`m&3M!lfXI$Lc!btVUYYB{~r_t zKuR2E5a!O$UCOL~it@h=ev}oL`a)!3VNvC%fj8&V0_7pU=T-E#gx=tn0_jCP6t#|{ z-R$mtl=NYz->m2sx4y(5>^=v6G&Zs^rySbDwqfKP3rt*@r_lLeE5o`M0}oN>L!1y$ zs6_&2PdyUp+wwGLMqqX2FX*w1AB#f50(pA4-T~vBEJLKp-4HwOPR^z#CoyVEix0O> zLrlM}*Ecn6>c2em?6+{B_I-$X|MSaDqGazE)@5+-jJ93lDPASBd*Gpw@&&GV{DX!x zJIVBxaj$Lj`n>&adQ#6>dwc8ZPCCO1AAXqK%JNB4Jk;N>HsDslijTAivN88;G8|g2 zi^Y1ANS$E6$Mi>fi{H6BUhxqJ47R>`^j1}UmoJwZxFH_0QRdSc0Qf{MCaOp)!;C}` z>YHlR70$TD)HA;KHra%u2^&b$&-PDjFID zIyySn%M%}iv-T$^h^&l)l$90AzcXP2S@Gc5{Q`ZS`#M;j9ErESLnO03V+TZb<@he# zC>a)AGOmAOyIlAE9zfRtfhprK^;Nil+VcHO>g(5cHZ41*fDn}9IBm3M@~+y`ntvQ? z{|?_Kr2p9;q)d=tyt{FJn;y{pn~|lo7S+&qgB#yY@8Y(chw~v{hb8_lS=;suMJw`W zz037B2jS$Zu)II9Y^jo-9yu;9uF>nXEP-sTIL;Ob@ba&L-`DZ0Jor4uS4 zF)^pQ`pu6YKLEKW;_S@HAule1EP_nX0S6aU|6|tI46gm>ej){RtUv#;;B5VwYX5)J zpW7qVej}O_K|_7+hsW8@>IsXdIq=ZX_xh!ZK@V<*q4)x&FY55W_ryWD_~$!fYDfQt z1pxh_Jq0E@wds}~2`!Tgw9~X(VOtzC%@p)uevypxJVYn7iyDW~XtGwo=}pgn zjH8DMiS(8sXrwIX7w7xab@cZ)CjqaJP<1tyZO0|k@JN(kKN^`p;Pf;b7)^`{dIhjt$`1%idFhi)+VFcg>v@fyYBb_2!kJ(gJ zRoBfFpSxKry7mzk2&+mUc;SG)|Bvocvy^%qtM^&)dw3F(2^%GY4lHZ#!8(T#MBk?W zeSouY_Kumk*R`6)`oE?Ihm)Vh#cv`K8TzVs=y_gBfq~@Xb{xPKK!{R)cl^5qe|kE2 z@97)2tZPu$5->pi#0tqI&hPnOCbNqq@yNmL zEjPz~KpuvHiyJ0FAre#uq!}9#%pIH47k8c?6%@L`SZ6!%|4zH7@@zPWAn5sAG7eJw zr#eg=1}DQ>`<0L4FHTf+UCt(d5h1qOtsY#7onbvm;k|0ZkF>-Tff>d={FBht|F~zq zeUj4R|5dh#+;FTKIEC5rt2|zw?!CtY3pV_)<~xh82N`HKVi=LIYHDg9Wfb}|T$a%w zw6r`SeGy5ZZ)K}A%#tG_($jM0;|nN8h~m>DQtEsKK128BuMzVwS=kXKZEeeQnoDAc zk}fc&>Wa?Ly0u#M98KkgaREsdnAB2^2IMYX-F>pjeo_n}Vk)@kRi+06NYqT;0cE5Y z&zQ?s1ZbXJb1%*=&jUY(B*(`FKlYF|jO}!T-`;OxZ!C##$abk6hPmUO2uyyDsI#1J z*}eNis4;T{h@48d5%uHcA3>3kPQ{chhT~R`r+vcB`Be4NpY;GX0nTKM4)^B~Eevs2w`Slp;y42xZ)ser6JQ0zA>N4`_dg zxuOYHv0SgOxhM0qT@n%!)~#$ZkDxYQIbO#OZz$0A^Ut^BaoxuNxRcHHV&r9v%UVrc z59o6JZNY!>t!ZlF*aiEi%H|2)=`8ULxil(yU zWXZ+g;U6i}^CyvkXi`>iMYwku{r+H{8Vt7UXxajE25EF|(C%Bh<-lIoG&r z1|Hr*y|u^RNLfrzhU}jIC|GEljkMrDwuxV%tMa6Ve-V?Vaysv`e~jr z(%d&0fmH#hT2o#9_-p7IlWcs+Nr>!C1l~SDd*PK{0}3Sk-rZ^#RD;a4of^n^Mqtsa zVi>=EZt9mzsBfv%*Mvpo<^3QGv%gxfmzL_O!vsQz)E)Ki$d&bcB#fTrdmo-FRGJ&; z`qhPM&ia>$3=iZz?CS#I4lDd#qOkL={?95Zy4H;Ccm2~uuS3*%&BiAmj`l{s%gZv1 zSDTDf#qsv#YFoVVb~I)=>74zOcDPAcX)JkzN>9Jcl(+ zoT6e14pv8;MK?OnojmjtzeUldjJcp1_C%#!_^`6F5`f9v@|S6xN0nx_w9=Nmj#iLl zmJJ8@wr?YNAWU(%%MyN(br&`e@p+Ba5?e(7zPSfX(AHIvmAkM*uSw(iJuljce)7UJ zOnI3@Z*Q*wigZlfLW>!B0`)U8nvAwf?gtfkc^Yd0h%UN_@~EYJO{s#8k3qaWw@WY; z8aZz`F1`BH!{}($oOspqSUn}NzV?4)WeNnyaBsT?vv|bcO(1oDVnO;(Ew1S!r#K5= zL8SGf77=+a)Rm&k9lj@r@nXm&dsP|#iJAC_>FJRX;#wr+u)8E+rt|JD$bW`A;J1bd z_n{n(SP`^&vuVkDqfEmTdzB|~CZ1k*+5fPhQPPCzjf5q z)HmW4h0!m9U9JvRi0Sf&5FzbP-}4y9|B>>`v$y(b)tK_p(9&sxq49d|J8BApX^txl zC}STH3~cd_-x3m*fw)oPKv_#G?8WmU#nGFIXgigplc}=BpTECIi*4>hrB^{+-784C zX=GePJ-N?6*Bd4GcaW1mj2)hs=cTF31Z}$^gMtQ6tciso1$0v zx6e_`(2!E^X^GhNA}s4Ok99Er#9zoXrIeI_t%j2@6juY{rL*! z;twUGRj7X-{!lb~@xQ`dCwX}}_nttQ&kPpHTd%e96_|{4?L;gDc4GREh|oS;hCU5G z9YTer#a!FyYNEth5CFLgmSeM04zmV-x%B4&wH*w`wWoMny#x7rT(Mnl(QDO_fi9fOnJ4 zz0GjTbifs0mR<7PdWstA3RzsJXYDtcg1NG+H^(a>clzEz#Jf5O5c9QmK{B^n(Z_!- z%x^IeCtZ(iPLG9*eMMt>B`iapRSMFQ$Y5h$wg*JFMpFclJ05>K0^lTJ?9lk~=hRRz zOAh0o&83tPskNxit(d2G=IKWjX;B54cRyyC>*;728O7b)c&{HK4h)W8@FIP5Xm3e7 zq>nn~1>c5GU-X*4kw|tJ!) zCt54jg3+Br=+t`3_+=qXXZL zsP~b-xn~{KGA1Q|N-JD)1W6SbHaXdyWX(jTcwAO_1#HbjCwtSE=UXKxRm2;X*`G`< zSoB8hK%%!e4#>Cv>|N#n>GM_7p$3#`=~OMn9A1Gal{r_NTJ4%1mU87qtkNWFno{5} zac1`9CFM?t3wDkKLiR0#N+kBYQlP#|APdATTBe=ZO&pW3oVO&7l;r~l9#u4!0JADQ z)xkpE{-!+bGbbe*{!~mzqJG_BhVY22cPMMthE(TuoznExxVu<}?T7zL?XF<5EuoZ% zz7akB*!fI@4WXi(w>=tt>6&WgSeL)>Js=wt+~Q(I&1nu5*+&)S%C_Nf6;{iemt9Ty*f6wjanw}!Fu z6t$w`4$m9hv>0ne*bw88=h9M!q=c&O<*<(GTr3ll9nC6- z_X;G!8?1t6-y-F9C#sDAk))gyqU&9qBK&yRpf-_|Qlf zu1o(m?VM;noA_LLjnXLiYce+GZBPHU(U5$98HGW0?PLmz15>tYR58604yx!4ANx~` z0Db>Q?*It}xsM_`It*x}yd(m={jFbri0Zji^P#4>qXjF4Q`X``rlJ1)3p1#FYucKf zf+QNS!0GV{mpZ&n?-Gu?N!RMj+k2HqIgIqUE-%An)L2;B30 z8a1Al2t8S=XOTx(z-APixxKhaZ_k^WPWJ46S?>{+l94H5px#^CxuYL_lx31lR$GEbwkfN}U9sK`IFjXNWXsy|EDVj>M25-+5srMJRp z$a>1q5W2(fIBH2edFV>wWuzoPIRJp(-9r@A=5|h)*#K_2=`N}U@qne+<;zj%F zJ%0f=CJ5CG?uLIrjy?S|dZF>kfQ}&AOIq$f@us#`N^5mCnQ; zTqMckeG2SkyDO$c;)wPEcc1Ad?SUC01t>sz{_W~;jpwVI$A&i!rU!YFFIvXbKAlog zWj=NbPC#Jb`0Y6r`sS9RaL?gy%Uijog>&njfB8}QjT`qzEavNw$E&a`kI)rQ3LHDW zN)3cU;a*$sCz3>FeZLAk2B-OC))#(CR#vDO;b+?C>!|_FDkBq>hz*n)Ur++QUEC7x z3L*E31biu9T4ljx5DhMg6)4IZZ24lNa>D4qf zLtkzRIv^|!dX%P|V^&AIOt(;ikPcyJAJ22R!>=zDF+%E$Ijo;z4D(TBbvI%7JK*kl=|vG zD0K7>^3KMFWD~;44q?!iiEgiV++(Wrc7Q+_7eet%9JFGjm10V;%|kxn?QddWsh z`N$ijhv=HJ@CJ>JKoxJV!4{Av+i-K zw|{E=vJ4mS-{>98=SRJ2l7Koc#Ppl+bN{r~&9gLNzRm9v{cFN}tZEED7IkWd1Y6jr z7GK1z_x z=L?Q5x3_4z9j=ISHc;3mCmLNQ1=9ta1|`>JCx4hh{vgX4UDEQcZegVpx3f9_%TK9i z-9V_&Oq0Dj&z z=aw_{^_af=2QYOz$9A_oFue*4zEI`a@lZc@I}FCOQqfYhGL5{G)jVfJY&x4AGIvcH@v%pbG-@h;c|>l z1A57gr0M1`0li&f!=RF7$I}|aed7G1=03?z?l)81fl*tkb9PulD*wgX{hc(l;gUqa zhdkZ?>$@sanPlX|HQCv@-QRjy2daA~2+(>pzO1&eo<%UTe(Q$)S%B)7TfETfhAi~F z%^u9f*X%6Y7uywpLAsJjUh8~M?#SFGs?W+yPUuGY+6!#=**hWNnzg%Npr;>@Cin5T z=C79>@$R{HWU=T)EXIYUn|Zo1T76^&mNF8rZ(dxy(D;pA=zfBRtII-XR}+Pt3+MOm z-=JW_(!NrO*<8L=uWc)8Bxct7c(`W1+!X+ytJ`93wNf9IKb7a<@_0LdzH!6+jEReT z%I{zBliK*tY*A>`0V3@i^@>OMmYdU^O{cR}(t~fW4YiZTFAU&lHkOJKvywxJ&gAg} zt|Ga>XP?J0IO|(}e!jtdZBb}M7?dg;y+*mz+^L{W$E&Bp^h`*$pms$h*KcHCJr+_@ zo*YfK(vnwOit_UKcg^XbW9@8!InxswG(moyb6YJ3a<95Csr=ESxH+lfN~vS~)f>m~HR3Lx(+^5TgQFmEYp#l360_`}c4~ zMMI#*ns4H{HP)eRGMiH0y(=@Hv)|vim@iN4Br7ku=Iv#7*C>ZV!V~-O9i%6IP*i~j(~QcbLW9)! z$AS$wsqm6jTv_jKYOSp9w01qG9=iv*aZkrl=Q6(v>|kMIV-OO4Mnv`bOGaRluAmVT9+(s327&gFh_c}wkKheYp&RZr~KKTteK=XXK#x%Khk;zHueL5gp- zEN`A}v!e!aGAolK1DDO}aWN@zQc75DEoEp-jC4}3#DIX!S`)Ty`yJPKQu@u+Q(|EJ zugNu>#7FGWyu$uSq984Hv-O2@Y}bd3 z8;q%Z)XbMPeWKp^E;UPWahPYIX?4PTI@Evhf2~TN|7X&8&`-=_vHkIQu?2r5u|mTB z+zmWJbm7})Qazb~SB=fJcHQ1UVCA5K0h+}Al8UzI`(XGZ<7Tz|hE?y7RMAz}lL`VJ0|*||7iisi z``3O~^+wNYY58%B{0u5Qdcfy`)>M}thF+uMRfY2Uv$|jHM+YFF8=AWl85u?9@du-i zbmq%zLm=Wa?6L8V@O_e!q2b}RY+bcgpyzBnoFKzvw@$I@c9um8#?1h&EU?AfW94#W zKqKdm*0yaU1f7Ha@|BjVuR{(vxcEk$zEF)f<>b@V#HphmuXLR71aoKa$iPa zWI>&7EHvYAKMsTLn&i!4?*};H@x)%rfu=y2JYqy578cekQ6j`SSfRUJsN2pik~0Q@_yHpg>v^0{Q~Vi zKR)HQqT=rd{FAUt?%%L&pah z_jesdMTTcFCIeZ3i0t-JXxVcH6;dOwmX#W>{N69kY%qRE6fe<_m&V$ASDJtgI=3H?}Nm;A;Tq02t zDrs=>p#_6pb$b2p>ghLt#M=2UCN#8jG7@EWc5c(ww$;SEY{51yE{Rcp=q@jo4XQu# z?69O<#Kwl{mB#$T1=hd+fcFI=kWXc&26%ftYyto;na3VFqf9Z?ju$BQUs0@g@0|Mm zgCbUnk!K3zB}Kb1A7Un~rK7E>G`hbPaOdbP}&aIs!{iYgL?A|I{8ADFi$wz3}FH_+_^T9rNa@l9wMd1+O_1^V2o%mIo^-tM%|#NN{4Q z?oxd+kD&lKiUX7M?&&jnwZJaT-P_x^d9Ytv*0y_obbCDb)sYRF(?vzW`GL;6t8Fgi z`HETLW?9~E)=ITQ%CsB68+USAn`!=WDS1h|hys=mgX6pb8CqJc@XE=h)#|W`>foLoNT7=c zP8iXo!lFH4i|kBXcxL07s0SFfy7T9!9^~uX6EAN-F2>8t%OyJPAD0DWi5uHPDzET^ z|D-W19;2Svf#HuZtM#&tyR~-T(JJFfPC6vIAsKLg`W4@=UlKpSB_<`khJNqgzXvcK z!axl9K#@wpuRkqyM{}GOjTVsk50woT1{og+W6v&9yd zkPrwY!p6c9zgg@LA;UmJ2qKC9{=-V=`w?Y45VQ4DOX{t5W#sK-P7lFkM-~Sl`qj@2MTY+))+yA)4jE4P$z73VZ%Utm8U&Ju~sYBpt{2F+0a?Hz)Y_?Rq=C@pD!yi z)!rvD)_*PsYYogseBXQVL4mvYlkuIact%%b?%TI?P#^UaWzYgpVWIa|+xQ>7h3D8x zl1C$X_p}<%)?&7IELAl$h}~Gtyp%^x^V{6N52Uc0DQnP}b-!B)4u%IdfoL=N3SDhC z%RwFO_uS*NA{Oi0MJiXGAE)7={UA>A(jWoF0QB30aMnc8--z%C2n6$)YjA8#a-&J? z)xF~SXpTzI8WEW2M8Y%r%3w1|i;0;<5^+L9Dgo}qyvy)_;CvN}7IkI)09J;QOlS`(5dFJDF(`$1{{rW%;B z0v=Xe%AN22<_H;3bwGN`pw}GfZF|jaiRzAdQ8l0k_iYg7;YJ!H6G9K3nPpLRCWp=% z>UgVOFEGn2W@t7|=kUv(J=d>Xn$Z0%_6>Ta!LFN5R!G|m3_LnwZ7klS(fC$0iC}Qn z)5JtvW@2y-;X&vbNlfA3$8_Gbi1c(4tHtIhY=4QUPD|VNAj$xQ4RAjcmX*X$2me)E z+%14qy1YQWHv4lelbAGHyaiEhL1;){@r(*Ut^U-yBg_vD4i2wP-L67qs!Ee1uAB1- zRSwYlB~g5wQ2D3`KrtzzO@0@#r9s-)k34?;$ZAyFot;_~31avR!WXA(kYURvGC5jZ z)Z6L0Z2Qq`l=VM9A;c!6!!o`~Gcgbeq|xANeKD!^5IAsfaqZ)iaZA*Vfm_eV#GiTJ zpkRsK9qbc@zlr#X>@)mnM5p0D3T*t(nv4CFR>BXr!dbbLlfHUw?wgNym$XcLF^)k& zp!*~WM5GoL#f#je9V0zLRki|7nTozs5cc`ao77gVcr@9QPs8$PN9w9@y;-5R&S5|8 zsefQ?^QIx3W!Gpo^d`p);rMs!$M z)#`6&02!qg^hlQy$`rZvN^9@NsyCL+&EQH%6Wd!B??nI7i%n1ey1i5Aq30x-lS)rX zwXEv}f~2Q&nn`DnF4Enuk~VBTp$pX-vHu~>HDR{0s{R zRnO%9?^&aP=nT!8@1)MFG*0FJM9hFx4BYRId*g&_m;~WnrJN`ugPkmw9!oCAy{Vi> zv2_D>t6Uem#yS$WPfah%)qP2ykWtH(B(|9q(eVAL$T9Mz z^JZdy0NiJl>-lu->Nl|P#&uf&J2pZcdo_(iz^yUa8lD;$%@JNV4w<*ONzc)nJK7_ z%M^mm*xXXq`D$MH%3NMtIBerCjC~>Zxu65!|0^B#YW6UXjAuVlw3slVh1A zLBatCt)^xVfF_Vx50o?Hl`gpubT8BvsVK$j`}RmjLm&znLQ(VuisBLyutHhfYl+-= zz!ZZgBO}VDsL1ssiW_)%=vlDI$jFH5SfPYRpoYxN&Vn8#DJV-ZF;*|+xJ+d7Xc!v4@98{Cc>^4b$0s^lS|bp&$GsAx92tlE50_jFntMO9zU66k;B-gMnvHc z6|53LZdg57nbS$lq(ghm^8Kiql>0h=@_;B0g;)-XSmX^HeHL)tQC%M+JT;$Z}`;UkA$B;l-UKo z!TF##y3yPyVd%*MCTCq8fshrgR1`@VSX2V{w-d1-#!g``XWd_(^fl}WHi~UxXm#`y zfEe`Tk0of## zt6P>xu8x~QMelGBg6MdhpqMwGw*k?L;UvYghs{Eb3p0m&4|>OoAj6kt6v+R0gLn!7 z*g-mpDGVesB4>JntR~YEuO9;{m0-;CJ15-%dq-JV!t~oLD|O=Wr;edmlQ^gSUa;SaQtbnPCgGPDc! zAe+>og^ZFYyOFFIliXU;!f~XAsPOK6WvV!zQxf1-g)Aca+GPAR!s0&rF_MTEx+erx z5}>ibX*&dr7Ty523UC;JefyS*#cdO|RObmbT;3W95;;Kbh& zHH}UE&mWbT>lFu{`u!g$14=&pJE^j`CgMw5tFpvro1UI*aundQ`4c%P&b3W*#T0}3F`UR)4+(-qOb`mD+K%=Mp1SFE=E1rcm^ zzYfEzNDa);?e7W*sr=sd{^z&UX!?9bao}oM2_|g;-e>x@4lFdl1W83UM%s8c13K{W zDZ}OUs03(*@oi-e0lPcS^vv{YA6LEXOH^yCfP{pkA@~-BWkr(U>XkPJwb)l?rr9Pv zqUm%A_&qR4*w~O+SVo>jk=PSTMG^S*2Etmcw&L18ZIOb{G&)=L`kysODo6yXW}z`> zfxuColAD_xQ#o#-UcS8{O|9YwEghYt=`KMeq2L=TX`NsY=ahcAMg_&S0C0M}0%<@& zBL@6|UR@Ab^Q3bC#3hu$O-{^ZQ~d?S(q8%4bK;wlb86*u?H5Sb{ViNj06jth>KtKC zphl2>GK2fiBi@HO5>Ml@vfOZ>Pf6DMjylypABC_G%6GJj~qFugxofka+k&q6U8F+DAl zC*`BYzd`DN|LKY6&72WWM#`e|_v4h%#F`AR{Fx7?0&ITMmnA^I5$EBXfJ;&l`|IrT z?(foGRzUHG+ntI`?onyeUQlGa;;J((sHsubRSPQDeev;_C(V+KyXk0go2F-^kTL%Z zD~1(EE&q!uwA(Flrp5(RqN;7)^UPC_*sRCF{h#~l;t?G*^aq2ykC?G~Sf4%|xP4y} z{%-c&^n3k##bK(OE$mFjnwrbByRnK1D>EGYr0n`~G$r4wD-Pi1>FDfoIEx98Tn<7W zDYePEBm0k^^r&?ONaS6$Rf*v>1-qevlNCx`*b18(;>12i$G+coVJxRz2Qxl?3+YOY}{kNJE zuT;E#w8aM;T&+djxb)b_6_1-qiARc8AD%6bYiP*vavSpNKlbOEheXIBka&J}R`u!> zSiS!EU60DACA7sgPb&VeI+zpR!(4WlK;Slndhdt)ZWh#iC%2;NyWwP{^z|S#xMB_? zqaIm=uO)3`pYBwW2>v^1j)U1y4(3q!Z)oZrg#uELaDlw>L%7bY$mitN?E-qO#*Jg5 z{HuNXj(YYQ^1h!1}LwU-EKkaN%cvwo}QN1@oNd4vC zF^pTv(4v(4Lmhqv5E}C;c>iF95D0k^l(!y#F4b)zLnilO3sv7gN<6h&Ich&LCrs}u zgJt}fz^a>@4wD<9yVnL~bA8Bw+ss|}t5DJO{9L_UmzVb>p{ns}GvcqX&!bA^SsQ0k zLGO$>LonsZFdm(Bi4!(OJF^tzk1yNqJ6}zTVa*y5_7BD+HoZ*)?lNj{&G6#^hlm5A zY`fd=6G62A8Vd~t|aL~iPWW(M0|`L zs}mt*XH@^TU1zcWXDA%(Tm;<*Bd(j`+emcHItxxbuXY07m1-DkjD;nre2WxPKA%^sTQ_1277XsW8iJ3qj!wdEZml^FZ#sKULgpI5z zXq^YR7&@BJ4Hb+Re^IXf+~>~3DC(!Ku$Op!W$)^nG-zOSHRGH(8Oex}to9!n6G~zV zuX|G{H)?p>)FwMwCIR7oJ;OpIDCAKAT$Bxc4K%hiOb9k-qZI)ib(RtEQMm+CUivR9wwr=apeoh+c+_dx;b z=$9tl8Rnyz=Jntm(c>Ie8d_;4H}7m5BWG0eNuVb&gdkXBP@^vtZ6cWmRmUzb$4v9V zpZ5}dtW-s4;&`m?emJI~NlU;u{|f};`HTb;5!(BjV<+;Ul}!qlX7`e78Rpm=6F(g{ zq&5k2Jb>2N`&;Joa008tNB)^d>g36;<9wH^MTpm_h7P>Kza-qG?>SmEXwlhL;aoTY zS+1DLSg|*7^(g5h^rL>`>s!T<2d3D|)EsRa-H$vPEq8HrW2=f6G6z}akK=o$YW;Gi zG7s`_xVfbi(@tAYubWsVo@PC;-3v1dBL*~&9`|Y_uP)`(Bc4QMi3SuXHTx6?hsyLG zA|PS8jO3!9#}yW*7ctGlCDk1PW<=UD3KvqIpih14F-UazMs*37?pCdrA%@I0a1!G^ z`@_N&DR~`o$8v=A`z3$2{K`GFsGRWlw|f!wQm_m0k?T9sgxJFEC#nlVdO{Cq2JN|q z%XZwoX=uZd?BkPeXGj%y5ySD;r8q4OBcdJ9s>WeoS-3VtNh|quYE8}Q9CT+4iZAin zKGo`fu5o(%F%8pB$@2qKyKYuK9y&2uw;t2>3KR}aN#PB9yL3G+gD075Fm;_jQso_* z-j)?s6gMXiGKJevzPv}u+guS0kOK58uC^_i~Plc)R)eOJF{&@v&|CwA~sLX$Q&(S;UdK8#lh zGia@hFf#w=(f<>(Xkdcd;rUKk8}e;ibl%#*m!#%^dGh3nFcbym>W7BRH~wDB(c6(* z_em!>I;Hm_dlRG-@3=C)m&f1q(vQ;m3@YYG3HHc;&|P)YF`{(qm#yT&OCM{^*I+z< zJTL$5@;G+;^NgCV{gWg*k6Y*0r-GVQm3Z}52{~=U7A`)_Ht0wi$a+xm?b2MAO5vwn zIKqL!t&g>=LCT{G9>;W3)Dr0auo6k4*actn?n3rY;;*w7q~@8pY%LUmOse~RXn3SP z2HsVq<`jOU-&1A{2rSY`DrF&n&ih2((hhRE(6l>uGag~t?9Dc#}qKw=Wi5z^MU z;dNH2=ev96%sXFaN8iZ)l|STd9Fz#(pKH=&msAeqp4NPv|Y<~+Ntk<#w{#rypPl4v%C^wGna(hV8UT-G^&Kv+2;=7qVxyZD5i)4{Y2FS7fFw#& z;xOKCtmW6`oA3m6Idgi)Tp+G@!qyNraJvt*XYY|^v!#x(1oGJOj$Mn*fUj>8^Uu?gH#C`vnNm1EK-VUvT&^cCr>O<(y`5Kji=w$Xi_edgVhZ%ZH zsaSc2f@i8pl2K|-M%)}FM9`katVr|S$K@K77FytF&DJ#0eNp9^__jo%A@~7|9-!}d z{>?C&#XWy1W7LI(tf5?LiSf_{S8QqV7g)^Z=&!XC2z#ebWd4Jv=_o5rS8;1vn?DoY z`w~T4C-o5Z7$-?IXN3BYby|Z;WL=@(N^&o~@q&VplI*WUi^sdtJmnFdo9c6VnN{?5 zQ(&6(@pI_fUR#c?6g=paok6f4jg5>ZnWzHvut|wU1tWlWlE~Rs%nh*B3W)4zfPc9` zF3yE~ctD7k=VQ}Bl&~}_j)N#${wUiu5QI=%NQP8de4fv-G!&UH6*f1xX0vs$84g53 zltXY}P^(l}80yxlU>sC360h2=IN`svhL$K9kYfMOLFDL*q&(ErQs0-l>IWPgf`{wc zP{>8F5^Z3thzbtErQ(dU2rC}wMWE>-thfjKrFBs7UU^=9_)CR@OWHe1Xa*w5@g(St zeoUv`m&8rd>LTVm9|wgCZwbEhTpt>|nH(>VbXG5-@}|R2k^CpKh{k)UTMB}>E>CA! zv2iv8{5Dt2xb^J_%h}vhj_)4W=bp@?hl|HV(6h7PetZJ53fJ{#50=YOLLGfMey=xV zp6f!r0|Qgl^5^~;F5?yU4~*Oh?)h3GNi!YzFSgd^j?)QF>HF6X({|1)pQx>5NtX!L zliyBNNxUx&QSw7LoK8`{c@H?AJXYIC54@=NI=ZYN@@O}viIO#5@6|CP! z35>T?A+HvPMxWmbJ??KApxVO5{-dUTFQSao+czL1D9{1BIEjN8WE7i_99mnedg}h= z3(@A*7AAQX&=&onzEP&d5i4wJ?|wUzQzTbA4z)?gT|U*P5s5i{8~C^z#FfNOt^J!C zyD)Q30SDSJS7H$2P*PrZ{=0UN7FYhC1X4`RlXN!YmHvj`+vAlQbm6C3&f6Y2m5kQD z%_=m~qM{-l9)CDBwWaNX5{@Wx?u#R{=ZBp41#D|zA{iw61?ed@T&yIZFnPEYI>9@2 z9Zg(g%>=ZGnA(YBD@L)OKZk0_}*gK<@rEYFBcdSHa6uT_tW{0 zk)OFp&MjO)rv&sfl2?`uD$>My^uHymrWmAOCTycOEDgpEmFZMlhz&ZIb#w9kD6$;@ z&t*k2Os7Mr+d!W=o6COLh7tprP%^0_>i09cB;(=CVeMIBq(Oi|_$Te)z}9WJ_;V&M zWf2K`AV&I&JKyjpSwQtFQdy$sf}!2pVmdys3VUkD9*Q%M2J*AUy|RfOcqR6p#ytv)OC7%Q zKtL5SnJvJAw(}m$$#ll&lz}V#tD) z{a`SNM{3)O!-eocUe*<$_-g!^6Vx*}dMt6a*y@FLC2V>{i$W+s02G-Ejc)9T6}SJb zrh(lIDzNt1l^8RM!lYWdF+J^G59e1k6NUrh8MVu=KC9~L(doxl+D~1+1{KJAOp*a| zpSqA4RHUMee~{JO^gUzabHn<9gb`#J4wW`fF|NnJ7GooH#L_m$m{%2$3 zk5ngRuPaK?%TIM}bj_=wxfAT?j_M}xs=0JYnNfdEoHrg-@Ez*Gei?~R@q zVJOH~Gn0*c;ynsMK~!M61tuu;XZyhb&lqYl?<-dAtf{kK2h>y;tq@T$%^?|?L1GR> zB>Qt9cn&HqZrrSvjRVG@K>e9lKWE@irAX!noJ0>PN5_Y|$GBI_>zay*+?ty96H>xL z$i57=<<-}tf%`I5(laz{dinuf>zxx zBp#j;yT*bEMXd8h`znIXLj7?1$0Km3;?*GDAx~?KVWTl z5Zay2w`u5X!ut3_cZ57GZel9S=d@QD4$|8C=r;LLpGNQ_b{=5NxqA$fNzc@x1d|9N z*H?EV%WIHf{KwYe-a~@T>QlI9nbnkt1V}1Op8E?c*J$!RdNG z;Di-8{cLo=1~VO}{&LuVkIxtHz2{+MT`Zaev@dR{)q~g*Vl$Nq+|)!UM6{w0<~5by z>FI-zCG4P}JJK=%auJr`GS{0NmAT!W?QI%vU>vu8s9Wx~eTqv?wk&FxDPRWA$2V8N z!UotYFAkQ`1CYpodGZG}?kCQa)Koagn*TlJ)7g>7w~C7GvFn3*VgO|-fDTt%Py553 zsSm2S_c1&q*LTQsV8}314)(Kuwqt8PZW%hR)rKu3XQxN9bGH*P=XugW3MwinxI1p} z^r}oIJK4p>(Nme#<=W#tWwdMd>!;89R~lc*HYU|7s~$_q_{OoBvJHRk3iO3-KH zO9mXtT7Re8lw-%$oiwl6s!y(uxfB@H0T1ER)i`e1MK73i(tA~i+QX#{DGHl%*JtBE z=j(bO`qVIEhH(U$byc$}IevIQWI2{i>2K?Z@o=|T&*Qj{Q*nQ$?0nkrF`%n&f~7uxI#YyR3r=_ve{(oknVb7=rS#?+$X4qxF)@Aq zP)~1)^9x*VTO_WBpzMD*7sl zT5;)3L6#@<>*u42TpPXnK2WyvoNwcT95ECjmnYQQFl1VA4nSNtV{R|W<8OU^m)gCl z0YnIPdGzw4X&m4?J!~!S)wu82+h$ug_%3OI+u?IZM{XBAg>w&JkXigm8{J>)rUp+N z{nkxGje-Vbi0ib#+kG=~St(Cb`hr3)S**H?0zmol?_Y~mrar!pjL359@LrQz^;(pK zd1UYN7P;PjAqF9}zi!5juVv=@L;_X_awQ#@-0!c4h1UY228tPs0)7wTgciH zxo>mebzUvKxk=UJ-HJaD2^h1iFmC>I1)olwpsmA*z_)1 zT;O2V*4aApbw!eM_^#w;A%MmW`4tyRX}0i9hw-6*+HPF9i~dEh5o7>s_ml5m z-*9rW;>JTnamq}=3yuf-1w$}M1FJdv_4-VtmWEo~n=E!T+Dv}7)6W|cIoI)bn0mHc z8GF_3r~j(Yy#K4k?^@g~y4`RL`k0WZ+keX>V%rSw0~fMv*1PVB-ySyQA2h}V`Oyv~ zN@GG`UU>j0-NqanG<`a8uFA!~q~?LtSGOZaB~tWmeldleXRrrQh`x-^F!BAEp5wKU zg_nC#GyjS!3Y*-#|MrGT()DMhFu6#Mb};##Q6fGFodMaMuKP1)@zmaAu;OOHv_6C_ zD8s}bmq~*J8^XfHDhre_Xy@mrd+kryZ<-vpd=T1~`2{Bpr{mzaEp4{E0htxJ9)N=v z_#%-Z-TLmYe&PSy83YHR0gGyF>W4WuH`nr1T3OlX@Ge-L3m&9qWwn5tZsv=c4FJRC zbqQbO@nx}Dz_OT8AMZATpqI*!9-uqbGV~?TDS08MYKQv!{hsl6;qSCuTv!&$i34v= zI?&s8^%r@qCs@+-Ulo)z4gD>)r@Qge%VG-mr4xxlyj|NAwa_p@&zflo!Zp_icnG1NB z*u5Vub38F@u;uOB;9=6th8Qo-R=&aF;}_q!KM73wek%w@f(5G~B3=62-+z#K-Ho0Z zbO$2*+f8l@y0b&?+o0Yuek{oomtuzB*~O7BIXXwn~a|Qo}&!QR{b2MUb^& z2(Mv52Fg^s`I5KLCj=kMjV)N@G`KURe4zBd$Z|6!O8)ho3NY+YULr2Hr_ubac^B#&>zD!=%DE&zouUm&PE9Dm*MJ7))xQw0v3 zJJ)wZYRtBjCbGnVgr^%q9e7R+2FWzc%sJ_)5uca#qOe3!0rjG%Z#aKI@|r8SjHouwfFZg&hZSeT6Nqa>?C>Po8=<7^)iHg@K96s{fV|C}_6Mx}_u3syoOQr#^*M z>s1ZJ+}^6FsmX)a3HAxFd=mG4aV@tCKiz(w1SaM;-Au<|M#!~TJxO>TEx}DoLFuZx zoP~rOmsp%kfs%|!;*!U?^$`nDVZA?hby0z$3!dj@8D{OUQu@_B)^}JV&(*)$#Gui= zv9fCc(eMuvuZVo|GO6p?hL8kfdFC4Up8pqp=2h0SguOC7m{DId8nXm3dWy>Y#viR~3j znReh{hUr$m%R}6|(88trJDCkQ3NT^0y$!1|AIu<06UQ;FHi~c+iLbR#qUW#2kIdd! z5p-CDht#PLk>VF^o~v;y0ovxGHGO!$Jcujky4@AWpq3&4NJ;_iy6&1k5Gf~roLull zMaCTaLfbw3DQWQlsqo+Ue2ClUf&$1OBcs9Nu{Te^4@mIlCY}Waod4DG9*OrKR*`>c zwKsd+PYJ85a0bnPmCKGS_qHLB@0lcaKl?X$?k+{C6ctfw?JlgVoC<^AW#cnn9)c^_ zvg2$hXZ5k4QAvf3Yr&|j`jAD;XNE`$9y0k#2^q`7Wd+xdx3c}OMHq+QwoFTB(mi^>mK!ipx zMzJr$d>RA{At9bfjhW`5fNl?L-wADES3?o7a@|)>lmBhrK zl)QMRA-g@c{^0L`G}Fu`36o=TPrCeN@|$eg+x;KN2ZW3>|35?K-*Esg4)hs%=#49G;>Z)$vvQ9S4EDi1-ZhNrD0 zw!=bIfB4xJ&+%ocQefXX_pFv_B6zDUCiZ7V>`r4uJokB;T-MCGbUYmS$v-h1Gaf_z z&&)w9gz+_=G6C>O%z-2j=IEd+&?*MfFo{h$`uF0Fy_E0(&B661DS)E=og~&r-AFkd zgID4Iq@8=BH{@$wpiB4L>}j>G6nS>S(Px zKjfmDL1dVD#$7BI6DicA+C;L}=9(&78TGV|QA&!+Sj>9}+hNiC&$jBw^z{GHP8X_- z7rz}Vws{G=a{#E-^;lP*PFgxKlAZefHZM%}Yueofy3|bqUdYV)TDkxEXumcv+e(za z{l1TFtPBW;AhQGqG&y&7?_)23c}WWaQ_uRp?We+Nso}I3eAf-6J&SP=7}V&%3@lXR zJMXW|=1V3+?rBnFC^R6`P%95{cu@;3Q57+lPC`?3gtGGj503{n zp@pNp*U}Zeu-6cjt}cIsvYBLj$N=Fc=CZ1WAYb-oJzNfH!s%M6D~kx$#2! zF@xq{Pdn60%OHo3{{qc#KIs9~0k7|zLj9CCYk=eZa>YedqYv;Ha}6)`0P^XjIw$tA zakkuK9DWb0MFs(#*Lsl?Q+cfpmK19@*EyFfv4o~(0Ih@d4!|+d?ui8A$Um&*=oe2G z_E}!DFTL`Ow$aPb-<^rdj*cAmhxVUY(7Z+EGP8>M# zFAsmdc^|ai^91UH!v&XuPk+^|MJQ^9xL8?7$*6U1wP^bLrA^EduHS*pIc4hsv)cR9e!{j4FNe{eE|nI-JmcZuv$f|Wt)tmc$U@; zRxoA3RXJM5PJy-cgoM3W?Y$Nu{qXl4hiMo50qFs-?FteqO-M$b&0O#7e{U&iQFusE z!;~p9`?|j@4smHUuFZJMt8ci)g{t{;PZ|EvQY(IhqGG0)7oVrGyu3Wgt#8;&bv~_t zc!RK6K{Cv(kiq1r7stjXyUN(02TF(Q%59Os3Y%CVHtxER}{X+?` z`8(L`8!~3Jfxo*bmkpOmB+o59kG|u=%tO*SZVL_Fo({fp!dj5~cgHPGcv831HZ3bg z#iu|(F@Fea=|1F%C+7=4i)ffMgt4u}-W>t8O&}pSfQUq=j>!s3tqo$@3Cr+jd`uVv;6lpJ1)_>?*2H?!`<9D)LI|E1{S$+TN>hosxdL3 z4Fnvls^`~{2{~GNuRoC5dR$V;|u(IUTyaZ(;sYpe_oZ3QL394Z zEgY3vMP8myUlc$4EH}W4*o`}dQ16x{to zR<~wgXP8AB`~utD%8C)Z-k%-F$OJGGIsM^dD3VTJ1}^BDf6 zZhbkEmmq`Pq=R6-L>*MSfr{*pyE!gyyYaxsz=r#I=0ggQXK)zZAnvNHJgi=Do886| zeo%+Cm;haP0aFD;VUhX~0`@8RoW$M!R;IYOkVZb+!Y$obhB07`fCW$|qi4k+j9XAp zP+%1uvO^f@oe(aS!TIJxhiq%6m=#`$2JMy)BvJCr+alugGKlxXGysmm0H~ycm1E{@ z?BL;Tu!mb@ieDpl9iw2aw*s81ZfE@Sp;(*eL3}+(kM{Q<4+Xz^pkDOmb$jr!EVcn$ zCx=x*&iHQWM*-(-VPe?$W60Qe7<5bHJBw-QX>`22A>}*YmYF{)S9a01RGrm!h7d=8 zP~p~s3m#<_)Id_g5(=vp?6qA)q4p04n_=tjuuAs&@2^_l3(b9ZBjN}9-7H(%XIqVn zzk}fcd~ifR?_aI*;Hr?Euas9S zXm7|4gqy=aJrFO){K-EyWeWDA$gNGINNs@3qzyNnN}>hQABm+1LdmK+&8iOlu8w}k zxpX~Z;Sc2_>*~THU0;v{k*zelBpzB%%NiPrE>!Znc7ao4;`qI1uHY6%tcMMp4bgz> zqxeZzR4+5pdXRHBp{ai@1{eXGeIKPiT`nB-xw_p0R~SsAGLhqfFqQ2V8KUFFsX^vX zr-VTs3DO#kJbqy|1fB&fc$G&5t=7OvyR3Zx4}prqq%(HJ$+Hir5n2Ec095$G{TbN`qgJ#Z zKLjbvO1^w4?C9uQZ5r60hA|o|E9F6~rE;#Q=(5Ul4OzD{GYSdMB}KdDne*y+)~i6m z;KnR#IVNrIqX1-8k7b#-lp#l^4M{-k`*%FPYk+@uc? z%9xlM?dvU+C&J5SuJf{r>T_8))!KkB48dstrQ5bFDlR4fcjc7nyBRwacNp3g zFX4+QpgugLPCi-5#?b{tB-pyzEsq1QbQKf-{yH$x$P>5O?CSmv%#97gqNsPS!_hH3 zQ_%Oe({`v8AodsuEY1(9l}iZOI!~FC4r^7Eu%j#B-e6;_urSO3;Hpbq0qx7yV8kv? zNNjRS4rb*DJbFW%hIIt^%o;ropd`eWzC*m&om2$O{-=|_es;#Nt7TQR-tF)h8U}zN zQrl9t5oAc(HUZMSMt&$bH1?N^nDOx9uVGieOXn>Xu^dY9{8x>ki7cDBE6_li{rlr` zw%~X2l5rIC8X(U`em@9VSXhD!S-{2J%ReoZDCn>-XAZ{xNW>;1TOGixA4ahT3QjSp zha3D=&!UhEWA8Qj;UK^$%=GJbTy_6Rx#X}Z0j7^&wk~SBHubDEu+~x3#Q&D?gXxR> zcVeKvNbR@#QTD^<@RzstD<2%t6Q5{uC;)?d=hlB%ZKVRsQ4Y&>J3gDGUk?Oe3+0?8 zjScS3f)iMiCUtXa!SQHL3Xrtr?(CR)o5|v9U{VvTn9n`59fNkZ3~_Ly-9MhMN&8G;1aAtvYywG5GrWpeatIa1)JKgoGI z$&hY+@?cRE`o{Pr?~gSBQz>1+5;o^x0w=TnkZqt$@kie2uDVx_#&kSRis}&`SuBF< zqtd<~*|gAA#xJv7Lz)pSy3M|&BSd(#i+vuR?Uqkf1impp7%ohoiMHsocMZH8F&fYE z5@V641M`P1&7d1wp?#U{(};vXyMS_>SX%?|NmoajS}BvH4lgn zcX(Nu3b2$=cfzzUb0|$Bf_XE6-4j(J_;&b%@wdwA>tQPrF-Mz7L$&d-Bc*U>68Pbq zH`_<6t?0n~_lj+>5TXu3ascs}UrDpr4zJiD0w>FZm-vY(q3Q+Lj1k&H_0L?^;n zXp>0wEQ%baQwKerho}W?IBq`R>VI`WSCy}vC`S5Gnf)xURV??o{_n4LT1HVMfSsqa zl>v6d{%=kcM#eAT+8+6bkX3c`D($TIsDcA{C}Qmp5-zn`fL*W&;;sECc=pVdl*E7- zyyczMyHN!oSlkKVKQZ>{b#dK|=XYI0K(D#Wamk8wmEVF-&>vd8r0#CK(;Lb~j5RC0 znecu4bbU6opffb#o?RT~B$D!n#7Zp|%3B=Yipzr9J|YpVA=s>IHKFMYd8;q<#*`Ml zD!$fK%(Xw6#e%DGwthixsLlH%@~2BHY4ziUsX^1KXzmd?qE)<)9GvhI>#GeFawknv zkCLDS_9I0o)m1qX)mUa_9v3SQ2T9lJ+p$bP(Tm|QEITMJ{SP%>;=_xBnj`<+R1%bOGsM|3Z?dN5HLokE(Ne@06GzP0I6ca``^vwr#h`p2Ym z$E-_YB!%5_43#6Q{q9@7HMn9c+A5OEYR0<~)NZtNt8x|63JW^>ayV|zhxoeQs!=N6^u0JeE4D?wq?dO}_ej!wNss^L zz1ogt(AwV}_chk<-F%zjKCM^P9-yFn_Y-+5^B)d^Wp)d>L)Ys$479AN8PG1hQ;ffT zm5hanHqxaHi3^4%mD7o)ve%|8JpVA#8qUSg7NV29?#W`rBoSI%%_A|RR-^phptW?< zG=AmK?Di9CYQ!f&_ty#?9reRyS|EY2RBH&?gpv>O!6Ti4q>b@_D z^@&Z-zyte8pltS&E;_LA+aNlwEBB>vb_B*VY1{D6wyfr%4+5>syuTeIOSwqs)MYq?y&+Pj z9ch8%4cavHn!Ts4v3E%p>D6QLM9s5XdOEK^zQ&(Qlw*>j=3L+2NZB~Btwq%R;Ll>7 z@Od;^Q;S+&6|uUIC0J={@ab&7n*~MKe?{oigNfuNo6SF5Gi#qg8dCkUZmL{%8 z)xRw3*Ua{MZ@(0kAe5293wxk&ApJO}=%sdXCSRYE5;mkUxyI-mrF>dw4_Di4Z3y7H z4h@qQE3TX4D1vzIh}=`0Mb|yd<>(7=*Pe=>+_Fr^cMD*Y;z;C}3b&a3ot(q;3=91x zF-~BA)yBcLYyYM-yii11tlV{UwdAO=iQUpj#$fwWsiHag(*k%6PuD+C9-R-fJhi)CMdkT>O> zJmx3$u^E%{g%_gmvnxRwsV|7KYo!+})Z(K9O6TpYw*9 zRoo4?L-Jl|Jbu-dOTW&)ZSaPw+MurcxkbWT@CgeMCmIpSm6n<7vn{(T>Gq~0HV7Hq zgjnQO;B1_IU(b06$S69anjU^rZu2YcmC#W!pFnjP8+Dx>AGD^xP&A}8C+^aPzigc= zY57k!0>ym+EBE(f!kc@Elx3#rTZ^+A+m}Z4w9-Xz9CwXDLt4ehy906Whagveh7iM} zKYKe*Ig51&3^@!&4h(tDHf&D=5$S!e z-XawYy!{1lK~4v8cLO1ZAl43j859VSFpmISLuT-%Y;!>D%H8)GV^R#J46+T!Bv#`- zHvv{gx|UJRDV&6t+@&Ic*+Yq@YJT;)g~1~gP+J7yLf1d5rhUaR1c-m6do766KhYAc z+O8$ED*dF`NMjF4etNkZq$4|oU@#c>@Lc*Y1?PjjZHZ31Vs^BcL=NhJFWnT#lZQoJ z{PZX*o2y1>(0$eiEe)lz^3UH2N;$(HZ(^8149vob6-tW4rO_W4;DaJTADP?Aif|2# z6b=`LTp3!Lc0}nK-;z>T-BJt%3|>9dA~qR`8uSfu5+JqQ4gDlinZw%Wq+K1D4Qf~? zHpAHqjaORg%9gN$r!sP-20WJ5t~~E83W=L$6pC)_W&0ixB&RK>-~4pcN{Hc|O8JCP z%YSNyv2+iuzb>G|pGf;HjkO84u*JHmGYeUwwc|OD2!W*^{pB9<{sIvvp2_)z1Z&Z= zJ&i%eSa@0rJTaQj0`6<`WB6;o`utgL97cB$#I~BQZ;KnCz+5{=kZikB6;Wa>D8b{O zuy_&+b$CsK{j@K{C$g9yUx0AD|=Zk1|+FUQWM{nV_$B=OXsBl55!fBW7$BIS2BUWB1rfKi9A8zfTsFA?(^G9`peICD#DNJ z21R)7LRG#$Cq;#%Jl}=B2s7Y z_Wi-zD}M72f@0r87h70YlDF&PyA6)*Bx`(|DLPE~6!pq#vKjUllQ0m|v(}2)3Jx2n zJ}l6aMt(PY-udi%|EK3!U&CI_ZnSqB`DUmVAwS2^h}XKN?|?q;{_I-WLtH?UQ?_(W){m>&L+X9)pZ|Wow>9&p zoEhmTnWOesk5%009xWd+@AviEd7B1lY;PdC$X>r*;~p@%KCo0c<}0O9#A}@Df2W=7 z5z|xuT+VZ0lCb)~6l;-s<}Fk~p%Fp8d7<&85=lkFL@wf7Izne)B!K%_gj{r7oV>0s zVWl{*W&;Ch@Hc=;wm!zpFi=!dl3pFoLXwU?{P;yqK}JIFl{^XVL(eI8VN#7!lnZ0T zG1lNl+ctbY8eT3Ds&mtiiHQ!TlC-HA6j5iV6BiX{$%b0OSMf;dL5A>QBP^U7KMjz# zG(1v*qZOjXB@fs5k$pUHw#|YM7Th5cemG9MT(nPd#jrnL0mNg3n=nb+&h4KG z!Sh1F34`wyTIc$$u2gQ@54zuYsNBV&^}A^yMNr*~F4~cXf4bURpD@n_v~LUt^FOld znMbPQ0k@GrRR!5scaaabfsc2as~%IZ=ywR@VsBbLAOHbC!|=ckV~`Qd??KBtSlRpw z4kF?)bK2Ut^? zi;R`T3RrF~=M@d=o%1@}s?O(mK2@9`#XZiop~adeiP}M0BHtWG>W5b_Ym{D^+KjYE zqZ^d41pQV>+7WVHB-O;~i6Zu#j6p?$;O38rOZdy;;678@NV&>)HeQ^V_NZASBlw6n z9(&4d^ai2By-3BpZIT_)jV}9oh35iy_#-|6R;$!@VExw0i;f<>ZgiCw3|(kd&}imp zpTVWTI`&4{-=%6N0{GAHUJ0-%wBbl14I{P`91KVsy#1)h945@li%Ti)sQ^Gr2n{_w z0x)|6S&)#Kt^jdQ+qDnrCo^4=Agh7*W&pp|ZJxP z6^jLgNj*ClxRb39W0Id;f6ea&0Cv)kMs}kAK0y}2`KI|cH9xpL1fTWXwQ_j!EvorM zO=Kw=&pk8QJ?ra#jY{cdrY}~$i@hoJR;ta04_~ z&dm|3$mUjy6xCC6N+?Av$ILE${8_>{!^&7RJ`p2vA!YiA;`=D0lms@2xJ{n%6X>qe(+dy2>!m)lRpA9fyj0+do#y=IbLg}=sI)`~8eujzOx zR2{?`T3XseYSp&c!|xMaZ04eWC197y_srG|6BtIg%EBQN6Tp(_U=&&+Zj&*_6O`n9 zCqjjy6>Ml+lM7-Tj=Q5D4nli!{Dhr*bk#5vjY@PWdcK28?fk>S6a8pCUp2}}*#{E} z)S4~U*8#I+Cbk;S#-v+(XW2NN5m^*?KzxwI+qQqX+BAGl>woOglZ{Y13^vpWoGj1@ zT_QN}JmSPkBcxJ%w?gFrvj=7j17rgd5BqWtHP)0M_7u1$0e%K-YXjQk@9qc7oUO%8 zM~xZT{y%)x#O-J%Vu4AXUEiQ$96ix2uGKT2@BM8+O>4Qr1(&sXYTAo1#dl@FndE-t z@(MmnA5Sxr$x+TBO`B7L1szDp6BvX3%YxC1H0i&?=4J`!wJ%nkr5C>h8c-L8jsr_2?(bY z`o`ko?{CBVqO=nQpNQ>M2MG8D3RsZc;5!_W8x2&SG|TxWA=N}41G(-)KtfdDW0>sV(srm3NV01Qz?UK@^%R-K=tQApYwi@(;5Sjm2EQLjHA zrw{x{0Au|7!jJj8@v(93*CufEnDWDAKg!R}%d0nz4Efy#tuo*tfbm!3KbQdm=bG)X zZ+D=DE~Q^Y#j~a(Y>Vvbhk!*g}sT$c`zZA?L=bZc7&bSl}~CSA~QA8-6gz zPE~t2mp7v-1r_6}EmiQ_%zMctChq!xXD^_SiV<&%_v6si>M@;ZMY2N}{mHe4qzOn` zQ!R^>r`_T#t4N##9Mi*(UtDEUF!N!1&Y4_LYJ94pd7o8_)Uz35U zH>-0@3@RvelmUV-b4vxhtHME2FN}{2$P^%wRe81gdra-J=uC3_y43lTYsI`bI|~~5 z*%|mZ&e-5bc#?Q%KIDeM7prj4}{qXjA1bqqACA=&)T` z67p?{5j>Ii-8K1kflN&Ni5HVgZS?e=pWyJs^}O)v*KY*aPzM_9(kWK-$SAF@)A6=V zj*L*@9yUC~R?C3GD3>^2rn3S+(n|vJ=W$d>aDHqb)jz+*^1A(3ur3hT)zh4^hPFcT z)$gFg;9YO+!F_x!H<7$e&6)-2hch3CZ&gkxxpxyTP(|_@pW0SPU5qX7;=V!j`hrl? z4B4#XHU!32VRWAHTKaPoml$5Zn6w{|6Ka7{r{tJ*;hJWtr&bCqqNqHyu zDXeI0#$23JAYQ(^<=R?LTEBatYfEa3^6I0{cU97;^!7o?Un_X1IBpr2NWTczD1sE} ztB5vHn>tL=> y@u@r1WFFpx!HAWh8C%+cH&Y(_Bz{~FQPtl->M3$>?SI~uP~$? zoW5s=RJrb*_f67g5PVA~*4Bn3_=KrT$EZTh+ajsENNy=n!ov8W9xH_-zt(NTx$A$> zu-rFD5pdnHwu&$ZX+G?dHp9y`R(VYOMB)VA_FR2@GlkRo6n8fk>^zIf?AU9dzT4XJ zp6PXPd^Kkjk~{j6ZmX1%j1trwO1eh|p^mwA!i?Tz#}ylL+JsA_IxTU3U5Hx$j`SszOt`r3tCn|*o1~f_qnxbV{KjR-9ErlYrX-5Io$vo4( zsV#i$VLQW(NT>G66NDE)di&8hLo2B?FFL^q5h?aM^uw@IETqYLHV%5h9`x z1?T4WwtFIx*`Yw-QElo!?}}-pp1+iY2c|^XF+?i`J-aI{KE0?4MYwYmGHFCv`onhx*w5OB6N!xT0IS;Mt{QN%YEGI+PAh6&}ZZh82wz970;Yki;^uo(Fg-EMInjFmHPhY|oZ&EEZttMDI zMx09vdRjfa^0Sbgu#FzHDk6|GMP2=W!}YGbe6Bv@6|CJf!fo79CGbJZOF`w<9$sW8 z*zg*4qts{w&(*>2P0s|@6;F13#ziLbYPe_i&&^;ybxHbUy%IV#vwEnX@u2krS=#JnPT6xrHTzrfX-IerM&G&@2EV-l$*Vg zfr(=uyVJBi)x*s0&N~mk3*sBi8kNVT-Qhf=g#0SbcyY!}5_? zdnr&=hAAf#LE-Ns9_?$7U)kgjr`V(l9?;rLO(M6E)5H~{f@i@h#DN|=g&|xWH$fJA z3U3g_oH1C(hfXqr%S~-#pA>>4S$~;#ne%b}V$6SaWL6h_%i;W`vRXZ}v1uSm(kX$4 zsOY{OlQGUy0^=~jZF%lbrUYF=xD%aXf%zY8ey@yrT?bz=k^W9~O&RD|NMZR5;o*Id zCBBLJRz?>7DF#3PC1nAt-i}7IZHN5MH05*hZS~y-oz7wnQ~t$bOb|qh+KJ;(yL_$; z|L<#O$KjT_A)TdQN>W9ZtQUXtXawpTiP_zYSo@l@_o)eEHz>V%zs`Xfq{86`Bh45= zq>pMHdyA)+VxyXqvldjAA3}-@HJMfLtwJX2l{-aC&J|NUJrAuOj1pz&a|=Yv{wcn8 zcT!>^M@6qWlSU!Ko@J1mG%sKfP^DT>ymk|r5LCDEkQ>OTfoF(TUdTSjI`o4 z$=NA|gjUFUCf_JHclG2!M_=+szp$+03$QfC#4T6U*H#zaqyQ@%dC@dRoBbJ zG(Yxc6!fvT5J23Yyd<$!O+!YhVRcUFAim1no*|74&Z5Rc9b|E(l(G)l7Uu zXdAg8=@b~p35K11N8(O)tPL%a!2LNa7u@vzpENi24*DcVpbP2Kw$bj++mGtJo{W3M z9dds%qV8K=ZYo1H`LdLAc5chY^p`e2drKFqxBW0P8btHzN!j4yruh`G|8O&oq2*m= zFRiPHX+pHdlyJknB)bw+b8XrH5yu^^c09_%(lN`X46!XpfSyac;82n#r$M3E2utvy!%<0H Q5b#G;QA43h?rrG*00cjfSpWb4 literal 0 HcmV?d00001 diff --git a/doc/figures/state-diagram.svg b/doc/figures/state-diagram.svg new file mode 100644 index 000000000..021373cbf --- /dev/null +++ b/doc/figures/state-diagram.svg @@ -0,0 +1,3 @@ + + +2012-04-06 20:40ZCanvas 1Layer 1FUTUREMAYBELIKELYREADYWAITINGCOMPLETEMight runMight run (default path)Will definitely runRunning(not done)Done!Done(and acknowledged as done - we've moved on)CANCELLEDCan be cancelled any time diff --git a/doc/images/logo.png b/doc/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a1067f668fea3be5a4f3d0753cf399af8d4b07 GIT binary patch literal 19902 zcmXuK18^qK_dWc?w(VqNZM3m%dt+NqY-eNJ+Ss;j+qU`N&-ZnFj!n**#P=oRtjRi0vKiOf9TU zh@IW-O^8i^7N!6IaIG@UDxQohI_P_t`U#p`@Wufjm3Z6cc>Feu|b%N_{Ai{J$Y}g|zSB+e z<+7JUOVh1C!kWczb1WWP9pgD|=JuDJbge5)YC7hmW42pv8A7s3 zHbQ=GU~;1L6A z{56N&8|2IIe#X}WT#X+M&H~3oAVO6Gzp(YB?{DcX9=K=fYNCz9l6N|+5m}vAvS{vOj#wqmewwpH3yiXhBele=bR!cT34Tpn+c`$Zc-Y*X>cTT?} zlw-18-*C*bU3%A&w5zvV-wE8d9$BrnE51%|iHzxe>(#bo2E9McmR=rCKZlXIPDIGe zj4KvohCGb{0x2V!xUEa5X_1*lnm=Ia>6FMgVva|!sVk_kI$zDMzD73q$JPt>i4H42 z+9!D9+P-5Zcnhzl-QOcC+)pw)ao$x727baU4!e-8BpC*uB~NeK)-^$ko7S!wJKt_3 zwu~QEWnbH$hNxAXjazLmSsFZ2=e%zycUtLfv5Wq6d6>Yj;E8NRo0z%QHLGS(9U@e} z7{cd5>Wd}A)N-C2zA|waE32Aigl)Rm}lq?RRcW|GZc zouz!#4do55uO71hZL=Xv>}g4l-p+Gj`_$1?p}P&#!??@59j9CL(Hxwz9KO-!O<2S=N_|M623Xa*rI#b$HPc>tk zajzY20i6u-T0Cl=-uPwu=wUgcMjXIvp4Yk4N{Qcf8JYUn;wZ?;9mAdq1PLrr>^L>*l_t zTAbGFncB*lZNiWWA>3zA5T-#{BP!>#c~XXfM$o8USx2R9BHwo+;`xz~AcDm=F&zN| zbal#$%pJdUy}82aU;_#VO5Hx$>kG+ zvB+!s;n+Bn3r?uK2aa>OWgM*62@_@1!o&8jB&!C+bD`Zd5+M2!7S>+aFo6<+(u!4s zB#O&U3%Xj+9_1Z{QnRPdStL1nqj-=1T`?N`D`~SdLZnKdwTJaxO5! z({H3B;+Z%#-~U{3BMb>3?AI6PRG5ynv`N@`Ps0FL=-wyMasf(UmZ5QrWJ+~nQzq90 zOe8%b)Nrlk*QYjv=~_Z}%Gv~X*bP+iGH{|idDRFI_j$(%TOZ;gqi9fjazz^(UB8-4 z{4s@3Rb0i+6wo6;uVL%V70XKJYOn;OX_F-$V@&Mqq7pay56zaNKR9tBuHdFAl*3LRpJfTovE$iw6 z;WKZrMPhvErtPXRMtRpPBtsZNb9AZTxzHO;00bR1N(Dg&10PERlY%=c;E$go66ho` zAo@CSEb5g;B67)KenUtXO{Zaw_&{`HY|P?C>zR&l zERTQ34o*Y$%S_oXqVy^$fM$9y$Y8SumzxIIXfr|u%SJ_@s~&4d0OC)QQD8=jy|q~c zIOB?phI=CJMz2&W+lUYy*xZr(RY}9D0BBkAp}_~hG(%mHKLb5rBhigHWo$?2*{pN6 zNCZM!*}}YQptS(5OUy4YsKT+&J+l1%#@HDfTgz9QI6r*7@vrvS{L017{n*SvVPl}@ z8R9@$n^1w>ljmSye`=6t(dL+8T(CNkLVa51cY5 z2*j^o%MeE6M9GBGVo5mBBkwp`haqg#`O|#8wwKpfOFaN+nZoO}wmCe&8I}SZZBMX$ z#fAgze`JQ+h`Vf;N6uSdCuhQ-iE2Z?1fl&#D2s#B|<^Of@ z;=DwU$aAnqo1{^7En|6?2r;vk)ksF{O;#5l(hdNzqB4j@Cq>whWU(FSb0CS%z<^`G zUo~+;`;Nh}VWODHCN>H=FPJ9eI~hX;#U>072Q#fe&X;^dx#ZL~Fhmc%3P!lH*Nzdu z3Pse&-^V5o%gj0P8oukjg7+WFHnaQ#q`O3+{OOxt<2Se(5KZyOoEp&A0HY@7Oa%FI zdW8e1mvnT(w)?}nnyJAYEP)iw8Z4pl%Y)q0ZkT8^9UY2m3`&P8w*D%+Jd ztt-7cfsl^YIS2zv5c7}wWF52g!)KwGWj~vO2)Lc?RVb`@1)Y&-<3KMA5lnPQ9rGIb zP_G*w>yu#h8VtQAnEkfP*;N zJ!hv-U;f_E5MoMqsn<`lhlnsS(73n6nPON@){FBjICCnwK09t?`ird`&f=Ch4VnuZ z{9dET`%sK5&z>N$#_V7tgczk$l@qv9t2(jLTlWK0)UZlH;}fj48fI-t$xV-#fIR^O zAFMWDjtUj7>i$c75n%ZGwiVdNvOhHuP`CS8cM{B0l2^;A@O9$ zBH|+~7G@o!A#tco^IMH==FM*c(oLG8C^-d=L>ED1H)aj>Kep)m*i;1JK@UIr64>5?%qfsFm6aF;N+?`F6aniH$T4M&H*w}*+1UigP)YKR?cB+b;Iu! zR+5vGFdK7oG~zk;`XOd(jp9*B1)48II`(kbvubBiL%`N@%mb`7r1r7F_;h=|_7Jxc zXe=}M+F>H#I23p+r55a)kpt>RxQHbp8DNZ-4sjaHm-AUvEQSGtd6M*E1}JH`Ebvd; z-ByFSKkH8%HAlcJ+bVyoTZo@K#tJyDC`=w{EV2+=cmQOKr3)v^XLAdCQjN1J%c@?0vUeFkb2h)eD)7Jk>{RR z%{gJZ-NWh))z{!|lYz5!SdgCh_cgg&R3z)cK44qM;14?3GN5pUvMF9c5!%(TeWdrG zJsP45MufBp7&OdYkSK$j4bGBrM|QgjVJC_CWs@U1mubOs8z$xcv4=y2ijHcUrN_l@ zLgH5`%<%)1&CqLk1b4ngJ1GHw5cCh0KRk#?JPT@w?GO;Yn4bz5LQbe=Exm$PhJit% z{kFZ6w;-~7o+;WHKqTZw{7FstOC!QAG3-79&Hk4#GQLj^Uflub($IbLOJt(V-W0IyCKY>lf5J87 zuk8;Ey1Uoxq1WCRlDX{;zSHfE8@Fogo=76O>2FXUUBXeSLCXApl0uM$u&{!pu<-vW z2>*10Oz${eiGBh6L4EDUd<+QIFizuAIZP2z{6<*OQe?|uH3AuiPvrEU)5%cO=(gCgEFq7 z@ZI@fpl>q>f~LvLw33o9(bb;dFCJL?nqS9X_`H@=h5`cQ*#;pNXw_))HfxZ_-iH1d zCP^=uz=c9MRDMU@+m}C1y@$lp=o8MC(Hg{oL2mvYiw<2e1SLM8LD~Maou`b;ey8$te`V=Cz#nYE zu$Ea_oa9Y{lIaS_1xe@AX-Ny5Jp7<&m#Cjfwf?7tHPSj6x8 zuMo;vQdSh|2ofC`o)FWvNdf>M21tqsssPt6v)sJ!2Umx?>)qn%TF;D?t(oYV**<$=9kh2oM8p&(;woXEF8H1AUzWboqV=!(&NLqr3CJTY#6CwLskpy zn~DwohrwJw4A%SHU)cg;1epzPO!l79lpKI=a@B0|bWq||mVUX+|IC6ZP6Dk=!E5y? zi4lmAKx`*x%i&t!sP~{>Aq47Lr>3(0&j_LRMFw3pW&?mvF!La_BNg-kO%0H&YXv#y zF*EoNFmJ?Z`5GOw-_s>MZy&M~WD!|>Z|9s8AJ=){a|Dm}JQVigS_%d)S4i1J8 zSdjB4!H1HEIpPP&rjbZT#rK!kjynEmvb?v!RF_>1F_xC3ctZ2D0qydIO-1~$gYNcc z*}>nz*qLhdV$&Lihl7h``;iCdU%#uq>QS9jZ+}p}%WenfhY)$;31d&u_YMy;_h_E6 zc@2C@@w0jK{*?T-p{qf=Vf)?iwT>v9T54CthPVtUsXRn|Tle6r2(mRWVD>|8LnfxE zJ!S2^e+g2BUO|2NRl}gb2VYna{7HOb2HGfbEGO|PBQn-zcndz79HPWIO%K4W|6)f0 z5|ly`g0X{jjr4Cw=7O%^0+BSb7mJmi<*oATC~tKWulpimUDFa;5NNn&s37<4D$;V* z-$_91pceo+hiOJc35x7D&j{I2lZln!M_9yp^0U`>Y;<&V6+wDGJXlKH7k2Cc_SiSx z+>`zi=HYinKYm4Trp)AkcV+Fr*FKnba$~e;`EDsmciuM)EQ1d`x^+V`Ea&(JDy^Ea zGB2M$5xjj{5QAR8ZRE^eIjd+8X<6Oq47r(sU|ALKTX9`=>PR0BAHUdU`#>@Vju8B< zW~MLLWKn_LUU!T_fnr!3m>$-tgh;jH{5At~N#DJlg~1Pq@VL39{Y|NmblZ&exJ@*U zJ3o8>^%Pbp9R$d(N9Y=T^4ZQ)94uejt^Z6Z00XLDT^nO=P0`&7p}K zA%kD#`%OFDsSel%Q8VEg_k5#DNzPS7yMOjO22p4I*_m=BzeU-oOTu`B)L&VF!> z#>aD3ma9CGKfW+qB&8jd&>$5opIp_{$#TFx7_0~e+5D|bmTkKkZn$osZx9m8xtum% z;~#B%&_JevNdI0j#?3hX_IMQ62m4Lk*SGNw*=MW2UcvzS=LP5s;f;Or!iOw9mp+QU ze42&7{POgbk*CKe#?#b{MkeIM=S8}YY# z$EVW;kH?P>ADdRqX~DrsGw(N`Y>kgV6sR4EMBGKx`!54>1voh+=_|I{Q!L~Ry?9b4 z+Q(~&?CWdrFF&d5gfZfyT78Ig5Eykygz_=UdT6oILMb+hkLbBq_5^)=XCC!xxjA~b^M7xh2IY8oOb0fFQxeD*=`C=`zSxOuZbF*&+-WWK*j4BB-b0ellLJfc>lO$Y|g+2R%h zEVb^CU`ek$@p{{#^cPKaH8tSgY{rQQo9n3eApK}R*j_hK{~V*0#N2!3Ow)R*Cu+5z znhg6unG3I)a*WP?+4W5O6IljyW!Sz`)38-VDmi=$qA^KzglIWA=6Ey9eKSzG{o0-e zYrsjv#qgsbxh${4j?{V9NnqYOiMrmvzjSgRikWIrd%7=teAhK?PWmrQydsvpU!o`D zUz4sVx6mabI<9_yqPgv66k#vBDbSJIy2Fp9RiPdlKe5SXQjE!EN#k}2pgl;YkH{>+ z_muot_b8#f6GF>IR8x<8#wsQ;^O4xP>|ur+;KuS2?{pDfdj$t(@oX;}H)=uF4_y%Jn58n7g9?e6PXZHu0!Xds&y`db2jO|D!X#w`ODdFUWZeInaRA zqST~hb;V00-20dHbgA43SVs;cmKfMevd$)PQjl`@qRon3!R84U8w;eb1z z)4|+M@OZcVoUIbVKmoysKQ5pajt4*FF*W3WUR>N>n5Je){bOj)G4^T~pKQ)5+(y&z zQx}aT#13)QZ;SJx)aQx%$2-qM$bqataFXgtCr8Lug{y^!Fx)reKCaoR1A%u;O0CBP z4^BE{4oK?M8B8XPVz`s_N_y}hlUT2T)tb*2dZ(OdF_7R;af1#1$j0g}G&F6`BA30@ z56dV)5LQxKS-2Lol&C3LtW3|_Fvb1m7`Ar|UV9xk$(S-@S33%pP5ShiN^we+$YKw6 zOwiUutXul@5AU}GTEYZdO4{UQ`+?e~85yg{#B|LPJ;0K3`V2oNGFOfhb=#(o@Ot@ziHRwU53xEkOz^G!AgB(_ z?2CIy@_EIS-u(Ana3*JY?sRjOrF0cqE8|VK^w3GgLpi6^J>9`_e&CDlt=QqQsE@JX zXNt7cQ$ylwEajInn;=jStv2+hVhY#Mu~~Y{W~MOhEz{V2`$lXk*au$Hsf}AA>lTe# zjP|q9@%p{QGtv3$h)AT*mlNAOGfGjioaJP%I3)b7PpLwKx68MrN0okwI>j|B*Jcm3 z2a-+H*w!--4f^GuirVT$C*MLsx6CbJZF4aLo=$czqVA<>C!Vo-Z{^7_`q}#pix{5& zLID`lZj`jcJVAFZhl@G(l`D^X>~WZ(aylZ7G4Pqu%thW9%`41U9-mKWuhMH@wT-Z= zQKeaJ=3&;q#WJk7 zY|P^RAuUTPItSD~?yRr;v3u8D6qoa(H%7cpw~qesvVe2Kx+%e;P4KSE*rS)^=8}9h z-s1H2VQWY?rSXtUh4MdAnKT2kyHm`at3HVv;;s}HScpc#Wp#q)B!bk*Qz2mZg>By| zuyrU2!qAZ9!>1(rl#rSxuz^39E6;Pk+T9L$;=>);qL&(&A#D)t-a2D5l9|f69{lGV z^K_57ZMfJrADl#jg&0_ z?IUW3V57i177B!=y#F|t+btj+%(Ku0G?B=rKFR9yczzcFCiw&Bd>|Nb-3 zI@et2p4CzDqhhyW@y9tcv;J@V<68IDPXLU zdM=ISU~a?Lt-r56%qVaIFG9^TW>0fk>2;*eAe|Rc0{lvXh*wL1^$}9gT`%>tXd}2K ztvXjZd+gQ{Wufkr+eP!*Bw1B4!wS&-7Q>EGrC`k=QM!U{=2jB5gAgivR(+;9byb1+ zmIsAtFyWD(WMmW(DFEtHK4u1GBb^KItiZI@%s09I-grp!VfeD~L-Wh}x$B8L;DUO+ zc{Xo0=eih`kA&kNDdL62*$QuFrc(96;=PiKl<~8CZ0)#*pof6411*xu9zTXco$Wxc z6pe$zb>x<>u_~%ZvFEnx+!_$|k6Bb2mm|wj-LTlx-Vl+G|1FsY&#fFKl(VAtf!7hR z7v;y|1O?jJOYEXp%Gn6~;w`H}gpzY?C)1y`;!kgUQdT9MgXlomfZU+??Le2EYZWv; zCe5ZyCxUasFoS9Th*GLUV7FGp`U2Ai;~4^Fq#&t57m{y$_qRST!vXpW!HfI+{MwHP ztwp?LYnN@_tje0+Z)MOD4N%~Bit50(3t{JF4SxZDXP8I+M9WJ(MJAqQmtzoHL(fE( zk7%N74T+yG{wW~QO2jl>714;v){{(Pqa!=gr2`$h(g2A}9G3xlY+<^Ap5eEm@B4+$ zDJt>xr#r(Qq9*QZ6ps4ObHiYY%nVj&r_3J$!+BhOnW^&TdY*wD>pF_Ua)FTyC**q> z{4lbrxRHV~d@zFX{_xj_w4E_oaytRpWMpS zdW#xO^LkO)Z@LBOeKyVl_tz0VHA2~DulvvOK8MupT%hJFJ1vofW?RDk8Sh+cBDsG* zk^Ts~@zDuRH~;ngd3g=Sjs3t0F1~>qNd;M?J4(tw@p zi?5GZ(MExZ|MVjY-bzA;;-u$Tk!2o1$xw?i97>G>bJ8;*l`D_DkQIAXjF?lt0Uzj6`WA#f0>V(3Pw;G$GBQ13&zCt z3?0fbzlM?jK>D79$4vpzHa4G%XhG*^GIy^=k6)S`zqH^2U$NiGM2&WFwe zL}$);7zQD9@SIe^b5l}bh~8r-?HowGW059&PY;d<$VfT)6+?31SSV1g&Tj|T8ga*!3QSJKvmGVE}}V^=PC?+XUJ?y!{~7mPZyU=?glz*o#C zIS#aLOujLYnOXFw2FO9W8-Z-PLfZBw3c>5;Gboa%FoKyShA*(9$#sUQ=1dtKX897b zN0P4c1Zwcif^-P9bPsq7IkyQ?CZS~5R*?-Kf01OraHX4UxBRS11my4vliRW(L>Y7l&xzMdWnZ7(K3e zSc`;R>(4&EG@Drf%XYgc<2%{qB(@*&0G?ybRO((c%d^Ivo6H1#gKmyuTG0?Fo#(dL zZgne=APnl*m41ml7!rY8MD19FzpVTzo~lgk$b%h3?U&%C;1=LArH3|uWVg3oac4vZ z2Hd8br|-BaD1ul+T|mm9gwg!=_LdhvNVmAW?n>BYO9tBp)dcgxTEWoBQB5-GQH!vk zScjV!oCq~$O+4$w##a|um)iL|6_!sL^u%mF9~^tlXwei$6R5uy3j_u;P4GikY{_&0axBvu|(TfKhR0Cb>d#db2-=25Flv~7Q{GC^y~ zO?3sO&*Snv;oFgs3@Y|$_5eTsNkyOoS#s(T6wA8U3>Z?cZ2i*waG9YeXBm02Vbeyp zL+irWC6(~iPLww)j%s8;y(X16waEv#El_itQ{f3)uxNOkcKB2t!#8(37j|89p5sGZ zU1xO_ufIL&F5pb{v547$_B^i4=55H-YZuI1#x;=!?e~7`3G|QNdu(dGp8I>O+rrRl zT`z@Mv%7LLw>60GELxb>Z$vS{YN* zBoJI85}QYlLh}w#q;%rHtX!c|;1=R;-L?9#zGUYi5G174m`uQ)H z2$fb=a%DM`8bs98ju5(ZEaw}mM8OFprfeSwfKwu6BF**6;b57;xda_>Ls^Q$bF`?! zZ~kgipWGAlnr-}Ooi%WDQqR-IR`Hdz)DGsppMwFAdQTe(Q5kJ;Jx&6t!mC%rSIoE? z&;+)_RiZrC>ZK>R%(qy_&ORP4!sh!LAD}&W7Gg7s*}X4FE(O0yWQO(E1M zG_Y$hG{KJP9usmVNT#qYoNKzKW~ACb*o8d?D}4!1&MUwrcpW_rq$16(ANkXP$wV*; z?mfG^^qx*UGW2`y9M0rP7#7M~8_G)FoS1?20%8$2MhI}X=uK>+n*dJ6@YV|t#p)*b=n z!Iu^3oUn7JEcvsS3a`b>g6{6k1w3{7NjKRu&IOY*R*j}wLV&rMS^0*hiP+Yu6papX z%b&AQ(!Wg}<>jC)$VZ>L2;9F^Ypm0zjd2wl)7R2KO7u7o72`G89~3WV_##4YrIikc z$#csc>nqh=f}|$H;mf-0fdNE}e;=wCbI0=_ZL$I8?d8lW?S68Rf6tsyK#Ftm!8iaz zd4}ih3S-$2J={VgNJZ$JNf;wn=#{dM#l?6-gm0|*=eF^_Zy15($-MWuGT+y?i&rim zWeC8yY#;61i4dRK?4pRcU5lLp5ZMq4a5PIi2N04;pzf&@_{=XV?zV!Guy{#{8g%Ls zGV@C^in)7{P14%#ucJXz)tN zqX3Od8L}zyO49JVdI#aO1r3|P*Y*X%4oWLJOnE<*X)M>_Pud(BihtzR@HUN*2?4{2 zFQr$ZaA#Z;{6+sYwJ9Qf%|lBYS4gjFh46qCWZ*=TWH8$geeqnuTLqtIv|O@4jI=e= z{Nb3y`WeIS)>O6G>`?yt<}UDfN;Ig9`a_$N~!`!t-fp5D*8#po70K6w`#Fk%`%S%1tv){WBw z;g%lj>iTv>>XhN)MbBdJ2CqJ2o!;6~l@7gVh;4)@y!vxJayG%3#d1y?`B#pMXxM_u z6!{&QojHFVVlnG3hHOI^U;5wzLyZSQwM`3xpe4>Vx~B5+erT#ne)IfoI16kttYBDxwsT=OpVgs&qLpo@nHK zzv}`+&t=m@H^yo{X=pNx0wPrPv|}@A9`l!<$Nut6@=r=Aj-4!i=`Rq8)y@9Ju7;H5h5Pz{ zn#FI}68B3cik!oUA@l*#@KyD`Amu}grD0EjnQkosB{RQX9GrEJ!_BZvP_dQTdIwQtDB zxg%3KT@?-3yYM{bcU7xWl3}Oov4g5!Idy_!z5hfyem-Ab zy4U)=2@{m({&m*V7922kAbn2dQb zna3lMLu~xogX34^!x!1<9(hLRDk5@Fu;vu2Fypx(;~!LZ;uNkHTtHmucJzh;XyP(C zw-(13uhTo}Kv4NhPPEB=uvw+<(k9I_0Zk4)@$?f?m8QyZUVHpgD}zvCE_Izn;EwA= z=Nkw3)0Gg9LV&kxm%tZkR`k~L^&n#_j0t1MaYpm0UZL=d?$BSVM|9ltCeDy) zWu@S@b3#M0f%lEN8oQOhgG$%H4ZABtWZyr^dA11ff(0px$7S}WsRLGL^hEVWp14V86W4O`6oC^zvX(jI*AHpsgdqB59} z^ggJ!YEvIPvom|m-xHkZY7ZnSMsvH(9PzKY3d3y?eVuV}>ioHMIjmbvW^Jnvuz8p-j@e`8Phi_i1z zGjSMCHTR>vUawBT*8xt(CPuI#sgNVODo68A-T^QqMM|Am(JVWviMox%KC(hJbp--Z z8*dpssQyZ~={p#|o#uejW)uO~AO1Z(X`-In`#C@R8!2n3nP@Z0@P|BTN9gFH?h8Ij zd+R46?k;+fb+uJ<&yFl(VrG{5R)P^3Op)7&{0N0$V@}URn)=?6H~1%nH=e%@1TxH6 z`M%>9jqKX}_0g_IH;dO*553Klj?9({2c(M}#>TT*Qsc`kINYFpoDa4~Fv;BTllmo#Dgu zjui^#F=-Qv^tc27@NE9e1&}E5*T=#C8ux$m`(*HsDLha9*vPbhdu_2`#yE(BaDImd zLLWNKluys``hmd#yQx5z0tO=eDJ1LJWkluk|$Aqf_61rOl(dNTC?Fr&AHTh3J0`wa!@lS%R^)4QM zWw%M0@_j5mV)(?Lvl4?0KNzq0q6FL8-poig^-r?W6=1HJg0!VIxAxztAgga~oqq~v z#-WZmoJ<+0Psd#Q-QxpS!{uznUSU6w>t8+`P<A)&!JEipyE_5W2%7j_T`0Qfv zqi2i8&nNT(W+Ty*ua9Qb=HC~WJ=K+sj!Gh`@v?i4Dwt8O*ezg1a+mf~jEpRS^C~}B z$4%~OGFlXu8Tc2&I9yg*fP>r6l>IC@%no4J%$8FvbXP|{kq$IU5qSyP43gx8NIEG} z86Ca`NzXSic`i{d%Y9TVo!gZEDmbcaLZk-7c=}i4U0M}^XrebUB-G>HReI0!9>JSq zcHm=knOM=#h;e3R5kTR&a-pZvB9qtGcZ=o^$l2H@u}fVc@>nu$A@O2!3)NHOff2 znj*oJcLqxV!NQJmr@P_iZWP_U{=q7U+!d!iPL}_J@q)Oc?JXU7l*|9ZQ`B?; zy8#of>}CF!2Vq9_Z;1xNnvnuQ5>wYFI;~I_T+oeu6SnZCUs!f8biQXwPo<;bA)Oz7 zT$Z$`u)cm@r~l{~teNt@$iZcv+=XrYA8Air;taBM2pUsc-EYaS%cPtuEtJ&`;pt^A zMZSmv@jS6t&{)OO8b3N*6~>dK7SAO$t*b2{Nq7>-aLsIxa}b6fUmt`oSi=NWqti7x z!{~k;nneEFxOEkry`zNkz;pqr;InhPimJ**LWxH`n6L$9=O5(SMo!Z!6KmXhd_wnc zFBr;LGKkWE<(&KTJW{z&C*gfJQw9*uw%cz!pw+@r0;>UKWEItUU8$?68D z!gwC7TE_1U5OKe9MLSE{FOrdzpu`%>Ri;gP!k}ZD8;1aD@g)355T%iNroR{tjx6)u z!kjzQluNnSWnHeh;^+2`)4yP)U>|>uZM+!xoaSgWxhgLAFojFFLunk$d;d!p!u;Ye zO&pL8UAN)h_RW~xFDG8v&4(fyTHR0^ql34Zbb(g2Kd5I48Fky{+Z$JY#*=$Qd?oi0 z&P3=)%-k%Ee1n(x1usvuk=qw1V>D?QocN7`x>i+zH`G3e6PZTTE8Y`tI~`l7|6mq` zP5@pa_N0ho)O%1z@O-gIObu&p_?8AeVDGspL^DQ0?)zo6XOyJ^u9?hEAAgU* z-3cM|gnuxNYd;?f;%36!WuQ8(W;E0=i6jf&JiShv&KIA3W)%;eKO`Dbw0r@1)cmwr zul>)-@qA8b4OIZvQ%gs~6G{x(>E@pu|oC+?h

vO_>I|>CEiDUj0tTxyNHwb{)cH4*;zHZDg^RBWK(|g*ej!3()!G*>%_dKuB)Xd-mKPs#MQ`qv6{W8Ey&B+RDF03S@`cJF(7*DA)?w zfwhqKn@-ufpVraxFA=V4lrLU6A(iEc)TeAVnj#loqD<>}d^0?{vgvp7TqoV0{QECw z;H&gpwiXp5xw%$wox=|;VbaA4f>~d@2%a!FP3+~8l<_{p+}4>oWN1l!g4n=;8r0T4D?WrBv=-(VuDwB-}|7 zt@MCj@C8}0gu~axH|s9R1UWm;)=ACHZ@rU9CR}nC9_b`D2SauKfVJN>A;L=(ZfQmd zJH{Pipwhp7I4d21g7f4#5Xs3W$Pq6b(Ghj}ON%3h^c12m!RqpIeklDECg`{B?@h0B zIUzIcc}s_LB*>^vBf4w=)tS>JKMOE<-KmUN%}jp}>rAUX3Y|vm8WHv{>An%DJ!Ffn z&$q^9O*0z8%hr$lm`F`*xumSEzS@^FF<;mI3;V;Kfk$6&oP9n$*j>vbDn|I|Q zDUoT6;7rD>&zacN+-Yy~oWj>1Hm2B3>U~@iIH^~UWKgU9#O8#1TYgV84U5u&iTlhW z?=y>=pXzak%}uz1)m5E0p&SmqeD!xMKP9odyr{#I%U!$U7}NN5tvs$&=<>IjlCUYCb1?yRjEyehkuB zl+m*C$5lPZyM?D;I*<%{FgA2!SQz8*urNN-3GHE}0S+0+*|!OEkdYc(jvkPJvgZMH znqtuK17CH~Yyqo&MpmxDmAmt^?;E~wfq<3o8o7_0CwApRc31K#!04QLuBY>_o zv>RG>ghONw5_|k05)NwVAD_{E%sI_2a%EsehAeRbT|N0f8p`9_?qSriuBv_QQ0rW; z5~0;T4(m4Hq@W9t4Q@}M%;PQgWS&4ryrPXL&-*~i4d=};Nm?c6LGkWGPw!r-!_X+; zwW&Kl8_jxUvJeK<4On%>BTc4~umz=02=bP1c|fMxNCM_)y}O=X=!`$8+oV&u7!W#k z4sN>b0fx6?Va0!u?_{Nv+qt2|!M0--DY0D!%7h*Lhl+J~q`N4!;HQ7br5e_qxJGgK z(BRS=2X;h?I@psEYYGDCE?h|iS0Hx~!D~pnePd(qyaVntuB#=B1?m0*Sypwn^@Z9r zxB^iNnr5yZ6roc1S7Ib{N9vt^db7c!mg;UAyt8tHZvc1Bl+NbXhW)? zm8~Q8+IF)^O#ZIA_$BZixgQ_T0B@(6zeex1em?Ez+Xmpg5FMR`Wp-DjCB@6{A8tW^ zkEDWq6V7tIvciR(!=(hQ{T%sV1OH+hhGoP%n%8bXiwAEfdHQ)x z)TozeO;9M7*hKm%u6xlo7+i#kzmGo+hZuE7iSldk_z$#hF--~S;Wv`HNvdc=X_l3%PN?^}2ustvM>iC0ptkHT~NQ(&+S?Q#9fbo%pwrEIdMtaaqe(}wOnE578m%hh~ytb7l^z8Gu8Noz}#4Ey%(fm zQ1j%0c>$9LR(WDgWP9r`LH}4tiJyvd#f{BWt2J>yDh7FflV=4si`6#HPqx$#W)JP-Sbk&fLYfZnbyR4J30?y+33wE|j$}(+x^-5<^`zGYEJBDqfZrDI zp8u$&!&QU)r$dGGa%myN9C$^*0x3(%ZPx&oJGeR3o3VJp&jmakLx&@f*W-D}Ws5Ck z?mu1#`F>M^V@&^Ia*_5IpF$J!$3wIML6{G$YP~Wv6!J;JvuFW)(`O?4tW76EthRyJ z={Ut=m;LNs1IgccV5Db)0-c!bMB#@e3ziC_LBTqlgP$!ErjuzF}~EOzGq@MXDGWIVCk%q=W9MqO0gZV ze=MF@3Bm=>FBlya>QFWHiC6`^mYij?`1SiRSH)Apd@F*8`KQ1V$3Q6Sd}=Nux8D_s zxFcW>hwZI*%jpax)UE27T2aMbPBEB<-{=Ex|5!ZX0xq5dj;9VRNeop3Vr!#G75rvM zFA6QOYr=FK!CuZjwv~b#fumya#IVTszPNb??D#EWJMTN202^=y4hHc)uv;viScD`k zgzJZwMNq2wy9}6CA6LT$B%6bkLh05ID68INo>XO#V|kh#35?G3U0^lDWK$incp{(g zOF0CVV+DA8Nx*t=F!xTqK|r@EbP%Qj;Sh>X1vy;s2JpAQ`RX5bMkU*L4dj18Jc9D5 z{hY!a9B&5}+w6TMfDj18bNv|MVGt~7F+ISepbE7VtBbzB+dw(zC@y3g!P)6Du?NZ- z^hMwy9Pe&T#9u}7g)uRQ&!orIL*AO)tA>9Z__blLp90^Lz?hTH85Y}P;Q;sm(h^FRq~~*!F5$VYhci}sLQJjd?p_nu+8h-k^Ia_&jVqvUDhWqB z`rTRd|KOHtGv8O_2+wIr)(EZ5=Ya}c>niekCKaYw(p-luEAxOe3LO7ynz$c;vJGxo zVE?m)Al=&1I4stN5_Y^RF^?#D5EvV+tQ;0ja-Uv#zHbiPfx?`qx76$B0N{IiT@{j< z@KoTF0(=r&%pCZ#@h)sjKu!mLF)YSB_k1Rb+w3%Dk1 zbO+M_X(@3{Y&pWOrn=S!K^+D>ED$Vhno;`2SvoupT@q^4Qjg&=#IM&`8inHG=nk^q~KSWhb|V1=b|bjqu1J0n3gBme6IiT#zF~txVjx*BU)(9 zl(#&G&eoRtP=fxJ$!H$bN>F*L15ml&aX7*Q7`8bKbKpi)&h(cCR{WEjLD^RbPbd;5 znQafGlNr$o7A4}j90@YoP2nb|zZ5Nn3ErcyYGmCMle=F^lD(4p>8QBsMWs6Df$vKx zf8N794BthfJ%-D7!Q5POV^Y*HdZ*oo#S|=>({uJ*C{*^uQr40<7T4X$6~axg~1CAE(S+b>JphHY1mX|G;npvu)unK8QfN2u%a0%_o`#w}MH>uKQTEE!D zv}0Pky}$Py8K@T|JwT+vEIeto4O^7N*Xt4gcmdtI%FCIboKu{sMX60Cp5x6W%DO-U z$|heZJXF@K28mM*{09Vvks+q*q!hYp$8aAA(?!zOJOhzVr-9=Q@1Z&-6Yn}wL`KEW zUK9IuVCUWQXltq?*-}qgxqKd#i~Tg}JUbNqG8 z^3MajMrF5Wq_a|)>bil?3Rr?Sm`r_CA0#HpVAey0MQs&}H?B^&oCr0iG$Iv&_z7n5 zszVVeEgk;@crq=;7f~T`JdY)_8Y#U7vMim0W$QbG{PC9RY%-D1)H-}rNKPa;oKd2ZPxJ>Di4dnWX7qU`L{)u6%eD z6|eh{mQp&Sbg=Z5 zNsZ9~5^-vxV`KUD-0y^{uO2i`hs;yhBXpe!NJmHs$w>r9RzyI2Xyj`vC7)kbkILOH z=LpGl2(hk2?x)w$o&mj|LunlE)r{dvS48kcCU;#t-{RtZ8pSyl6(1hV@QDIyVYq1| z(sK~MMVY2$$a&>}e9OcH6$M_^+(Nm*t!#<1zy5M;JaJ#d=cI&0N^gpm8si1b+L;|x zTv1NCoIwl;ZdAHmnGBKumba{N8{Y_DLP9`nTH|trcnEk%B9UIC%5l7yKFF4kMYxhJ z4TUXo!T*(zN12Cdq=XX%uV`X(|ChgF1QO9Ikk=K|Em{WYRKZvCR3`bC7-*AEE@{0t zX;MdZJn^1@D^WisZ0SR~!;YC!Eq4359C`XdbGr%ch;%SYk$>X>E zWZse&u0y4{MtGu3IC6rgk}`E6X+_Acp7FKxk!(ry=iKP?0F_k86sdm<&=CQW$ILZ( zW(To|#Tx+U3Bohfjh<#hCzlv`on zfQ5yHg@r{a2)cWhN?7Aa@k`cRGMK}Nq*vPMx3I9Vu&^i*K?g|AYCsCviE?^N5AZer z3C=A@NVd$dZ@|LB!otF$R0JK*qx0kWpgcJb7{Ke@4jc(yrgyA`g@uKMg+)mSI?K&8wpwWQvJicuflS)eQ|EG#T6zD$A+D!w^6s}TYJ1xBGVq4gJCz)7f7k=_8- z2e+`Wu&}VO1ic5I>xZy+A=w_-7g${6_!k2k0@u6IsFlnuEG#T6ECvWU^ZNQ}U1QS| zE^t4Rb$~;F<502Zn~*!d@nTex{Re?df%XUy7SFDyKWQc{EG#T6EG&v3=skqJsSZYr zX3Q_nAnHYLEAQ&Mt-GS43@DQ@L8#o#4ysbpd{nOE6gvDZ`L9{9=nFf`78Vv378YM7 zK?k671(2I|UXN78Vv3Lm&SS82`sz6s$lI00000NkvXXu0mjf#}?Dr literal 0 HcmV?d00001 diff --git a/doc/index.rst b/doc/index.rst new file mode 100644 index 000000000..74bccd055 --- /dev/null +++ b/doc/index.rst @@ -0,0 +1,54 @@ +.. image:: https://travis-ci.com/sartography/SpiffWorkflow.svg?branch=master + :target: https://travis-ci.org/sartography/SpiffWorkflow + +.. image:: https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=alert_status + :target: https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow + +.. image:: https://sonarcloud.io/api/project_badges/measure?project=sartography_SpiffWorkflow&metric=coverage + :target: https://sonarcloud.io/dashboard?id=sartography_SpiffWorkflow + :alt: Coverage + +.. image:: https://img.shields.io/github/stars/sartography/SpiffWorkflow.svg + :target: https://github.com/sartography/SpiffWorkflow/stargazers + +.. image:: https://img.shields.io/github/license/sartography/SpiffWorkflow.svg + :target: https://github.com/sartography/SpiffWorkflow/blob/master/COPYING + +What is SpiffWorkflow? +====================== +.. image:: images/logo.png + :align: center + +SpiffWorkflow allows your python application to process BPMN diagrams (think +of them as very powerful flow charts, See :doc:`intro`.) to accomplish +what would otherwise require writing a lot of complex business logic in your +code. You can use these diagrams to accomplish a number of tasks, such as: + + - Creating a questionnaire with multiple complex paths + - Implement an approval process that requires input from multiple users + - Allow non-programmers to modify the flow and behavior of your application. + +License +------- +Spiff Workflow is published under the terms of the +`GNU Lesser General Public License (LGPL) Version 3 `_. + + +Support +------- +You can find us on `our Discord Channel `_ + +Commercial support for SpiffWorkflow is available from +`Sartography `_ + + +Contents +-------- +.. toctree:: + :maxdepth: 2 + + intro + bpmn/index + development + non-bpmn/index + diff --git a/doc/intro.rst b/doc/intro.rst new file mode 100644 index 000000000..7077814ec --- /dev/null +++ b/doc/intro.rst @@ -0,0 +1,125 @@ +Overview +======== + +BPMN and SpiffWorkflow +---------------------- + +.. sidebar:: BPMN Resources + + This guide is a mere introduction to BPMN. + For more serious modeling, we recommend looking for more comprehensive + resources. We have used the `books by Bruce Silver `_ + as a guide for our BPMN modeling. + + .. image:: figures/bpmnbook.jpg + :align: center + +Business Process Model and Notation (BPMN) is a diagramming language for +specifying business processes. BPMN links the realms of business and IT, and +creates a common process language that can be shared between the two. + +BPMN describes details of process behaviors efficiently in a diagram. The +meaning is precise enough to describe the technical details that control +process execution in an automation engine. SpiffWorkflow allows you to create +code to directly execute a BPMN diagram. + +When using SpiffWorkflow, a client can manipulate the BPMN diagram and still +have their product work without a need for you to edit the Python code, +improving response and turnaround time. + +Today, nearly every process modeling tool supports BPMN in some fashion making +it a great tool to learn and use. + +To use SpiffWorkflow, you need at least a basic understanding of BPMN. +This page offers a brief overview. There are many resources for additional +information about BPMN. + +.. sidebar:: BPMN Modelers + + There are a number of modelers in existence, and any BPMN compliant modeler should work. + SpiffWorkflow has some basic support for the free Camunda modeler, to use it's form building + capabilities, but we intend to encapsulate this support in an extension module and remove + it from the core library eventually. It does help for making some examples and demonstrating + how one might implement user tasks in an online environment. + +In these examples and throughout the documentation we use the +`BPMN.js `_ BPMN Modeler. + + +A Simple Workflow +----------------- + +All BPMN models have a start event and at least one end event. The start event +is represented with a single thin border circle. An end event is represented +by a single thick border circle. + +The following example also has one task, represented by the rectangle with curved corners. + + +.. figure:: figures/simplestworkflow.png + :scale: 25% + :align: center + + A simple workflow. + + +The sequence flow is represented with a solid line connector. When the node at +the tail of a sequence flow completes, the node at the arrowhead is enabled to start. + + +A More Complicated Workflow +--------------------------- + +.. figure:: figures/ExclusiveGateway.png + :scale: 25% + :align: center + + A workflow with a gateway + + +In this example, the diamond shape is called a gateway. It represents a branch +point in our flow. This gateway is an exclusive data-based gateway (also +called an XOR gateway). With an exclusive gateway, you must take one path or +the other based on some data condition. BPMN has other gateway types. + +The important point is that we can use a gateway to add a branch in the +workflow **without** creating an explicit branch in our Python code. + +Events +------ + +In the above simple workflows, all of the transitions are deterministic and we +have direct connections between tasks. We need to handle the cases where an event +may or may not happen and link these events in different parts of the workflow. + +BPMN has a comprehensive suite of event elements that can used for this purpose. +SpiffWorkflow does not support every single BPMN event type, but it can handle +many of them. + +.. figure:: figures/events.png + :scale: 25% + :align: center + + A workflow containing events + + +We've already seen plain Start and End Events. BPMN also include the concepts +of Intermediate Events (standalone events that may be Throwing or Catching) as well +as Boundary Events (which can only be Caught). + +All Start Events are inherently Catching Events (a workflow can be initiated if a +particular event occurs) and all End Events are Throwing Events (they can convey +the final state of a workflow or path to other tasks and workflows). + +If an Intermediate Throwing Event is added to a flow, the event it represents +will be generated and the flow will continue immediately. If an Intermediate +Catching Event is added to a flow, the workflow will wait to catch the event it +represents before advancing. + +A Boundary Event represents an event that may be caught only while a particular task +is being executed and comes in two types: Interrupting (in which case the task it is +attached to will be cancelled if the event is received) or Non-Interrupting (in +which case the task will continue). In both cases, flows may emanate from the +Boundary Event, which will trigger those paths if the events occur while the task +is being executed. + diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 000000000..922152e96 --- /dev/null +++ b/doc/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/doc/non-bpmn/custom-tasks/index.rst b/doc/non-bpmn/custom-tasks/index.rst new file mode 100644 index 000000000..3a41fdad3 --- /dev/null +++ b/doc/non-bpmn/custom-tasks/index.rst @@ -0,0 +1,65 @@ +Implementing Custom Tasks +========================= + +Introduction +------------ + +In this second tutorial we are going to implement our own task, and +use serialization and deserialization to store and restore it. + +If you haven't already, you should complete the first +:doc:`../tutorial/index`. +We are also assuming that you are familiar with the :doc:`../basics`. + +Implementing the custom task +---------------------------- + +The first step is to create a :class:`SpiffWorkflow.specs.TaskSpec` that +fires the rocket:: + + from SpiffWorkflow.specs import Simple + + class NuclearStrike(Simple): + def _on_complete_hook(self, my_task): + print("Rocket sent!") + +Save this file as ``strike.py``. + +Now, before we are ready to define the workflow using XML or JSON, we will +also have extend the serializer to let SpiffWorkflow know how to represent +your NuclearStrike first. + +Preparing a serializer +---------------------- + +Before we can use JSON to specify a workflow, we first need to teach +SpiffWorkflow what our custom `NuclearChoice` looks like in JSON. +We do this by extending the +:mod:`SpiffWorkflow.serializer.json.JSONSerializer`. + +.. literalinclude:: serializer.py + +We save the serializer as ``serializer.py``. +We also need to update ``strike.py`` as follows: + +We also implement the deserializer: + +.. literalinclude:: strike.py + +That is all! You are now ready to create the specification from JSON. + +Creating a workflow specification (using JSON) +---------------------------------------------- + +Now we can use the NuclearStrike in the workflow specification in JSON. +Note that this specification is the same as in our first tutorial, +except that it references our class `strike.NuclearStrike`. + +.. literalinclude:: nuclear.json + +Using the custom serializer and task +------------------------------------ + +Here we use our brand new serializer in practice: + +.. literalinclude:: start.py diff --git a/doc/non-bpmn/custom-tasks/nuclear.json b/doc/non-bpmn/custom-tasks/nuclear.json new file mode 100644 index 000000000..46623f3a9 --- /dev/null +++ b/doc/non-bpmn/custom-tasks/nuclear.json @@ -0,0 +1,93 @@ +{ + "task_specs": { + "Start": { + "class": "SpiffWorkflow.specs.StartTask.StartTask", + "manual": false, + "outputs": [ + "general" + ] + }, + "general": { + "class": "SpiffWorkflow.specs.ExclusiveChoice.ExclusiveChoice", + "name": "general", + "manual": true, + "inputs": [ + "Start" + ], + "outputs": [ + "workflow_aborted", + "president" + ], + "choice": null, + "default_task_spec": "workflow_aborted", + "cond_task_specs": [ + [ + [ + "SpiffWorkflow.operators.Equal", + [ + [ + "Attrib", + "confirmation" + ], + [ + "value", + "yes" + ] + ] + ], + "president" + ] + ] + }, + "president": { + "class": "SpiffWorkflow.specs.ExclusiveChoice.ExclusiveChoice", + "name": "president", + "manual": true, + "inputs": [ + "general" + ], + "outputs": [ + "workflow_aborted", + "nuclear_strike" + ], + "choice": null, + "default_task_spec": "workflow_aborted", + "cond_task_specs": [ + [ + [ + "SpiffWorkflow.operators.Equal", + [ + [ + "Attrib", + "confirmation" + ], + [ + "value", + "yes" + ] + ] + ], + "nuclear_strike" + ] + ] + }, + "nuclear_strike": { + "class": "strike.NuclearStrike", + "name": "nuclear_strike", + "inputs": [ + "president" + ] + }, + "workflow_aborted": { + "class": "SpiffWorkflow.specs.Cancel.Cancel", + "name": "workflow_aborted", + "inputs": [ + "general", + "president" + ] + } + }, + "description": "", + "file": null, + "name": "" +} diff --git a/doc/non-bpmn/custom-tasks/serializer.py b/doc/non-bpmn/custom-tasks/serializer.py new file mode 100644 index 000000000..593728707 --- /dev/null +++ b/doc/non-bpmn/custom-tasks/serializer.py @@ -0,0 +1,11 @@ +from SpiffWorkflow.serializer.json import JSONSerializer +from strike import NuclearStrike + +class NuclearSerializer(JSONSerializer): + def serialize_nuclear_strike(self, task_spec): + return self.serialize_task_spec(task_spec) + + def deserialize_nuclear_strike(self, wf_spec, s_state): + spec = NuclearStrike(wf_spec, s_state['name']) + self.deserialize_task_spec(wf_spec, s_state, spec=spec) + return spec diff --git a/doc/non-bpmn/custom-tasks/start.py b/doc/non-bpmn/custom-tasks/start.py new file mode 100644 index 000000000..472d20997 --- /dev/null +++ b/doc/non-bpmn/custom-tasks/start.py @@ -0,0 +1,18 @@ +import json +from SpiffWorkflow import Workflow +from SpiffWorkflow.specs import WorkflowSpec +from serializer import NuclearSerializer + +# Load from JSON +with open('nuclear.json') as fp: + workflow_json = fp.read() +serializer = NuclearSerializer() +spec = WorkflowSpec.deserialize(serializer, workflow_json) + +# Create the workflow. +workflow = Workflow(spec) + +# Execute until all tasks are done or require manual intervention. +# For the sake of this tutorial, we ignore the "manual" flag on the +# tasks. In practice, you probably don't want to do that. +workflow.complete_all(halt_on_manual=False) diff --git a/doc/non-bpmn/custom-tasks/strike.py b/doc/non-bpmn/custom-tasks/strike.py new file mode 100644 index 000000000..8dbaf2a24 --- /dev/null +++ b/doc/non-bpmn/custom-tasks/strike.py @@ -0,0 +1,12 @@ +from SpiffWorkflow.specs import Simple + +class NuclearStrike(Simple): + def _on_complete_hook(self, my_task): + print((self.my_variable, "sent!")) + + def serialize(self, serializer): + return serializer.serialize_nuclear_strike(self) + + @classmethod + def deserialize(self, serializer, wf_spec, s_state): + return serializer.deserialize_nuclear_strike(wf_spec, s_state) diff --git a/doc/non-bpmn/index.rst b/doc/non-bpmn/index.rst new file mode 100644 index 000000000..60b763ef8 --- /dev/null +++ b/doc/non-bpmn/index.rst @@ -0,0 +1,12 @@ +Non-BPMN support +================ + +We have maintained support for legacy non-BPMN workflows, but we recommend using +SpiffWorkflow with BPMN, as this is where current development is focused. + +.. toctree:: + :maxdepth: 2 + + tutorial/index + custom-tasks/index + patterns \ No newline at end of file diff --git a/doc/non-bpmn/patterns.rst b/doc/non-bpmn/patterns.rst new file mode 100644 index 000000000..088e1c632 --- /dev/null +++ b/doc/non-bpmn/patterns.rst @@ -0,0 +1,77 @@ +.. _patterns: + +Supported Workflow Patterns +=========================== + +.. HINT:: + All examples are located + `here `_. + +Control-Flow Patterns +--------------------- + +1. Sequence [control-flow/sequence.xml] +2. Parallel Split [control-flow/parallel_split.xml] +3. Synchronization [control-flow/synchronization.xml] +4. Exclusive Choice [control-flow/exclusive_choice.xml] +5. Simple Merge [control-flow/simple_merge.xml] +6. Multi-Choice [control-flow/multi_choice.xml] +7. Structured Synchronizing Merge [control-flow/structured_synchronizing_merge.xml] +8. Multi-Merge [control-flow/multi_merge.xml] +9. Structured Discriminator [control-flow/structured_discriminator.xml] +10. Arbitrary Cycles [control-flow/arbitrary_cycles.xml] +11. Implicit Termination [control-flow/implicit_termination.xml] +12. Multiple Instances without Synchronization [control-flow/multi_instance_without_synch.xml] +13. Multiple Instances with a Priori Design-Time Knowledge [control-flow/multi_instance_with_a_priori_design_time_knowledge.xml] +14. Multiple Instances with a Priori Run-Time Knowledge [control-flow/multi_instance_with_a_priori_run_time_knowledge.xml] +15. Multiple Instances without a Priori Run-Time Knowledge [control-flow/multi_instance_without_a_priori.xml] +16. Deferred Choice [control-flow/deferred_choice.xml] +17. Interleaved Parallel Routing [control-flow/interleaved_parallel_routing.xml] +18. Milestone [control-flow/milestone.xml] +19. Cancel Task [control-flow/cancel_task.xml] +20. Cancel Case [control-flow/cancel_case.xml] +21. *NOT IMPLEMENTED* +22. Recursion [control-flow/recursion.xml] +23. Transient Trigger [control-flow/transient_trigger.xml] +24. Persistent Trigger [control-flow/persistent_trigger.xml] +25. Cancel Region [control-flow/cancel_region.xml] +26. Cancel Multiple Instance Task [control-flow/cancel_multi_instance_task.xml] +27. Complete Multiple Instance Task [control-flow/complete_multiple_instance_activity.xml] +28. Blocking Discriminator [control-flow/blocking_discriminator.xml] +29. Cancelling Discriminator [control-flow/cancelling_discriminator.xml] +30. Structured Partial Join [control-flow/structured_partial_join.xml] +31. Blocking Partial Join [control-flow/blocking_partial_join.xml] +32. Cancelling Partial Join [control-flow/cancelling_partial_join.xml] +33. Generalized AND-Join [control-flow/generalized_and_join.xml] +34. Static Partial Join for Multiple Instances [control-flow/static_partial_join_for_multi_instance.xml] +35. Cancelling Partial Join for Multiple Instances [control-flow/cancelling_partial_join_for_multi_instance.xml] +36. Dynamic Partial Join for Multiple Instances [control-flow/dynamic_partial_join_for_multi_instance.xml] +37. Acyclic Synchronizing Merge [control-flow/acyclic_synchronizing_merge.xml] +38. General Synchronizing Merge [control-flow/general_synchronizing_merge.xml] +39. Critical Section [control-flow/critical_section.xml] +40. Interleaved Routing [control-flow/interleaved_routing.xml] +41. Thread Merge [control-flow/thread_merge.xml] +42. Thread Split [control-flow/thread_split.xml] +43. Explicit Termination [control-flow/explicit_termination.xml] + +Workflow Data Patterns +---------------------- + +1. Task Data [data/task_data.xml] +2. Block Data [data/block_data.xml] +3. *NOT IMPLEMENTED* +4. *NOT IMPLEMENTED* +5. *NOT IMPLEMENTED* +6. *NOT IMPLEMENTED* +7. *NOT IMPLEMENTED* +8. *NOT IMPLEMENTED* +9. Task to Task [data/task_to_task.xml] +10. Block Task to Sub-Workflow Decomposition [data/block_to_subworkflow.xml] +11. Sub-Workflow Decomposition to Block Task [data/subworkflow_to_block.xml] + +Specs that have no corresponding workflow pattern on workflowpatterns.com +------------------------------------------------------------------------- + +- Execute - spawns a subprocess and waits for the results +- Transform - executes commands that can be used for data transforms +- Celery - executes a Celery task (see http://celeryproject.org/) diff --git a/doc/non-bpmn/tutorial/deserialize-wf.py b/doc/non-bpmn/tutorial/deserialize-wf.py new file mode 100644 index 000000000..f45beb307 --- /dev/null +++ b/doc/non-bpmn/tutorial/deserialize-wf.py @@ -0,0 +1,7 @@ +from SpiffWorkflow import Workflow +from SpiffWorkflow.serializer.json import JSONSerializer + +serializer = JSONSerializer() +with open('workflow.json') as fp: + workflow_json = fp.read() +workflow = Workflow.deserialize(serializer, workflow_json) diff --git a/doc/non-bpmn/tutorial/deserialize.py b/doc/non-bpmn/tutorial/deserialize.py new file mode 100644 index 000000000..166f27222 --- /dev/null +++ b/doc/non-bpmn/tutorial/deserialize.py @@ -0,0 +1,7 @@ +from SpiffWorkflow.specs import WorkflowSpec +from SpiffWorkflow.serializer.json import JSONSerializer + +serializer = JSONSerializer() +with open('workflow-spec.json') as fp: + workflow_json = fp.read() +spec = WorkflowSpec.deserialize(serializer, workflow_json) diff --git a/doc/non-bpmn/tutorial/index.rst b/doc/non-bpmn/tutorial/index.rst new file mode 100644 index 000000000..2ba301184 --- /dev/null +++ b/doc/non-bpmn/tutorial/index.rst @@ -0,0 +1,104 @@ +Tutorial - Non-BPMN +=================== + +Introduction +------------ + +In this chapter we are going to use Spiff Workflow to solve a real-world +problem: We will create a workflow for triggering a nuclear strike. + +We are assuming that you are familiar with the :doc:`../basics`. + +Assume you want to send the rockets, but only after both the president and +a general have signed off on it. + +There are two different ways of defining a workflow: Either by deserializing +(from XML or JSON), or using Python. + +Creating the workflow specification (using Python) +-------------------------------------------------- + +As a first step, we are going to create a simple workflow in code. +In Python, the workflow is defined as follows: + +.. literalinclude:: nuclear.py + +Hopefully the code is self explaining. +Using Python to write a workflow can quickly become tedious. It is +usually a better idea to use another format. + +Creating a workflow specification (using JSON) +---------------------------------------------- + +Once you have completed the serializer as shown above, you can +write the specification in JSON. + +Here is an example that is doing exactly the same as the Python +WorkflowSpec above: + +.. literalinclude:: nuclear.json + +Creating a workflow out of the specification +-------------------------------------------- + +Now it is time to get started and actually create and execute +a workflow according to the specification. + +Since we included *manual* tasks in the specification, you will want +to implement a user interface in practice, but we are just going to +assume that all tasks are automatic for this tutorial. +Note that the *manual* flag has no effect on the control flow; it is +just a flag that a user interface may use to identify tasks that +require a user input. + +.. literalinclude:: start.py + +:meth:`SpiffWorkflow.Workflow.complete_all` completes all tasks in +accordance to the specification, until no further tasks are READY +for being executed. +Note that this does not mean that the workflow is completed after +calling :meth:`SpiffWorkflow.Workflow.complete_all`, since some +tasks may be WAITING, or may be blocked by another WAITING task, +for example. + + +Serializing a workflow +---------------------- + +If you want to store a :class:`SpiffWorkflow.specs.WorkflowSpec`, you can +use :meth:`SpiffWorkflow.specs.WorkflowSpec.serialize`: + +.. literalinclude:: serialize.py + +If you want to store a :class:`SpiffWorkflow.Workflow`, use +use :meth:`SpiffWorkflow.Workflow.serialize`: + +.. literalinclude:: serialize-wf.py + +Deserializing a workflow +------------------------ + +The following example shows how to restore a +:class:`SpiffWorkflow.specs.WorkflowSpec` using +:meth:`SpiffWorkflow.specs.WorkflowSpec.serialize`. + +.. literalinclude:: deserialize.py + +To restore a :class:`SpiffWorkflow.Workflow`, use +:meth:`SpiffWorkflow.Workflow.serialize` instead: + +.. literalinclude:: deserialize-wf.py + +Where to go from here? +---------------------- + +This first tutorial actually has a problem: If you want to save the workflow, +SpiffWorkflow won't be able to re-connect the signals because it can not +save the reference to your code. + +So after deserializing the workflow, you will need to re-connect the signals +yourself. + +If you would rather have it such that SpiffWorkflow handles this for you, +you need to create a custom task and tell SpiffWorkflow how to +serialize and deserialize it. The next tutorial shows how this is done. diff --git a/doc/non-bpmn/tutorial/nuclear.json b/doc/non-bpmn/tutorial/nuclear.json new file mode 100644 index 000000000..7f0efb2a8 --- /dev/null +++ b/doc/non-bpmn/tutorial/nuclear.json @@ -0,0 +1,98 @@ +{ + "task_specs": { + "Start": { + "class": "SpiffWorkflow.specs.StartTask.StartTask", + "id" : 1, + "manual": false, + "outputs": [ + 2 + ] + }, + "general": { + "class": "SpiffWorkflow.specs.ExclusiveChoice.ExclusiveChoice", + "name": "general", + "id" : 2, + "manual": true, + "inputs": [ + 1 + ], + "outputs": [ + 5, + 3 + ], + "choice": null, + "default_task_spec": "workflow_aborted", + "cond_task_specs": [ + [ + [ + "SpiffWorkflow.operators.Equal", + [ + [ + "Attrib", + "confirmation" + ], + [ + "value", + "yes" + ] + ] + ], + "president" + ] + ] + }, + "president": { + "class": "SpiffWorkflow.specs.ExclusiveChoice.ExclusiveChoice", + "name": "president", + "id" : 3, + "manual": true, + "inputs": [ + 2 + ], + "outputs": [ + 5, + 4 + ], + "choice": null, + "default_task_spec": "workflow_aborted", + "cond_task_specs": [ + [ + [ + "SpiffWorkflow.operators.Equal", + [ + [ + "Attrib", + "confirmation" + ], + [ + "value", + "yes" + ] + ] + ], + "nuclear_strike" + ] + ] + }, + "nuclear_strike": { + "id" : 4, + "class": "SpiffWorkflow.specs.Simple.Simple", + "name": "nuclear_strike", + "inputs": [ + 3 + ] + }, + "workflow_aborted": { + "id" : 5, + "class": "SpiffWorkflow.specs.Cancel.Cancel", + "name": "workflow_aborted", + "inputs": [ + 2, + 3 + ] + } + }, + "description": "", + "file": null, + "name": "" +} diff --git a/doc/non-bpmn/tutorial/nuclear.py b/doc/non-bpmn/tutorial/nuclear.py new file mode 100644 index 000000000..237901b4f --- /dev/null +++ b/doc/non-bpmn/tutorial/nuclear.py @@ -0,0 +1,36 @@ +from SpiffWorkflow.specs import WorkflowSpec, ExclusiveChoice, Simple, Cancel +from SpiffWorkflow.operators import Equal, Attrib + +def my_nuclear_strike(msg): + print("Launched:", msg) + +class NuclearStrikeWorkflowSpec(WorkflowSpec): + def __init__(self): + WorkflowSpec.__init__(self) + + # The first step of our workflow is to let the general confirm + # the nuclear strike. + general_choice = ExclusiveChoice(self, 'general') + self.start.connect(general_choice) + + # The default choice of the general is to abort. + cancel = Cancel(self, 'workflow_aborted') + general_choice.connect(cancel) + + # Otherwise, we will ask the president to confirm. + president_choice = ExclusiveChoice(self, 'president') + cond = Equal(Attrib('confirmation'), 'yes') + general_choice.connect_if(cond, president_choice) + + # The default choice of the president is to abort. + president_choice.connect(cancel) + + # Otherwise, we will perform the nuclear strike. + strike = Simple(self, 'nuclear_strike') + president_choice.connect_if(cond, strike) + + # Now we connect our Python function to the Task named 'nuclear_strike' + strike.completed_event.connect(my_nuclear_strike) + + # As soon as all tasks are either "completed" or "aborted", the + # workflow implicitely ends. diff --git a/doc/non-bpmn/tutorial/serialize-wf.py b/doc/non-bpmn/tutorial/serialize-wf.py new file mode 100644 index 000000000..73189b1b3 --- /dev/null +++ b/doc/non-bpmn/tutorial/serialize-wf.py @@ -0,0 +1,14 @@ +import json +from SpiffWorkflow import Workflow +from SpiffWorkflow.serializer.json import JSONSerializer +from nuclear import NuclearStrikeWorkflowSpec + +serializer = JSONSerializer() +spec = NuclearStrikeWorkflowSpec() +workflow = Workflow(spec) +data = workflow.serialize(serializer) + +# This next line is unnecessary in practice; it just makes the JSON pretty. +pretty = json.dumps(json.loads(data), indent=4, separators=(',', ': ')) + +open('workflow.json', 'w').write(pretty) diff --git a/doc/non-bpmn/tutorial/serialize.py b/doc/non-bpmn/tutorial/serialize.py new file mode 100644 index 000000000..2e7475ff1 --- /dev/null +++ b/doc/non-bpmn/tutorial/serialize.py @@ -0,0 +1,12 @@ +import json +from SpiffWorkflow.serializer.json import JSONSerializer +from nuclear import NuclearStrikeWorkflowSpec + +serializer = JSONSerializer() +spec = NuclearStrikeWorkflowSpec() +data = spec.serialize(serializer) + +# This next line is unnecessary in practice; it just makes the JSON pretty. +pretty = json.dumps(json.loads(data), indent=4, separators=(',', ': ')) + +open('workflow-spec.json', 'w').write(pretty) diff --git a/doc/non-bpmn/tutorial/start.py b/doc/non-bpmn/tutorial/start.py new file mode 100644 index 000000000..e52b66c63 --- /dev/null +++ b/doc/non-bpmn/tutorial/start.py @@ -0,0 +1,25 @@ +import json +from SpiffWorkflow.workflow import Workflow +from SpiffWorkflow.specs import WorkflowSpec +from SpiffWorkflow.serializer.json import JSONSerializer + +# Load from JSON +with open('nuclear.json') as fp: + workflow_json = fp.read() +serializer = JSONSerializer() +spec = WorkflowSpec.deserialize(serializer, workflow_json) + +# Alternatively, create an instance of the Python based specification. +#from nuclear import NuclearStrikeWorkflowSpec +#spec = NuclearStrikeWorkflowSpec() + +# Create the workflow. +workflow = Workflow(spec) + +# Execute until all tasks are done or require manual intervention. +# For the sake of this tutorial, we ignore the "manual" flag on the +# tasks. In practice, you probably don't want to do that. +workflow.complete_all(halt_on_manual=False) + +# Alternatively, this is what a UI would do for a manual task. +#workflow.complete_task_from_id(...) diff --git a/graphics/business_end.svg b/graphics/business_end.svg new file mode 100644 index 000000000..f01382663 --- /dev/null +++ b/graphics/business_end.svg @@ -0,0 +1,6255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FRONT END + BACK END + BUSINESS END + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FRONT + + BUSINESS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BACK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BUSINESS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BACK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FRONT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FRONT + + BUSINESS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BACK + spiffworkflow-frontend + + spiffworkflow-backend + + + diff --git a/graphics/color_pallet.png b/graphics/color_pallet.png new file mode 100644 index 0000000000000000000000000000000000000000..56b584e00a93ed7edda926817e72ceaf82d410b8 GIT binary patch literal 9619 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 O9C;ZP>3qbqm;V8`jwfOO literal 0 HcmV?d00001 diff --git a/graphics/favicon.ico b/graphics/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d1bb900731545495ae149998e5b71c03985febf6 GIT binary patch literal 4022 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graphics/logo.png b/graphics/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..024caf2f2e1a2eaab396530921b59a618f3ac6d3 GIT binary patch literal 64652 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Draw the code + + diff --git a/graphics/logo2.png b/graphics/logo2.png new file mode 100644 index 0000000000000000000000000000000000000000..78b4bcf2d9d3a06b64cb5c259a2f169bc6654faf GIT binary patch literal 97370 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ŊMNDEdd^tK_Hq0*FpD2Bg=&{rcqE}Qh=<1B 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 literal 0 HcmV?d00001 diff --git a/graphics/logo_icon.png b/graphics/logo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4e102b6d3d006fb3da61302f5ea435bbc9fdcd31 GIT binary patch literal 13670 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 literal 0 HcmV?d00001 diff --git a/graphics/logo_med.png b/graphics/logo_med.png new file mode 100644 index 0000000000000000000000000000000000000000..12ced9f65990859a99019aa0199b14386a98447f GIT binary patch literal 10855 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 u39betz}D&;SmJf>abV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/graphics/spiffworkflow_logo_ideas.svg b/graphics/spiffworkflow_logo_ideas.svg new file mode 100644 index 000000000..28e5d8ac5 --- /dev/null +++ b/graphics/spiffworkflow_logo_ideas.svg @@ -0,0 +1,1033 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SPIFF + + + + + + + + + + + + piffWorkflow + + + + + piffWorkflow + + Draw the code. + + + piffWorkflow + SPIFFWORKFLOW + + Draw the code. + Draw the code. + + + + piffWorkflow + + Draw the code. + + + + piffWorkflow + + Draw the code. + + + + + + + + + SpiffWorkflow + SpiffWorkflow + Draw the code + SpiffWorkflow + piffWorkflow + piffworkflow + Draw the code + Draw the code + + + + + + + + + + + + + + + + + + + + piffWorkflow + Draw the code + + + + + + + + + + + + + + + + + + + + + + Draw the code + + + + + + + + + + + + + + + + Draw the code + + + + + + + + + + + + + + + Draw the code + + + + + + + + + + + + + + + + Draw the code + + + + + Draw the code + + + Draw the code + piff Workflow + + + diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..864b334a8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta:__legacy__" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..63b4abb42 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +# Celery locked to 5.2.3 due to https://github.com/celery/celery/issues/7409 +# Can remove this limitation when bug is resolved, or we drop support for python 3.7 +celery==5.2.3 +coverage +lxml +dateparser +pytz +. diff --git a/scripts/test_times.py b/scripts/test_times.py new file mode 100755 index 000000000..737983fa5 --- /dev/null +++ b/scripts/test_times.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import re +import sys + +def regex_line_parser(pattern, handler): + regex = re.compile(pattern) + def parser(line): + match = regex.match(line) + if match: + return handler(match) + return None + return parser + +def rstripped(match): + return match.group(0).rstrip() + +def tupled(match): + return (match.group(1), match.group(2)) + + +def parse(lines): + test_file = None + timing = None + test_file_timings = [] + + test_file_line_parser = regex_line_parser('.*?Test.py', rstripped) + timing_line_parser = regex_line_parser('Ran (.*) tests? in (.*)', tupled) + + for line in lines: + if test_file is None: + test_file = test_file_line_parser(line) + elif timing is None: + timing = timing_line_parser(line) + + if test_file is not None and timing is not None: + test_file_timings.append((test_file, timing)) + test_file = None + timing = None + + return test_file_timings + +def report(parsed_data): + lines = [ + '| Method | Time | Tests Ran |', + '|----|----|----|', + ] + + sorted_data = sorted(parsed_data, key=lambda d: d[1][1], reverse=True) + for d in sorted_data: + lines.append(f'| {d[0]} | {d[1][1]} | {d[1][0]} |') + + print('\n'.join(lines)) + +if __name__ == '__main__': + data = sys.stdin.readlines() + parsed_data = parse(data) + report(parsed_data) diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..03a0e4eeb --- /dev/null +++ b/setup.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +import pathlib +import sys + +sys.path.insert(0, '.') +sys.path.insert(0, 'SpiffWorkflow') +from setuptools import setup, find_packages + +# The directory containing this file +HERE = pathlib.Path(__file__).parent + +# The text of the README file +README = (HERE / "README.md").read_text() + +setup(name='SpiffWorkflow', + version='1.1.7', + description='A workflow framework and BPMN/DMN Processor', + long_description=README, + long_description_content_type="text/markdown", + author='Sartography', + author_email='dan@sartography.com', + license='lGPLv2', + packages=find_packages(exclude=['tests', 'tests.*']), + install_requires=['configparser', 'lxml', 'celery', 'dateparser', 'pytz', + # required for python 3.7 - https://stackoverflow.com/a/73932581 + 'importlib-metadata<5.0'], + keywords='spiff workflow bpmn engine', + url='https://github.com/sartography/SpiffWorkflow', + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)', + 'Programming Language :: Python', + 'Topic :: Other/Nonlisted Topic', + 'Topic :: Software Development :: Libraries', + 'Topic :: Software Development :: Libraries :: Python Modules' + ]) diff --git a/sonar-project.properties b/sonar-project.properties new file mode 120000 index 000000000..56b26ee9b --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1 @@ +.sonarcloud.properties \ No newline at end of file diff --git a/tests/SpiffWorkflow/ExecuteProcessMock.py b/tests/SpiffWorkflow/ExecuteProcessMock.py new file mode 100644 index 000000000..787ccf415 --- /dev/null +++ b/tests/SpiffWorkflow/ExecuteProcessMock.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- + +import time + + +def main(): + time.sleep(0.5) + print("127.0.0.1") + +if __name__ == "__main__": + main() diff --git a/tests/SpiffWorkflow/PatternTest.py b/tests/SpiffWorkflow/PatternTest.py new file mode 100644 index 000000000..8d11528fd --- /dev/null +++ b/tests/SpiffWorkflow/PatternTest.py @@ -0,0 +1,101 @@ +# -*- coding: utf-8 -*- + +from builtins import object +import sys +import unittest +import os +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) + +from SpiffWorkflow.specs import WorkflowSpec +from SpiffWorkflow.task import Task +from SpiffWorkflow.serializer.prettyxml import XmlSerializer +from tests.SpiffWorkflow.util import run_workflow + + +class WorkflowTestData(object): + + def __init__(self, filename, spec, path, data): + self.filename = filename + self.spec = spec + self.path = path + self.data = data + + +class PatternTest(unittest.TestCase): + maxDiff = None + + def setUp(self): + Task.id_pool = 0 + Task.thread_id_pool = 0 + self.xml_path = ['data/spiff/control-flow', + 'data/spiff/data', + 'data/spiff/resource', + 'data/spiff'] + self.workflows = [] + + for basedir in self.xml_path: + dirname = os.path.join(os.path.dirname(__file__), basedir) + + for filename in os.listdir(dirname): + if not filename.endswith(('.xml', '.py')): + continue + if filename.endswith('__.py'): + continue + filename = os.path.join(dirname, filename) + self.load_workflow_spec(filename) + + def load_workflow_spec(self, filename): + # Load the .path file. + path_file = os.path.splitext(filename)[0] + '.path' + if os.path.exists(path_file): + with open(path_file) as fp: + expected_path = fp.read() + else: + expected_path = None + + # Load the .data file. + data_file = os.path.splitext(filename)[0] + '.data' + if os.path.exists(data_file): + with open(data_file) as fp: + expected_data = fp.read() + else: + expected_data = None + + # Test patterns that are defined in XML format. + if filename.endswith('.xml'): + with open(filename) as fp: + xml = fp.read() + serializer = XmlSerializer() + wf_spec = WorkflowSpec.deserialize( + serializer, xml, filename=filename) + + # Test patterns that are defined in Python. + elif filename.endswith('.py'): + with open(filename) as fp: + code = compile(fp.read(), filename, 'exec') + thedict = {} + result = eval(code, thedict) + wf_spec = thedict['TestWorkflowSpec']() + + else: + raise Exception('unsuported specification format', filename) + + test_data = WorkflowTestData( + filename, wf_spec, expected_path, expected_data) + self.workflows.append(test_data) + + def testWorkflowSpec(self): + for test in self.workflows: + print(test.filename) + run_workflow(self, test.spec, test.path, test.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(PatternTest) +if __name__ == '__main__': + if len(sys.argv) == 2: + test = PatternTest('run_pattern') + test.setUp() + test.run_pattern(sys.argv[1]) + sys.exit(0) + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/PersistSmallWorkflowTest.py b/tests/SpiffWorkflow/PersistSmallWorkflowTest.py new file mode 100644 index 000000000..c580c87d7 --- /dev/null +++ b/tests/SpiffWorkflow/PersistSmallWorkflowTest.py @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os.path +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) + +from SpiffWorkflow.workflow import Workflow +from SpiffWorkflow.specs import Join, MultiChoice, WorkflowSpec +from SpiffWorkflow.operators import Attrib, Equal, PathAttrib +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.specs.Simple import Simple +from SpiffWorkflow.serializer.dict import DictionarySerializer + + +class ASmallWorkflow(WorkflowSpec): + + def __init__(self): + super(ASmallWorkflow, self).__init__(name="asmallworkflow") + + multichoice = MultiChoice(self, 'multi_choice_1') + self.start.connect(multichoice) + + a1 = Simple(self, 'task_a1') + multichoice.connect(a1) + + a2 = Simple(self, 'task_a2') + cond = Equal(Attrib('test_attribute1'), PathAttrib('test/attribute2')) + multichoice.connect_if(cond, a2) + + syncmerge = Join(self, 'struct_synch_merge_1', 'multi_choice_1') + a1.connect(syncmerge) + a2.connect(syncmerge) + + end = Simple(self, 'End') + syncmerge.connect(end) + + +class PersistSmallWorkflowTest(unittest.TestCase): + + """Runs persistency tests agains a small and easy to inspect workflowdefinition""" + + def setUp(self): + self.wf_spec = ASmallWorkflow() + self.workflow = self._advance_to_a1(self.wf_spec) + + def _advance_to_a1(self, wf_spec): + workflow = Workflow(wf_spec) + + tasks = workflow.get_tasks(TaskState.READY) + task_start = tasks[0] + workflow.complete_task_from_id(task_start.id) + + tasks = workflow.get_tasks(TaskState.READY) + multichoice = tasks[0] + workflow.complete_task_from_id(multichoice.id) + + tasks = workflow.get_tasks(TaskState.READY) + task_a1 = tasks[0] + workflow.complete_task_from_id(task_a1.id) + return workflow + + def testDictionarySerializer(self): + """ + Tests the SelectivePickler serializer for persisting Workflows and Tasks. + """ + old_workflow = self.workflow + serializer = DictionarySerializer() + serialized_workflow = old_workflow.serialize(serializer) + + serializer = DictionarySerializer() + new_workflow = Workflow.deserialize(serializer, serialized_workflow) + + before = old_workflow.get_dump() + after = new_workflow.get_dump() + self.assertEqual(before, after) + + def testDeserialization(self): + """ + Tests the that deserialized workflow matches the original workflow + """ + old_workflow = self.workflow + old_workflow.spec.start.set_data(marker=True) + serializer = DictionarySerializer() + serialized_workflow = old_workflow.serialize(serializer) + + serializer = DictionarySerializer() + new_workflow = Workflow.deserialize(serializer, serialized_workflow) + + self.assertEqual( + len(new_workflow.get_tasks()), len(old_workflow.get_tasks())) + self.assertEqual(new_workflow.spec.start.get_data( + 'marker'), old_workflow.spec.start.get_data('marker')) + self.assertEqual( + 1, len([t for t in new_workflow.get_tasks() if t.task_spec.name == 'Start'])) + self.assertEqual( + 1, len([t for t in new_workflow.get_tasks() if t.task_spec.name == 'Root'])) + + def testDeserialization(self): + """ + Tests the that deserialized workflow can be completed. + """ + old_workflow = self.workflow + + old_workflow.complete_next() + self.assertEqual('task_a2', old_workflow.last_task.get_name()) + serializer = DictionarySerializer() + serialized_workflow = old_workflow.serialize(serializer) + + serializer = DictionarySerializer() + new_workflow = Workflow.deserialize(serializer, serialized_workflow) + self.assertEqual('task_a2', old_workflow.last_task.get_name()) + new_workflow.complete_all() + self.assertEqual('task_a2', old_workflow.last_task.get_name()) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(PersistSmallWorkflowTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/TaskTest.py b/tests/SpiffWorkflow/TaskTest.py new file mode 100644 index 000000000..af4f28e33 --- /dev/null +++ b/tests/SpiffWorkflow/TaskTest.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import re +import os.path +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) + +from SpiffWorkflow.task import Task, TaskState, updateDotDict +from SpiffWorkflow.specs import WorkflowSpec, Simple + + +class MockWorkflow(object): + def __init__(self, spec): + self.spec = spec + +class UpdateDotDictTest(unittest.TestCase): + def test_update(self): + res = updateDotDict({}, 'some.thing.here', 'avalue') + self.assertEqual(res, {'some':{'thing': {'here': 'avalue'}}}) + +class TaskTest(unittest.TestCase): + + def setUp(self): + Task.id_pool = 0 + Task.thread_id_pool = 0 + + def testTree(self): + # Build a tree. + spec = WorkflowSpec(name='Mock Workflow') + workflow = MockWorkflow(spec) + task1 = Simple(spec, 'Simple 1') + task2 = Simple(spec, 'Simple 2') + task3 = Simple(spec, 'Simple 3') + task4 = Simple(spec, 'Simple 4') + task5 = Simple(spec, 'Simple 5') + task6 = Simple(spec, 'Simple 6') + task7 = Simple(spec, 'Simple 7') + task8 = Simple(spec, 'Simple 8') + task9 = Simple(spec, 'Simple 9') + root = Task(workflow, task1) + c1 = root._add_child(task2) + c11 = c1._add_child(task3) + c111 = c11._add_child(task4) + c1111 = Task(workflow, task5, c111) + c112 = Task(workflow, task6, c11) + c12 = Task(workflow, task7, c1) + c2 = Task(workflow, task8, root) + c3 = Task(workflow, task9, root) + c3.state = TaskState.COMPLETED + + # Check whether the tree is built properly. + expected = """!/0: Task of Simple 1 State: MAYBE Children: 3 + !/0: Task of Simple 2 State: MAYBE Children: 2 + !/0: Task of Simple 3 State: MAYBE Children: 2 + !/0: Task of Simple 4 State: MAYBE Children: 1 + !/0: Task of Simple 5 State: MAYBE Children: 0 + !/0: Task of Simple 6 State: MAYBE Children: 0 + !/0: Task of Simple 7 State: MAYBE Children: 0 + !/0: Task of Simple 8 State: MAYBE Children: 0 + !/0: Task of Simple 9 State: COMPLETED Children: 0""" + expected = re.compile(expected.replace('!', r'([0-9a-f\-]+)')) + self.assertTrue(expected.match(root.get_dump()), + 'Expected:\n' + repr(expected.pattern) + '\n' + + 'but got:\n' + repr(root.get_dump())) + + # Now remove one line from the expected output for testing the + # filtered iterator. + expected2 = '' + for line in expected.pattern.split('\n'): + if line.find('Simple 9') >= 0: + continue + expected2 += line.lstrip() + '\n' + expected2 = re.compile(expected2) + + # Run the iterator test. + result = '' + for thetask in Task.Iterator(root, Task.MAYBE): + result += thetask.get_dump(0, False) + '\n' + self.assertTrue(expected2.match(result), + 'Expected:\n' + repr(expected2.pattern) + '\n' + + 'but got:\n' + repr(result)) + + +def suite(): + taskSuite = unittest.TestLoader().loadTestsFromTestCase(TaskTest) + updateDotSuite = unittest.TestLoader().loadTestsFromTestCase(UpdateDotDictTest) + return unittest.TestSuite([taskSuite, updateDotSuite]) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/WorkflowTest.py b/tests/SpiffWorkflow/WorkflowTest.py new file mode 100644 index 000000000..e47f069da --- /dev/null +++ b/tests/SpiffWorkflow/WorkflowTest.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +data_dir = os.path.join(os.path.dirname(__file__), 'data') +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) + +from SpiffWorkflow.workflow import Workflow +from SpiffWorkflow.specs import Cancel, Simple, WorkflowSpec +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.serializer.prettyxml import XmlSerializer + + +class WorkflowTest(unittest.TestCase): + + def testConstructor(self): + wf_spec = WorkflowSpec() + wf_spec.start.connect(Cancel(wf_spec, 'name')) + workflow = Workflow(wf_spec) + + def testBeginWorkflowStepByStep(self): + """ + Simulates interactive calls, as would be issued by a user. + """ + xml_file = os.path.join(data_dir, 'spiff', 'workflow1.xml') + with open(xml_file) as fp: + xml = fp.read() + wf_spec = WorkflowSpec.deserialize(XmlSerializer(), xml) + workflow = Workflow(wf_spec) + + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 1) + self.assertEqual(tasks[0].task_spec.name, 'Start') + workflow.complete_task_from_id(tasks[0].id) + self.assertEqual(tasks[0].state, TaskState.COMPLETED) + + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 2) + task_a1 = tasks[0] + task_b1 = tasks[1] + self.assertEqual(task_a1.task_spec.__class__, Simple) + self.assertEqual(task_a1.task_spec.name, 'task_a1') + self.assertEqual(task_b1.task_spec.__class__, Simple) + self.assertEqual(task_b1.task_spec.name, 'task_b1') + workflow.complete_task_from_id(task_a1.id) + self.assertEqual(task_a1.state, TaskState.COMPLETED) + + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 2) + self.assertTrue(task_b1 in tasks) + task_a2 = tasks[0] + self.assertEqual(task_a2.task_spec.__class__, Simple) + self.assertEqual(task_a2.task_spec.name, 'task_a2') + workflow.complete_task_from_id(task_a2.id) + + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 1) + self.assertTrue(task_b1 in tasks) + + workflow.complete_task_from_id(task_b1.id) + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 1) + workflow.complete_task_from_id(tasks[0].id) + + tasks = workflow.get_tasks(TaskState.READY) + self.assertEqual(len(tasks), 1) + self.assertEqual(tasks[0].task_spec.name, 'synch_1') + # haven't reached the end of the workflow, but stopping at "synch_1" + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(WorkflowTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/__init__.py b/tests/SpiffWorkflow/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/bpmn/AntiLoopTaskTest.py b/tests/SpiffWorkflow/bpmn/AntiLoopTaskTest.py new file mode 100644 index 000000000..c398ca834 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/AntiLoopTaskTest.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + + + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.exceptions import WorkflowException +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class AntiLoopTaskTest(BpmnWorkflowTestCase): + """The example bpmn is actually a MultiInstance. It should not report that it is a looping task and + it should fail when we try to terminate the loop""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('bpmnAntiLoopTask.bpmn','LoopTaskTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertTrue(len(ready_tasks) ==1) + self.assertFalse(ready_tasks[0].task_spec.is_loop_task()) + try: + ready_tasks[0].terminate_loop() + self.fail("Terminate Loop should throw and error when called on a non-loop MultiInstance") + except WorkflowException as ex: + self.assertTrue( + 'The method terminate_loop should only be called in the case of a BPMN Loop Task' in ( + '%r' % ex), + '\'The method terminate_loop should only be called in the case of a BPMN Loop Task\' should be a substring of error message: \'%r\'' % ex) + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(AntiLoopTaskTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ApprovalsTest.py b/tests/SpiffWorkflow/bpmn/ApprovalsTest.py new file mode 100644 index 000000000..19f493806 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ApprovalsTest.py @@ -0,0 +1,202 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ApprovalsTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Approvals.bpmn', 'Approvals') + # Start (StartTask:0xb6b4204cL) + # --> Approvals.First_Approval_Wins (CallActivity) + # --> Start (StartTask:0xb6b4266cL) + # | --> First_Approval_Wins.Supervisor_Approval (ManualTask) + # | | --> First_Approval_Wins.Supervisor_Approved (EndEvent) + # | | --> First_Approval_Wins.EndJoin (EndJoin) + # | | --> End (Simple) + # | --> First_Approval_Wins.Manager_Approval (ManualTask) + # | --> First_Approval_Wins.Manager_Approved (EndEvent) + # | --> [shown earlier] First_Approval_Wins.EndJoin (EndJoin) + # --> Approvals.First_Approval_Wins_Done (ManualTask) + # --> Approvals.Gateway4 (ParallelGateway) + # --> Approvals.Manager_Approval__P_ (ManualTask) + # | --> Approvals.Gateway5 (ParallelGateway) + # | --> Approvals.Parallel_Approvals_Done (ManualTask) + # | --> Approvals.Parallel_SP (CallActivity) + # | --> Start (StartTask) + # | | --> Parallel_Approvals_SP.Step1 (ManualTask) + # | | | --> Parallel_Approvals_SP.Supervisor_Approval (ManualTask) + # | | | --> Parallel_Approvals_SP.End2 (EndEvent) + # | | | --> Parallel_Approvals_SP.EndJoin (EndJoin) + # | | | --> End (Simple) + # | | --> Parallel_Approvals_SP.Manager_Approval (ManualTask) + # | | --> [shown earlier] Parallel_Approvals_SP.End2 (EndEvent) + # | --> Approvals.Parallel_SP_Done (ManualTask) + # | --> Approvals.End1 (EndEvent) + # | --> Approvals.EndJoin (EndJoin) + # | --> End (Simple) + # --> Approvals.Supervisor_Approval__P_ (ManualTask) + # --> [shown earlier] Approvals.Gateway5 (ParallelGateway) + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.do_next_named_step('First_Approval_Wins.Manager_Approval') + self.do_next_exclusive_step('Approvals.First_Approval_Wins_Done') + + self.do_next_named_step('Approvals.Manager_Approval__P_') + self.do_next_named_step('Approvals.Supervisor_Approval__P_') + self.do_next_exclusive_step('Approvals.Parallel_Approvals_Done') + + self.do_next_named_step('Parallel_Approvals_SP.Step1') + self.do_next_named_step('Parallel_Approvals_SP.Manager_Approval') + self.do_next_named_step('Parallel_Approvals_SP.Supervisor_Approval') + self.do_next_exclusive_step('Approvals.Parallel_SP_Done') + + def testRunThroughHappyOtherOrders(self): + + self.do_next_named_step('First_Approval_Wins.Supervisor_Approval') + self.do_next_exclusive_step('Approvals.First_Approval_Wins_Done') + + self.do_next_named_step('Approvals.Supervisor_Approval__P_') + self.do_next_named_step('Approvals.Manager_Approval__P_') + self.do_next_exclusive_step('Approvals.Parallel_Approvals_Done') + + self.do_next_named_step('Parallel_Approvals_SP.Manager_Approval') + self.do_next_named_step('Parallel_Approvals_SP.Step1') + self.do_next_named_step('Parallel_Approvals_SP.Supervisor_Approval') + self.do_next_exclusive_step('Approvals.Parallel_SP_Done') + + def testSaveRestore(self): + + self.do_next_named_step('First_Approval_Wins.Manager_Approval') + self.save_restore() + self.do_next_exclusive_step('Approvals.First_Approval_Wins_Done') + + self.save_restore() + self.do_next_named_step('Approvals.Supervisor_Approval__P_') + self.do_next_named_step('Approvals.Manager_Approval__P_') + self.do_next_exclusive_step('Approvals.Parallel_Approvals_Done') + + self.save_restore() + self.do_next_named_step('Parallel_Approvals_SP.Manager_Approval') + self.do_next_exclusive_step('Parallel_Approvals_SP.Step1') + self.do_next_exclusive_step( + 'Parallel_Approvals_SP.Supervisor_Approval') + self.do_next_exclusive_step('Approvals.Parallel_SP_Done') + + def testSaveRestoreWaiting(self): + + self.do_next_named_step('First_Approval_Wins.Manager_Approval') + self.save_restore() + self.do_next_exclusive_step('Approvals.First_Approval_Wins_Done') + + self.save_restore() + self.do_next_named_step('Approvals.Supervisor_Approval__P_') + self.save_restore() + self.do_next_named_step('Approvals.Manager_Approval__P_') + self.save_restore() + self.do_next_exclusive_step('Approvals.Parallel_Approvals_Done') + + self.save_restore() + self.do_next_named_step('Parallel_Approvals_SP.Manager_Approval') + self.save_restore() + self.do_next_exclusive_step('Parallel_Approvals_SP.Step1') + self.save_restore() + self.do_next_exclusive_step( + 'Parallel_Approvals_SP.Supervisor_Approval') + self.save_restore() + self.do_next_exclusive_step('Approvals.Parallel_SP_Done') + + def testReadonlyWaiting(self): + + self.do_next_named_step('First_Approval_Wins.Manager_Approval') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Approvals.First_Approval_Wins_Done', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises(AssertionError, readonly.do_engine_steps) + self.assertRaises(AssertionError, readonly.refresh_waiting_tasks) + self.assertRaises(AssertionError, readonly.catch, MessageEventDefinition('Cheese')) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + + self.do_next_exclusive_step('Approvals.First_Approval_Wins_Done') + + readonly = self.get_read_only_workflow() + self.assertEqual(2, len(readonly.get_ready_user_tasks())) + self.assertEqual( + ['Approvals.Manager_Approval__P_', + 'Approvals.Supervisor_Approval__P_'], + sorted(t.task_spec.name for t in readonly.get_ready_user_tasks())) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + + self.do_next_named_step('Approvals.Supervisor_Approval__P_') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Approvals.Manager_Approval__P_', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_named_step('Approvals.Manager_Approval__P_') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Approvals.Parallel_Approvals_Done', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_exclusive_step('Approvals.Parallel_Approvals_Done') + + readonly = self.get_read_only_workflow() + self.assertEqual(2, len(readonly.get_ready_user_tasks())) + self.assertEqual( + ['Parallel_Approvals_SP.Manager_Approval', + 'Parallel_Approvals_SP.Step1'], + sorted(t.task_spec.name for t in readonly.get_ready_user_tasks())) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_named_step('Parallel_Approvals_SP.Manager_Approval') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Parallel_Approvals_SP.Step1', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_exclusive_step('Parallel_Approvals_SP.Step1') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Parallel_Approvals_SP.Supervisor_Approval', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_exclusive_step( + 'Parallel_Approvals_SP.Supervisor_Approval') + + readonly = self.get_read_only_workflow() + self.assertEqual(1, len(readonly.get_ready_user_tasks())) + self.assertEqual('Approvals.Parallel_SP_Done', + readonly.get_ready_user_tasks()[0].task_spec.name) + self.assertRaises( + AssertionError, readonly.get_ready_user_tasks()[0].complete) + self.do_next_exclusive_step('Approvals.Parallel_SP_Done') + + readonly = self.get_read_only_workflow() + self.assertEqual(0, len(readonly.get_ready_user_tasks())) + self.assertEqual(0, len(readonly.get_waiting_tasks())) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ApprovalsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/BaseParallelTestCase.py b/tests/SpiffWorkflow/bpmn/BaseParallelTestCase.py new file mode 100644 index 000000000..80fc5ff7b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BaseParallelTestCase.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +from builtins import range +import unittest +import logging +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class BaseParallelTestCase(BpmnWorkflowTestCase): + + def _do_test(self, order, only_one_instance=True, save_restore=False): + + self.workflow.do_engine_steps() + for s in order: + choice = None + if isinstance(s, tuple): + s, choice = s + if s.startswith('!'): + logging.info("Checking that we cannot do '%s'", s[1:]) + self.assertRaises( + AssertionError, self.do_next_named_step, s[1:], choice=choice) + else: + if choice is not None: + logging.info( + "Doing step '%s' (with choice='%s')", s, choice) + else: + logging.info("Doing step '%s'", s) + # logging.debug(self.workflow.get_dump()) + self.do_next_named_step( + s, choice=choice, only_one_instance=only_one_instance) + self.workflow.do_engine_steps() + if save_restore: + # logging.debug("Before SaveRestore: \n%s" % + # self.workflow.get_dump()) + self.save_restore() + + self.workflow.do_engine_steps() + unfinished = self.workflow.get_tasks(TaskState.READY | TaskState.WAITING) + if unfinished: + logging.debug("Unfinished tasks: %s", unfinished) + logging.debug(self.workflow.get_dump()) + self.assertEqual(0, len(unfinished)) + diff --git a/tests/SpiffWorkflow/bpmn/BoxDeepCopyTest.py b/tests/SpiffWorkflow/bpmn/BoxDeepCopyTest.py new file mode 100644 index 000000000..9ebade906 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BoxDeepCopyTest.py @@ -0,0 +1,26 @@ +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import Box + + +class BoxDeepCopyTest(unittest.TestCase): + + def test_deep_copy_of_box(self): + data = {"foods": { + "spam": {"delicious": False} + }, + "hamsters": ['your', 'mother'] + } + data = Box(data) + data2 = data.__deepcopy__() + self.assertEqual(data, data2) + data.foods.spam.delicious = True + data.hamsters = ['your', 'father'] + self.assertFalse(data2.foods.spam.delicious) + self.assertEqual(['your', 'mother'], data2.hamsters) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BoxDeepCopyTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/BpmnLoaderForTests.py b/tests/SpiffWorkflow/bpmn/BpmnLoaderForTests.py new file mode 100644 index 000000000..7a407cc7f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BpmnLoaderForTests.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- + +from SpiffWorkflow.bpmn.specs.ExclusiveGateway import ExclusiveGateway +from SpiffWorkflow.bpmn.specs.UserTask import UserTask +from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnParser +from SpiffWorkflow.bpmn.parser.task_parsers import ExclusiveGatewayParser, UserTaskParser +from SpiffWorkflow.bpmn.parser.util import full_tag + +from SpiffWorkflow.bpmn.serializer.bpmn_converters import BpmnTaskSpecConverter + +# Many of our tests relied on the Packager to set the calledElement attribute on +# Call Activities. I've moved that code to a customized parser. +from SpiffWorkflow.signavio.parser import CallActivityParser +from SpiffWorkflow.bpmn.specs.SubWorkflowTask import CallActivity + +__author__ = 'matth' + +# This provides some extensions to the BPMN parser that make it easier to +# implement testcases + + +class TestUserTask(UserTask): + + def get_user_choices(self): + if not self.outputs: + return [] + assert len(self.outputs) == 1 + next_node = self.outputs[0] + if isinstance(next_node, ExclusiveGateway): + return next_node.get_outgoing_sequence_names() + return self.get_outgoing_sequence_names() + + def do_choice(self, task, choice): + task.set_data(choice=choice) + task.complete() + + @classmethod + def deserialize(self, serializer, wf_spec, s_state): + return serializer.deserialize_generic(wf_spec, s_state, TestUserTask) + +class TestExclusiveGatewayParser(ExclusiveGatewayParser): + + def parse_condition(self, sequence_flow_node): + cond = super().parse_condition(sequence_flow_node) + if cond is not None: + return cond + return "choice == '%s'" % sequence_flow_node.get('name', None) + +class TestUserTaskConverter(BpmnTaskSpecConverter): + + def __init__(self, data_converter=None): + super().__init__(TestUserTask, data_converter) + + def to_dict(self, spec): + dct = self.get_default_attributes(spec) + dct.update(self.get_bpmn_attributes(spec)) + return dct + + def from_dict(self, dct): + return self.task_spec_from_dict(dct) + + +class TestBpmnParser(BpmnParser): + OVERRIDE_PARSER_CLASSES = { + full_tag('userTask'): (UserTaskParser, TestUserTask), + full_tag('exclusiveGateway'): (TestExclusiveGatewayParser, ExclusiveGateway), + full_tag('callActivity'): (CallActivityParser, CallActivity) + } + diff --git a/tests/SpiffWorkflow/bpmn/BpmnSerializerTest.py b/tests/SpiffWorkflow/bpmn/BpmnSerializerTest.py new file mode 100644 index 000000000..a8b6ebd53 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BpmnSerializerTest.py @@ -0,0 +1,118 @@ +import os +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.serializer.BpmnSerializer import BpmnSerializer +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from .BpmnLoaderForTests import TestBpmnParser + + +class BpmnSerializerTest(unittest.TestCase): + CORRELATE = BpmnSerializer + + def load_workflow_spec(self, filename, process_name): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = TestBpmnParser() + parser.add_bpmn_files_by_glob(f) + top_level_spec = parser.get_spec(process_name) + subprocesses = parser.get_subprocess_specs(process_name) + return top_level_spec, subprocesses + + def setUp(self): + super(BpmnSerializerTest, self).setUp() + self.serializer = BpmnSerializer() + self.spec, subprocesses = self.load_workflow_spec('random_fact.bpmn', 'random_fact') + self.workflow = BpmnWorkflow(self.spec, subprocesses) + + def testDeserializeWorkflowSpec(self): + self.assertIsNotNone(self.spec) + + def testSerializeWorkflowSpec(self): + spec_serialized = self.serializer.serialize_workflow_spec(self.spec) + result = self.serializer.deserialize_workflow_spec(spec_serialized) + spec_serialized2 = self.serializer.serialize_workflow_spec(result) + self.assertEqual(spec_serialized, spec_serialized2) + + def testSerializeWorkflow(self): + json = self.serializer.serialize_workflow(self.workflow) + print(json) + + def testDeserializeWorkflow(self): + self._compare_with_deserialized_copy(self.workflow) + + def testDeserializeCallActivityChildren(self): + """Tested as a part of deserialize workflow.""" + pass + + def testSerializeTask(self): + json = self.serializer.serialize_workflow(self.workflow) + print(json) + + def testDeserializeTask(self): + self._compare_with_deserialized_copy(self.workflow) + + def testDeserializeActiveWorkflow(self): + self.workflow.do_engine_steps() + self._compare_with_deserialized_copy(self.workflow) + + def testDeserializeWithData(self): + self.workflow.data["test"] = "my_test" + json = self.serializer.serialize_workflow(self.workflow) + wf2 = self.serializer.deserialize_workflow(json, workflow_spec=self.spec) + self.assertEqual('my_test', wf2.get_data("test")) + + def testDeserializeWithDefaultScriptEngineClass(self): + json = self.serializer.serialize_workflow(self.workflow) + wf2 = self.serializer.deserialize_workflow(json, workflow_spec=self.spec) + self.assertIsNotNone(self.workflow.script_engine) + self.assertIsNotNone(wf2.script_engine) + self.assertEqual(self.workflow.script_engine.__class__, + wf2.script_engine.__class__) + + @unittest.skip("Deserialize does not persist the script engine, Fix me.") + def testDeserializeWithCustomScriptEngine(self): + class CustomScriptEngine(PythonScriptEngine): + pass + + self.workflow.script_engine = CustomScriptEngine() + json = self.serializer.serialize_workflow(self.workflow) + wf2 = self.serializer.deserialize_workflow(json, workflow_spec=self.spec) + self.assertEqual(self.workflow.script_engine.__class__, + wf2.script_engine.__class__) + + def testDeserializeWithDataOnTask(self): + self.workflow.do_engine_steps() + user_task = self.workflow.get_ready_user_tasks()[0] + user_task.data = {"test":"my_test"} + self._compare_with_deserialized_copy(self.workflow) + + def testLastTaskIsSetAndWorksThroughRestore(self): + self.workflow.do_engine_steps() + json = self.serializer.serialize_workflow(self.workflow) + wf2 = self.serializer.deserialize_workflow(json, workflow_spec=self.spec) + self.assertIsNotNone(self.workflow.last_task) + self.assertIsNotNone(wf2.last_task) + self._compare_workflows(self.workflow, wf2) + + def _compare_with_deserialized_copy(self, wf): + json = self.serializer.serialize_workflow(wf) + wf2 = self.serializer.deserialize_workflow(json, workflow_spec=self.spec) + self._compare_workflows(wf, wf2) + + def _compare_workflows(self, w1, w2): + self.assertIsInstance(w1, BpmnWorkflow) + self.assertIsInstance(w2, BpmnWorkflow) + self.assertEqual(w1.data, w2.data) + self.assertEqual(w1.name, w2.name) + for task in w1.get_ready_user_tasks(): + w2_task = w2.get_task(task.id) + self.assertIsNotNone(w2_task) + self.assertEqual(task.data, w2_task.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BpmnSerializerTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/BpmnWorkflowSerializerTest.py b/tests/SpiffWorkflow/bpmn/BpmnWorkflowSerializerTest.py new file mode 100644 index 000000000..d0d1a9479 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BpmnWorkflowSerializerTest.py @@ -0,0 +1,216 @@ +import os +import unittest +import json +from uuid import uuid4 + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnParser +from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer +from SpiffWorkflow.bpmn.serializer.BpmnSerializer import BpmnSerializer +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnLoaderForTests import TestUserTaskConverter + + +class BpmnWorkflowSerializerTest(unittest.TestCase): + """Please note that the BpmnSerializer is Deprecated.""" + SERIALIZER_VERSION = "100.1.ANY" + + def load_workflow_spec(self, filename, process_name): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = BpmnParser() + parser.add_bpmn_files_by_glob(f) + top_level_spec = parser.get_spec(process_name) + subprocesses = parser.get_subprocess_specs(process_name) + return top_level_spec, subprocesses + + def setUp(self): + super(BpmnWorkflowSerializerTest, self).setUp() + wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([TestUserTaskConverter]) + self.serializer = BpmnWorkflowSerializer(wf_spec_converter, version=self.SERIALIZER_VERSION) + spec, subprocesses = self.load_workflow_spec('random_fact.bpmn', 'random_fact') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testSerializeWorkflowSpec(self): + spec_serialized = self.serializer.serialize_json(self.workflow) + result = self.serializer.deserialize_json(spec_serialized) + spec_serialized2 = self.serializer.serialize_json(result) + self.assertEqual(spec_serialized, spec_serialized2) + + def testSerializeWorkflowSpecWithGzip(self): + spec_serialized = self.serializer.serialize_json(self.workflow, use_gzip=True) + result = self.serializer.deserialize_json(spec_serialized, use_gzip=True) + spec_serialized2 = self.serializer.serialize_json(result, use_gzip=True) + self.assertEqual(spec_serialized, spec_serialized2) + + def testSerlializePerservesVersion(self): + spec_serialized = self.serializer.serialize_json(self.workflow) + version = self.serializer.get_version(spec_serialized) + self.assertEqual(version, self.SERIALIZER_VERSION) + + def testSerializeToOldSerializerThenNewSerializer(self): + old_serializer = BpmnSerializer() + old_json = old_serializer.serialize_workflow(self.workflow) + new_workflow = old_serializer.deserialize_workflow(old_json) + new_json = self.serializer.serialize_json(new_workflow) + new_workflow_2 = self.serializer.deserialize_json(new_json) + + def testSerializeWorkflow(self): + serialized = self.serializer.serialize_json(self.workflow) + json.loads(serialized) + + def testSerializeWorkflowCustomJSONEncoderDecoder(self): + class MyCls: + a = 1 + def to_dict(self): + return {'a': 1, 'my_type': 'mycls'} + + @classmethod + def from_dict(self, data): + return MyCls() + + class MyJsonEncoder(json.JSONEncoder): + def default(self, z): + if isinstance(z, MyCls): + return z.to_dict() + return super().default(z) + + class MyJsonDecoder(json.JSONDecoder): + classes = {'mycls': MyCls} + + def __init__(self, *args, **kwargs): + super().__init__(object_hook=self.object_hook, *args, **kwargs) + + def object_hook(self, z): + if 'my_type' in z and z['my_type'] in self.classes: + return self.classes[z['my_type']].from_dict(z) + + return z + + unserializable = MyCls() + + a_task_spec = self.workflow.spec.task_specs[list(self.workflow.spec.task_specs)[0]] + a_task = self.workflow.get_tasks_from_spec_name(a_task_spec.name)[0] + a_task.data['jsonTest'] = unserializable + + try: + self.assertRaises(TypeError, self.serializer.serialize_json, self.workflow) + wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([TestUserTaskConverter]) + custom_serializer = BpmnWorkflowSerializer(wf_spec_converter, version=self.SERIALIZER_VERSION,json_encoder_cls=MyJsonEncoder, json_decoder_cls=MyJsonDecoder) + serialized_workflow = custom_serializer.serialize_json(self.workflow) + finally: + a_task.data.pop('jsonTest',None) + + serialized_task = [x for x in json.loads(serialized_workflow)['tasks'].values() if x['task_spec'] == a_task_spec.name][0] + self.assertEqual(serialized_task['data']['jsonTest'], {'a': 1, 'my_type': 'mycls'}) + + deserialized_workflow = custom_serializer.deserialize_json(serialized_workflow) + deserialized_task = deserialized_workflow.get_tasks_from_spec_name(a_task_spec.name)[0] + self.assertTrue(isinstance(deserialized_task.data['jsonTest'], MyCls)) + + def testDeserializeWorkflow(self): + self._compare_with_deserialized_copy(self.workflow) + + def testSerializeTask(self): + self.serializer.serialize_json(self.workflow) + + def testDeserializeTask(self): + self._compare_with_deserialized_copy(self.workflow) + + def testDeserializeActiveWorkflow(self): + self.workflow.do_engine_steps() + self._compare_with_deserialized_copy(self.workflow) + + def testDeserializeWithData(self): + self.workflow.data["test"] = "my_test" + json = self.serializer.serialize_json(self.workflow) + wf2 = self.serializer.deserialize_json(json) + self.assertEqual('my_test', wf2.get_data("test")) + + def testDeserializeWithDefaultScriptEngineClass(self): + json = self.serializer.serialize_json(self.workflow) + wf2 = self.serializer.deserialize_json(json) + self.assertIsNotNone(self.workflow.script_engine) + self.assertIsNotNone(wf2.script_engine) + self.assertEqual(self.workflow.script_engine.__class__, + wf2.script_engine.__class__) + + @unittest.skip("Deserialize does not persist the script engine, Fix me.") + def testDeserializeWithCustomScriptEngine(self): + class CustomScriptEngine(PythonScriptEngine): + pass + + self.workflow.script_engine = CustomScriptEngine() + dct = self.serializer.serialize_json(self.workflow) + wf2 = self.serializer.deserialize_json(dct) + self.assertEqual(self.workflow.script_engine.__class__, + wf2.script_engine.__class__) + + def testDeserializeWithDataOnTask(self): + self.workflow.do_engine_steps() + user_task = self.workflow.get_ready_user_tasks()[0] + user_task.data = {"test":"my_test"} + self._compare_with_deserialized_copy(self.workflow) + + def testSerializeIgnoresCallable(self): + self.workflow.do_engine_steps() + user_task = self.workflow.get_ready_user_tasks()[0] + def f(n): + return n + 1 + user_task.data = { 'f': f } + task_id = str(user_task.id) + dct = self.serializer.workflow_to_dict(self.workflow) + self.assertNotIn('f', dct['tasks'][task_id]['data']) + + def testLastTaskIsSetAndWorksThroughRestore(self): + self.workflow.do_engine_steps() + json = self.serializer.serialize_json(self.workflow) + wf2 = self.serializer.deserialize_json(json) + self.assertIsNotNone(self.workflow.last_task) + self.assertIsNotNone(wf2.last_task) + self._compare_workflows(self.workflow, wf2) + + def test_convert_1_0_to_1_1(self): + # The serialization used here comes from NestedSubprocessTest saved at line 25 with version 1.0 + fn = os.path.join(os.path.dirname(__file__), 'data', 'serialization', 'v1.0.json') + wf = self.serializer.deserialize_json(open(fn).read()) + # We should be able to finish the workflow from this point + ready_tasks = wf.get_tasks(TaskState.READY) + self.assertEqual('Action3', ready_tasks[0].task_spec.description) + ready_tasks[0].complete() + wf.do_engine_steps() + self.assertEqual(True, wf.is_completed()) + + def test_serialize_workflow_where_script_task_includes_function(self): + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + ready_tasks[0].complete() + self.workflow.do_engine_steps() + results = self.serializer.serialize_json(self.workflow) + assert self.workflow.is_completed() + assert 'y' in self.workflow.last_task.data + assert 'x' not in self.workflow.last_task.data + assert 'some_fun' not in self.workflow.last_task.data + + def _compare_with_deserialized_copy(self, wf): + json = self.serializer.serialize_json(wf) + wf2 = self.serializer.deserialize_json(json) + self._compare_workflows(wf, wf2) + + def _compare_workflows(self, w1, w2): + self.assertIsInstance(w1, BpmnWorkflow) + self.assertIsInstance(w2, BpmnWorkflow) + self.assertEqual(w1.data, w2.data) + self.assertEqual(w1.name, w2.name) + for task in w1.get_ready_user_tasks(): + w2_task = w2.get_task(task.id) + self.assertIsNotNone(w2_task) + self.assertEqual(task.data, w2_task.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BpmnWorkflowSerializerTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/BpmnWorkflowTestCase.py b/tests/SpiffWorkflow/bpmn/BpmnWorkflowTestCase.py new file mode 100644 index 000000000..cb788eb32 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/BpmnWorkflowTestCase.py @@ -0,0 +1,139 @@ +# -*- coding: utf-8 -*- + +import json +import os +import unittest + +from SpiffWorkflow.task import TaskState + +from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer +from .BpmnLoaderForTests import TestUserTaskConverter, TestBpmnParser + +__author__ = 'matth' + + +wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([TestUserTaskConverter]) + +class BpmnWorkflowTestCase(unittest.TestCase): + + serializer = BpmnWorkflowSerializer(wf_spec_converter) + + def load_workflow_spec(self, filename, process_name): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = TestBpmnParser() + parser.add_bpmn_files_by_glob(f) + top_level_spec = parser.get_spec(process_name) + subprocesses = parser.get_subprocess_specs(process_name) + return top_level_spec, subprocesses + + def load_collaboration(self, filename, collaboration_name): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = TestBpmnParser() + parser.add_bpmn_files_by_glob(f) + return parser.get_collaboration(collaboration_name) + + def get_all_specs(self, filename): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = TestBpmnParser() + parser.add_bpmn_files_by_glob(f) + return parser.find_all_specs() + + def do_next_exclusive_step(self, step_name, with_save_load=False, set_attribs=None, choice=None): + if with_save_load: + self.save_restore_all() + + self.workflow.do_engine_steps() + tasks = self.workflow.get_tasks(TaskState.READY) + self._do_single_step(step_name, tasks, set_attribs, choice) + + def do_next_named_step(self, step_name, with_save_load=False, set_attribs=None, choice=None, only_one_instance=True): + if with_save_load: + self.save_restore() + + self.workflow.do_engine_steps() + step_name_path = step_name.split("|") + + def switch_workflow(p): + for task_id, sp in p.workflow._get_outermost_workflow().subprocesses.items(): + if p in sp.get_tasks(workflow=sp): + return p.workflow.get_task(task_id) + + def is_match(t): + if not (t.task_spec.name == step_name_path[-1] or t.task_spec.description == step_name_path[-1]): + return False + for parent_name in step_name_path[:-1]: + p = t.parent + found = False + while (p and p != p.parent): + if (p.task_spec.name == parent_name or p.task_spec.description == parent_name): + found = True + break + if p.parent is None and p.workflow != p.workflow.outer_workflow: + p = switch_workflow(p) + else: + p = p.parent + if not found: + return False + return True + + tasks = list( + [t for t in self.workflow.get_tasks(TaskState.READY) if is_match(t)]) + + self._do_single_step( + step_name_path[-1], tasks, set_attribs, choice, only_one_instance=only_one_instance) + + def assertTaskNotReady(self, step_name): + tasks = list([t for t in self.workflow.get_tasks(TaskState.READY) + if t.task_spec.name == step_name or t.task_spec.description == step_name]) + self.assertEqual([], tasks) + + def _do_single_step(self, step_name, tasks, set_attribs=None, choice=None, only_one_instance=True): + + if only_one_instance: + self.assertEqual( + len(tasks), 1, 'Did not find one task for \'%s\' (got %d)' % (step_name, len(tasks))) + else: + self.assertNotEqual( + len(tasks), 0, 'Did not find any tasks for \'%s\'' % (step_name)) + + self.assertTrue( + tasks[0].task_spec.name == step_name or tasks[ + 0].task_spec.description == step_name, + 'Expected step %s, got %s (%s)' % (step_name, tasks[0].task_spec.description, tasks[0].task_spec.name)) + if not set_attribs: + set_attribs = {} + + if choice: + set_attribs['choice'] = choice + + if set_attribs: + tasks[0].set_data(**set_attribs) + tasks[0].complete() + + def save_restore(self): + + before_state = self._get_workflow_state(do_steps=False) + before_dump = self.workflow.get_dump() + # Check that we can actully convert this to JSON + json_str = json.dumps(before_state) + after = self.serializer.workflow_from_dict(json.loads(json_str), read_only=False) + # Check that serializing and deserializing results in the same workflow + after_state = self.serializer.workflow_to_dict(after) + after_dump = after.get_dump() + self.maxDiff = None + self.assertEqual(before_dump, after_dump) + self.assertEqual(before_state, after_state) + self.workflow = after + + def restore(self, state): + self.workflow = self.serializer.workflow_from_dict(state, read_only=False) + + def get_read_only_workflow(self): + state = self._get_workflow_state() + return self.serializer.workflow_from_dict(state, read_only=True) + + def _get_workflow_state(self, do_steps=True): + if do_steps: + self.workflow.do_engine_steps() + self.workflow.refresh_waiting_tasks() + return self.serializer.workflow_to_dict(self.workflow) diff --git a/tests/SpiffWorkflow/bpmn/CallActivityEndEventTest.py b/tests/SpiffWorkflow/bpmn/CallActivityEndEventTest.py new file mode 100644 index 000000000..f3d1522da --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/CallActivityEndEventTest.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class CallActivityTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('call_activity_*.bpmn', 'Process_8200379') + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + + def testCallActivityHasSameScriptEngine(self): + self.runCallActivityWithCustomScript() + + def testCallActivityHasSameScriptEngineAfterSaveRestore(self): + self.runCallActivityWithCustomScript(save_restore=True) + + def runCallActivityWithCustomScript(self, save_restore=False): + class CustomScriptEngine(PythonScriptEngine): + pass + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses, + script_engine=CustomScriptEngine()) + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + self.assertIsInstance(self.workflow.script_engine, CustomScriptEngine) + + if save_restore: + self.save_restore() + # We have to reset the script engine after deserialize. + self.workflow.script_engine = CustomScriptEngine() + + # Get the subworkflow + sub_task = self.workflow.get_tasks_from_spec_name('Sub_Bpmn_Task')[0] + sub_workflow = sub_task.workflow + self.assertNotEqual(sub_workflow, self.workflow) + self.assertIsInstance(self.workflow.script_engine, CustomScriptEngine) + self.assertEqual(sub_workflow.script_engine, self.workflow.script_engine) + + def test_call_activity_allows_removal_of_data(self): + # If a call activity alters the data - removing existing keys, that + # data should be removed in the final output as well. + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + self.assertNotIn('remove_this_var', self.workflow.last_task.data.keys()) + + def test_call_acitivity_errors_include_task_trace(self): + error_spec = self.subprocesses.get('ErroringBPMN') + error_spec, subprocesses = self.load_workflow_spec('call_activity_*.bpmn', 'ErroringBPMN') + with self.assertRaises(WorkflowTaskExecException) as context: + self.workflow = BpmnWorkflow(error_spec, subprocesses) + self.workflow.do_engine_steps() + self.assertEquals(2, len(context.exception.task_trace)) + self.assertRegexpMatches(context.exception.task_trace[0], 'Create Data \(.*?call_activity_call_activity.bpmn\)') + self.assertRegexpMatches(context.exception.task_trace[1], 'Get Data Call Activity \(.*?call_activity_with_error.bpmn\)') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CallActivityTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/CallActivitySubProcessPropTest.py b/tests/SpiffWorkflow/bpmn/CallActivitySubProcessPropTest.py new file mode 100644 index 000000000..e540f717e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/CallActivitySubProcessPropTest.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + + + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class CallActivitySubProcessPropTest(BpmnWorkflowTestCase): + """ + Make sure that workflow.data propagates to the subworkflows + in a BPMN + """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('proptest-*.bpmn', 'TopLevel') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testSaveRestore(self): + self.actualTest(True) + + def actualTest(self, save_restore=False): + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + self.assertTrue(self.workflow.is_completed()) + self.assertEqual(self.workflow.data['valA'],1) + self.assertEqual(self.workflow.data['valB'],1) + self.assertEqual(self.workflow.data['valC'],1) + self.assertEqual(self.workflow.data['valD'],1) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CallActivitySubProcessPropTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ClashingName2Test.py b/tests/SpiffWorkflow/bpmn/ClashingName2Test.py new file mode 100644 index 000000000..f906c848c --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ClashingName2Test.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +from SpiffWorkflow.bpmn.parser.ValidationException import ValidationException +__author__ = 'kellym' + + + +class ClashingNameTest2(BpmnWorkflowTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + pass + + def loadWorkflow(self): + self.load_workflow_spec('Approvals_bad.bpmn', 'Approvals') + + def testRunThroughHappy(self): + # make sure we raise an exception + # when validating a workflow with multiple + # same IDs in the BPMN workspace + self.assertRaises(ValidationException,self.loadWorkflow) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ClashingNameTest2) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/CollaborationTest.py b/tests/SpiffWorkflow/bpmn/CollaborationTest.py new file mode 100644 index 000000000..e1361dd81 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/CollaborationTest.py @@ -0,0 +1,125 @@ +from SpiffWorkflow.bpmn.specs.SubWorkflowTask import CallActivity +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.task import TaskState + +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +class CollaborationTest(BpmnWorkflowTestCase): + + def testCollaboration(self): + + spec, subprocesses = self.load_collaboration('collaboration.bpmn', 'my_collaboration') + + # Only executable processes should be started + self.assertIn('process_buddy', subprocesses) + self.assertNotIn('random_person_process', subprocesses) + self.workflow = BpmnWorkflow(spec, subprocesses) + start = self.workflow.get_tasks_from_spec_name('Start')[0] + # Set up some data to be evaluated so that the workflow can proceed + start.data['lover_name'] = 'Peggy' + self.workflow.do_engine_steps() + + # Call activities should be created for executable processes and be reachable + buddy = self.workflow.get_tasks_from_spec_name('process_buddy')[0] + self.assertIsInstance(buddy.task_spec, CallActivity) + self.assertEqual(buddy.task_spec.spec, 'process_buddy') + self.assertEqual(buddy.state, TaskState.WAITING) + + def testBpmnMessage(self): + + spec, subprocesses = self.load_workflow_spec('collaboration.bpmn', 'process_buddy') + workflow = BpmnWorkflow(spec, subprocesses) + start = workflow.get_tasks_from_spec_name('Start')[0] + # Set up some data to be evaluated so that the workflow can proceed + start.data['lover_name'] = 'Peggy' + workflow.do_engine_steps() + # An external message should be created + messages = workflow.get_bpmn_messages() + self.assertEqual(len(messages), 1) + self.assertEqual(len(workflow.bpmn_messages), 0) + receive = workflow.get_tasks_from_spec_name('EventReceiveLetter')[0] + workflow.catch_bpmn_message('Love Letter Response', messages[0].payload, messages[0].correlations) + workflow.do_engine_steps() + # The external message created above should be caught + self.assertEqual(receive.state, TaskState.COMPLETED) + self.assertEqual(receive.data, messages[0].payload) + self.assertEqual(workflow.is_completed(), True) + + def testCorrelation(self): + + specs = self.get_all_specs('correlation.bpmn') + proc_1 = specs['proc_1'] + workflow = BpmnWorkflow(proc_1, specs) + workflow.do_engine_steps() + for idx, task in enumerate(workflow.get_ready_user_tasks()): + task.data['task_num'] = idx + task.complete() + workflow.do_engine_steps() + ready_tasks = workflow.get_ready_user_tasks() + waiting = workflow.get_tasks_from_spec_name('get_response') + # Two processes should have been started and two corresponding catch events should be waiting + self.assertEqual(len(ready_tasks), 2) + self.assertEqual(len(waiting), 2) + for task in waiting: + self.assertEqual(task.state, TaskState.WAITING) + # Now copy the task_num that was sent into a new variable + for task in ready_tasks: + task.data.update(init_id=task.data['task_num']) + task.complete() + workflow.do_engine_steps() + # If the messages were routed properly, the id should match + for task in workflow.get_tasks_from_spec_name('subprocess_end'): + self.assertEqual(task.data['task_num'], task.data['init_id']) + + def testTwoCorrelationKeys(self): + + specs = self.get_all_specs('correlation_two_conversations.bpmn') + proc_1 = specs['proc_1'] + workflow = BpmnWorkflow(proc_1, specs) + workflow.do_engine_steps() + for idx, task in enumerate(workflow.get_ready_user_tasks()): + task.data['task_num'] = idx + task.complete() + workflow.do_engine_steps() + + # Two processes should have been started and two corresponding catch events should be waiting + ready_tasks = workflow.get_ready_user_tasks() + waiting = workflow.get_tasks_from_spec_name('get_response_one') + self.assertEqual(len(ready_tasks), 2) + self.assertEqual(len(waiting), 2) + for task in waiting: + self.assertEqual(task.state, TaskState.WAITING) + # Now copy the task_num that was sent into a new variable + for task in ready_tasks: + task.data.update(init_id=task.data['task_num']) + task.complete() + workflow.do_engine_steps() + + # Complete dummy tasks + for task in workflow.get_ready_user_tasks(): + task.complete() + workflow.do_engine_steps() + + # Repeat for the other process, using a different mapped name + ready_tasks = workflow.get_ready_user_tasks() + waiting = workflow.get_tasks_from_spec_name('get_response_two') + self.assertEqual(len(ready_tasks), 2) + self.assertEqual(len(waiting), 2) + for task in ready_tasks: + task.data.update(subprocess=task.data['task_num']) + task.complete() + workflow.do_engine_steps() + + # If the messages were routed properly, the id should match + for task in workflow.get_tasks_from_spec_name('subprocess_end'): + self.assertEqual(task.data['task_num'], task.data['init_id']) + self.assertEqual(task.data['task_num'], task.data['subprocess']) + + def testSerialization(self): + + spec, subprocesses = self.load_collaboration('collaboration.bpmn', 'my_collaboration') + self.workflow = BpmnWorkflow(spec, subprocesses) + start = self.workflow.get_tasks_from_spec_name('Start')[0] + start.data['lover_name'] = 'Peggy' + self.workflow.do_engine_steps() + self.save_restore() \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/CustomScriptTest.py b/tests/SpiffWorkflow/bpmn/CustomScriptTest.py new file mode 100644 index 000000000..12f69a2aa --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/CustomScriptTest.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'McDonald, danfunk' + +def my_custom_function(txt): + return str(txt).upper() + +class CustomBpmnScriptEngine(PythonScriptEngine): + """This is a custom script processor that can be easily injected into Spiff Workflow. + It will execute python code read in from the bpmn. It will also make any scripts in the + scripts directory available for execution. """ + def __init__(self): + augment_methods = {'custom_function': my_custom_function} + super().__init__(scripting_additions=augment_methods) + + +class CustomInlineScriptTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('custom_function_test*', 'top_workflow') + script_engine = CustomBpmnScriptEngine() + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=script_engine) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=False) + + def actual_test(self, save_restore): + if save_restore: self.save_restore() + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + data = self.workflow.last_task.data + self.assertEqual(data['c1'], 'HELLO') + self.assertEqual(data['c2'], 'GOODBYE') + self.assertEqual(data['c3'], 'ARRIVEDERCI') + + def test_overwrite_function_with_local_variable(self): + ready_task = self.workflow.get_tasks(TaskState.READY)[0] + ready_task.data = {'custom_function': "bill"} + with self.assertRaises(WorkflowTaskExecException) as e: + self.workflow.do_engine_steps() + self.assertTrue('' in str(e.exception)) + self.assertTrue('custom_function' in str(e.exception)) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CustomInlineScriptTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/DataObjectReferenceTest.py b/tests/SpiffWorkflow/bpmn/DataObjectReferenceTest.py new file mode 100644 index 000000000..0254c5df4 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/DataObjectReferenceTest.py @@ -0,0 +1,82 @@ +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.exceptions import WorkflowDataException + + +class DataObjectReferenceTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('data_object.bpmn', 'Process') + + def testDataObjectReferences(self): + self.actual_test(False) + + def testDataObjectSerialization(self): + self.actual_test(True) + + def testMissingDataInput(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + + # Add the data so that we can advance the workflow + ready_tasks = self.workflow.get_ready_user_tasks() + ready_tasks[0].data = { 'obj_1': 'hello' } + ready_tasks[0].complete() + + # Remove the data before advancing + ready_tasks = self.workflow.get_ready_user_tasks() + self.workflow.data.pop('obj_1') + with self.assertRaises(WorkflowDataException) as exc: + ready_tasks[0].complete() + self.assertEqual(exc.data_output.name, 'obj_1') + + def testMissingDataOutput(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + with self.assertRaises(WorkflowDataException) as exc: + ready_tasks[0].complete() + self.assertEqual(exc.data_output.name, 'obj_1') + + def actual_test(self, save_restore): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + + # Set up the data + ready_tasks = self.workflow.get_ready_user_tasks() + ready_tasks[0].data = { 'obj_1': 'hello' } + ready_tasks[0].complete() + # After task completion, obj_1 should be copied out of the task into the workflow + self.assertNotIn('obj_1', ready_tasks[0].data) + self.assertIn('obj_1', self.workflow.data) + + if save_restore: + self.save_restore() + + # Set a value for obj_1 in the task data again + ready_tasks = self.workflow.get_ready_user_tasks() + ready_tasks[0].data = { 'obj_1': 'hello again' } + ready_tasks[0].complete() + + # Check to make sure we use the workflow value instead of the value we set + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertEqual(ready_tasks[0].data['obj_1'], 'hello') + # Modify the value in the task + ready_tasks[0].data = { 'obj_1': 'hello again' } + ready_tasks[0].complete() + # We did not set an output data reference so obj_1 should remain unchanged in the workflow data + # and be removed from the task data + self.assertNotIn('obj_1', ready_tasks[0].data) + self.assertEqual(self.workflow.data['obj_1'], 'hello') + + # Make sure data objects can be copied in and out of a subprocess + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertEqual(ready_tasks[0].data['obj_1'], 'hello') + ready_tasks[0].complete() + self.workflow.do_engine_steps() + sp = self.workflow.get_tasks_from_spec_name('subprocess')[0] + self.assertNotIn('obj_1', sp.data) diff --git a/tests/SpiffWorkflow/bpmn/ExclusiveGatewayIntoMultiInstanceTest.py b/tests/SpiffWorkflow/bpmn/ExclusiveGatewayIntoMultiInstanceTest.py new file mode 100644 index 000000000..8eaaff418 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ExclusiveGatewayIntoMultiInstanceTest.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + + + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ExclusiveGatewayIntoMultiInstanceTest(BpmnWorkflowTestCase): + """In the example BPMN Diagram we set x = 0, then we have an + exclusive gateway that should skip over a parallel multi-instance + class, so it should run straight through and complete without issue.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('exclusive_into_multi.bpmn','ExclusiveToMulti') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + + def testSaveRestore(self): + + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExclusiveGatewayIntoMultiInstanceTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ExclusiveGatewayNoDefaultTest.py b/tests/SpiffWorkflow/bpmn/ExclusiveGatewayNoDefaultTest.py new file mode 100644 index 000000000..58fdb5d66 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ExclusiveGatewayNoDefaultTest.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + + + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +from SpiffWorkflow.exceptions import WorkflowException + +__author__ = 'essweine' + +class ExclusiveGatewayNoDefaultTest(BpmnWorkflowTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('exclusive_gateway_no_default.bpmn', 'NoDefaultGateway') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + first = self.workflow.get_tasks_from_spec_name('StartEvent_1')[0] + first.data = { 'x': 1 } + self.assertRaises(WorkflowException, self.workflow.do_engine_steps) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExclusiveGatewayNoDefaultTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ExculsiveGatewayNonDefaultPathIntoMultiTest.py b/tests/SpiffWorkflow/bpmn/ExculsiveGatewayNonDefaultPathIntoMultiTest.py new file mode 100644 index 000000000..424f72e9b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ExculsiveGatewayNonDefaultPathIntoMultiTest.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + + + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ExclusiveGatewayNonDefaultPathIntoMultiTest(BpmnWorkflowTestCase): + """In the example BPMN Diagram we require that "Yes" or "No" be specified + in a user task and check that a multiinstance can follow a non-default + path. + """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('exclusive_non_default_path_into_multi.bpmn','ExclusiveNonDefaultMulti') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def load_workflow1_spec(self): + return + + def testRunThroughHappy(self): + + + self.workflow.do_engine_steps() + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("DoStuff", task.task_spec.name) + task.update_data({"morestuff": 'Yes'}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i == 0: + self.assertEqual("GetMoreStuff", task.task_spec.name) + else: + self.assertEqual("GetMoreStuff_%d"%(i-1), task.task_spec.name) + + + task.update_data({"stuff.addstuff": "Stuff %d"%i}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExclusiveGatewayNonDefaultPathIntoMultiTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/FeelExpressionEngineTest.py b/tests/SpiffWorkflow/bpmn/FeelExpressionEngineTest.py new file mode 100644 index 000000000..6fe07dece --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/FeelExpressionEngineTest.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.FeelLikeScriptEngine import FeelLikeScriptEngine, FeelInterval +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +import datetime + +__author__ = 'matth' + + +class FeelExpressionTest(BpmnWorkflowTestCase): + + def setUp(self): + self.expressionEngine = FeelLikeScriptEngine() + + def testRunThroughExpressions(self): + tests = [("string length('abcd')", 4, {}), + ("contains('abcXYZdef','XYZ')", True, {}), + ("list contains(x,'b')", True, {'x': ['a', 'b', 'c']}), + ("list contains(x,'z')", False, {'x': ['a', 'b', 'c']}), + # ("list contains(['a','b','c'],'b')",True,{}), # fails due to parse error + ("all ([True,True,True])", True, {}), + ("all ([True,False,True])", False, {}), + ("any ([False,False,False])", False, {}), + ("any ([True,False,True])", True, {}), + ("PT3S", datetime.timedelta(seconds=3), {}), + ("d[item>1]",[2,3,4],{'d':[1,2,3,4]}), + ("d[x>=2].y",[2,3,4],{'d':[{'x':1,'y':1}, + {'x': 2, 'y': 2}, + {'x': 3, 'y': 3}, + {'x': 4, 'y': 4}, + ]}), + ("concatenate(a,b,c)", ['a', 'b', 'c'], {'a': ['a'], + 'b': ['b'], + 'c': ['c'], + }), + ("append(a,'c')", ['a', 'b', 'c'], {'a': ['a', 'b']}), + ("now()", FeelInterval(datetime.datetime.now() - datetime.timedelta(seconds=1), + datetime.datetime.now() + datetime.timedelta(seconds=1)), + {}), + ("day of week('2020-05-07')", 4, {}), + ("day of week(a)", 0, {'a': datetime.datetime(2020, 5, 3)}), + ("list contains(a.b,'x')", True, {'a': {'b': ['a', 'x']}}), # combo + ("list contains(a.b,'c')", False, {'a': {'b': ['a', 'x']}}), + ("list contains(a.keys(),'b')", True, {'a': {'b': ['a', 'x']}}), + ("list contains(a.keys(),'c')", False, {'a': {'b': ['a', 'x']}}), + ] + for test in tests: + self.assertEqual(self.expressionEngine._evaluate(test[0], test[2]), + test[1], "test --> %s <-- with variables ==> %s <==Fail!" % (test[0], str(test[2]))) + + def testRunThroughDMNExpression(self): + """ + Real world test + """ + data = { + "exclusive": [ + { + "ExclusiveSpaceAMComputingID": None + } + ] + } + x = self.expressionEngine._evaluate( + """sum([1 for x in exclusive if x.get('ExclusiveSpaceAMComputingID',None)==None])""", + data + ) + self.assertEqual(x, 1) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelExpressionTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/IOSpecTest.py b/tests/SpiffWorkflow/bpmn/IOSpecTest.py new file mode 100644 index 000000000..efa6441c9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/IOSpecTest.py @@ -0,0 +1,88 @@ +from SpiffWorkflow.bpmn.exceptions import WorkflowDataException +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + + +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + + +class CallActivityDataTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('io_spec*.bpmn', 'parent') + + def testCallActivityWithIOSpec(self): + self.actual_test() + + def testCallActivityWithIOSpecSaveRestore(self): + self.actual_test(True) + + def testCallActivityMissingInput(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + set_data = self.workflow.spec.task_specs['Activity_0haob58'] + set_data.script = """in_1, unused = 1, True""" + + with self.assertRaises(WorkflowDataException) as exc: + self.advance_to_subprocess() + self.assertEqual(exc.var.name,'in_2') + + def testCallActivityMissingOutput(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + script_task = self.workflow.spec.task_specs['Activity_0haob58'] + script_task.script = """in_1, in_2, unused = 1, "hello world", True""" + + self.advance_to_subprocess() + task = self.workflow.get_tasks(TaskState.READY)[0] + transform_task = task.workflow.spec.task_specs['Activity_04d94ee'] + transform_task.script = """out_1, unused = in_1 * 2, False""" + + with self.assertRaises(WorkflowDataException) as exc: + self.complete_subprocess() + self.assertEqual(exc.var.name,'out_2') + + def actual_test(self, save_restore=False): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + set_data = self.workflow.spec.task_specs['Activity_0haob58'] + set_data.script = """in_1, in_2, unused = 1, "hello world", True""" + + if save_restore: + self.save_restore() + + self.advance_to_subprocess() + # This will be the first task of the subprocess + task = self.workflow.get_tasks(TaskState.READY)[0] + + # These should be copied + self.assertIn('in_1', task.data) + self.assertIn('in_2', task.data) + # This should not + self.assertNotIn('unused', task.data) + + self.complete_subprocess() + task = self.workflow.get_tasks(TaskState.READY)[0] + # Originals should not change + self.assertEqual(task.data['in_1'], 1) + self.assertEqual(task.data['in_2'], "hello world") + self.assertEqual(task.data['unused'], True) + # New variables should be present + self.assertEqual(task.data['out_1'], 2) + self.assertEqual(task.data['out_2'], "HELLO WORLD") + + def advance_to_subprocess(self): + # Once we enter the subworkflow it becomes a waiting task + waiting = self.workflow.get_tasks(TaskState.WAITING) + while len(waiting) == 0: + next_task = self.workflow.get_tasks(TaskState.READY)[0] + next_task.complete() + waiting = self.workflow.get_tasks(TaskState.WAITING) + + def complete_subprocess(self): + # When we complete, the subworkflow task will move from WAITING to READY + waiting = self.workflow.get_tasks(TaskState.WAITING) + while len(waiting) > 0: + next_task = self.workflow.get_tasks(TaskState.READY)[0] + next_task.complete() + waiting = self.workflow.get_tasks(TaskState.WAITING) \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/InvalidProcessIDTest.py b/tests/SpiffWorkflow/bpmn/InvalidProcessIDTest.py new file mode 100644 index 000000000..5a6996409 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/InvalidProcessIDTest.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.parser.ValidationException import ValidationException +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'essweine' + + +class InvalidProcessIDTest(BpmnWorkflowTestCase): + + def testInvalidWorkflowProcess(self): + self.assertRaisesRegex( + Exception, "The process '\w+' was not found*", + self.load_workflow_spec, "invalid_process*.bpmn", "topworkflow") + + def testInvalidCalledElement(self): + self.assertRaisesRegex( + ValidationException, "The process '\w+' was not found", + self.load_workflow_spec, "invalid_process*.bpmn", "top_workflow") + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(InvalidProcessIDTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/InvalidWorkflowsTest.py b/tests/SpiffWorkflow/bpmn/InvalidWorkflowsTest.py new file mode 100644 index 000000000..ffb8f0242 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/InvalidWorkflowsTest.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- + +import unittest + +import os + +from SpiffWorkflow.bpmn.parser.ValidationException import ValidationException +from SpiffWorkflow.signavio.parser.bpmn import SignavioBpmnParser +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class InvalidWorkflowsTest(BpmnWorkflowTestCase): + + def testDisconnectedBoundaryEvent(self): + + with self.assertRaises(ValidationException) as exc: + parser = SignavioBpmnParser() + filename = os.path.join(os.path.dirname(__file__), 'data', 'Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml') + parser.add_bpmn_file(filename) + self.assertIn('Intermediate Catch Event has no incoming sequences', str(exc)) + self.assertIn('bpmn:intermediateCatchEvent (id:sid-84C7CE67-D0B6-486A-B097-486DA924FF9D)', str(exc)) + self.assertIn('Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml', str(exc)) + + def testNoStartEvent(self): + try: + self.load_workflow_spec( + 'Invalid-Workflows/No-Start-Event.bpmn20.xml', 'No Start Event') + self.fail( + "self.load_workflow_spec('Invalid-Workflows/No-Start-Event.bpmn20.xml', 'No Start Event') should fail.") + except ValidationException as ex: + self.assertTrue('No start event found' in ('%r' % ex), + '\'No start event found\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('No-Start-Event.bpmn20.xml' in ('%r' % ex), + '\'No-Start-Event.bpmn20.xml\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('process' in ('%r' % ex), + '\'process\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue( + 'sid-669ddebf-4196-41ee-8b04-bcc90bc5f983' in ('%r' % ex), + '\'sid-669ddebf-4196-41ee-8b04-bcc90bc5f983\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('No Start Event' in ('%r' % ex), + '\'No Start Event\' should be a substring of error message: \'%r\'' % ex) + + def testSubprocessNotFound(self): + + with self.assertRaises(ValidationException) as exc: + self.load_workflow_spec('Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml', 'Subprocess Not Found') + self.assertIn("The process 'Missing subprocess' was not found.", str(exc)) + self.assertIn("bpmn:callActivity (id:sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A)", str(exc)) + self.assertIn("Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml", str(exc)) + + def testUnsupportedTask(self): + try: + self.load_workflow_spec( + 'Invalid-Workflows/Unsupported-Task.bpmn20.xml', 'Unsupported Task') + self.fail( + "self.load_workflow_spec('Invalid-Workflows/Unsupported-Task.bpmn20.xml', 'Unsupported Task') should fail.") + except ValidationException as ex: + self.assertTrue( + 'There is no support implemented for this task type' in ( + '%r' % ex), + '\'There is no support implemented for this task type\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('Unsupported-Task.bpmn20.xml' in ('%r' % ex), + '\'Unsupported-Task.bpmn20.xml\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('businessRuleTask' in ('%r' % ex), + '\'businessRuleTask\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue( + 'sid-75EEAB28-3B69-4282-B91A-0F3C97931834' in ('%r' % ex), + '\'sid-75EEAB28-3B69-4282-B91A-0F3C97931834\' should be a substring of error message: \'%r\'' % ex) + self.assertTrue('Business Rule Task' in ('%r' % ex), + '\'Business Rule Task\' should be a substring of error message: \'%r\'' % ex) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(InvalidWorkflowsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/LoopTaskTest.py b/tests/SpiffWorkflow/bpmn/LoopTaskTest.py new file mode 100644 index 000000000..709750c64 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/LoopTaskTest.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class LoopTaskTest(BpmnWorkflowTestCase): + """The example bpmn diagram has a single task with a loop cardinality of 5. + It should repeat 5 times before termination.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('bpmnLoopTask.bpmn','LoopTaskTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + for i in range(5): + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertTrue(len(ready_tasks) ==1) + self.assertTrue(ready_tasks[0].task_spec.is_loop_task()) + self.assertFalse(self.workflow.is_completed()) + last_task = self.workflow.last_task + + self.do_next_exclusive_step('Activity_TestLoop') + + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertTrue(len(ready_tasks) ==1) + ready_tasks[0].terminate_loop() + self.do_next_exclusive_step('Activity_TestLoop') + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + + + def testSaveRestore(self): + + for i in range(5): + self.save_restore() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertTrue(len(ready_tasks) ==1) + self.assertTrue(ready_tasks[0].task_spec.is_loop_task()) + self.assertFalse(self.workflow.is_completed()) + self.do_next_exclusive_step('Activity_TestLoop') + + ready_tasks = self.workflow.get_ready_user_tasks() + self.assertTrue(len(ready_tasks) ==1) + ready_tasks[0].terminate_loop() + self.do_next_exclusive_step('Activity_TestLoop') + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(LoopTaskTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/MultiInstanceParallelCondTest.py b/tests/SpiffWorkflow/bpmn/MultiInstanceParallelCondTest.py new file mode 100644 index 000000000..305cb3df9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/MultiInstanceParallelCondTest.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MultiInstanceCondTest(BpmnWorkflowTestCase): + """The example bpmn diagram has a single task set to be a parallel + multi-instance with a loop cardinality of 5. + It should repeat 5 times before termination, and it should + have a navigation list with 7 items in it - one for start, one for end, + and five items for the repeating section. """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('MultiInstanceParallelTaskCond.bpmn', 'MultiInstance') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def load_workflow1_spec(self): + return + + def testRunThroughHappy(self): + self.actualTest() + + def testSaveRestore(self): + self.actualTest(True) + + def actualTest(self, save_restore=False): + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_ready_user_tasks())) + task = self.workflow.get_ready_user_tasks()[0] + task.data['collection'] = {'a':{'a':'test'}, + 'b':{'b':'test'}} + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + + for task in self.workflow.get_ready_user_tasks(): + self.assertFalse(self.workflow.is_completed()) + self.workflow.complete_task_from_id(task.id) + if save_restore: + self.save_restore() + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceCondTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/MultiInstanceParallelTest.py b/tests/SpiffWorkflow/bpmn/MultiInstanceParallelTest.py new file mode 100644 index 000000000..e13b943a2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/MultiInstanceParallelTest.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MultiInstanceTest(BpmnWorkflowTestCase): + """The example bpmn diagram has a single task set to be a parallel + multi-instance with a loop cardinality of 5. + It should repeat 5 times before termination, and it should + have a navigation list with 7 items in it - one for start, one for end, + and five items for the repeating section. """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('MultiInstanceParallelTask.bpmn', 'MultiInstance') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def load_workflow1_spec(self): + return + + def testRunThroughHappy(self): + self.actualTest() + + def testSaveRestore(self): + self.actualTest(True) + + def actualTest(self, save_restore=False): + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_ready_user_tasks())) + task = self.workflow.get_ready_user_tasks()[0] + task.data['collection'] = [1,2,3,4,5] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + for task in self.workflow.get_ready_user_tasks(): + self.assertFalse(self.workflow.is_completed()) + self.workflow.complete_task_from_id(task.id) + if save_restore: + self.save_restore() + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/MultiInstanceTest.py b/tests/SpiffWorkflow/bpmn/MultiInstanceTest.py new file mode 100644 index 000000000..6054f99a4 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/MultiInstanceTest.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MultiInstanceTest(BpmnWorkflowTestCase): + """The example bpmn diagram has a single task with a loop cardinality of 5. + It should repeat 5 times before termination.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('bpmnMultiUserTask.bpmn','MultiInstance') + self.workflow = BpmnWorkflow(spec, subprocesses) + + + def testRunThroughHappy(self): + + for i in range(5): + self.workflow.do_engine_steps() + self.assertFalse(self.workflow.is_completed()) + self.do_next_exclusive_step('Activity_Loop') + + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + + def testSaveRestore(self): + + for i in range(5): + self.save_restore() + self.workflow.do_engine_steps() + self.assertFalse(self.workflow.is_completed()) + self.do_next_exclusive_step('Activity_Loop') + + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/NITimerDurationBoundaryTest.py b/tests/SpiffWorkflow/bpmn/NITimerDurationBoundaryTest.py new file mode 100644 index 000000000..f7cef40be --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/NITimerDurationBoundaryTest.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class NITimerDurationTest(BpmnWorkflowTestCase): + """ + Non-Interrupting Timer boundary test + """ + def setUp(self): + spec, subprocesses = self.load_workflow_spec('timer-non-interrupt-boundary.bpmn', 'NonInterruptTimer') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def load_spec(self): + return + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + ready_tasks[0].data['work_done'] = 'No' + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + loopcount = 0 + # test bpmn has a timeout of .25s + # we should terminate loop before that. + starttime = datetime.datetime.now() + while loopcount < 10: + ready_tasks = self.workflow.get_tasks(TaskState.READY) + if len(ready_tasks) > 1: + break + if save_restore: self.save_restore() + #self.assertEqual(1, len(self.workflow.get_tasks(Task.WAITING))) + time.sleep(0.1) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + loopcount = loopcount +1 + endtime = datetime.datetime.now() + duration = endtime-starttime + # appropriate time here is .5 seconds + # due to the .3 seconds that we loop and then + # the two conditions that we complete after the timer completes. + self.assertEqual(durationdatetime.timedelta(seconds=.2),True) + for task in ready_tasks: + if task.task_spec == 'GetReason': + task.data['delay_reason'] = 'Just Because' + else: + task.data['work_done'] = 'Yes' + self.workflow.complete_task_from_id(task.id) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + ready_tasks[0].data['experience'] = 'Great!' + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + self.assertEqual(self.workflow.is_completed(),True) + self.assertEqual(self.workflow.last_task.data,{'work_done': 'Yes', 'experience': 'Great!'}) + print (self.workflow.last_task.data) + print(duration) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(NITimerDurationTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/NavListMulipleEnds.py b/tests/SpiffWorkflow/bpmn/NavListMulipleEnds.py new file mode 100644 index 000000000..4d4100258 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/NavListMulipleEnds.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + + + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class NavListExclusiveGatewayTest(BpmnWorkflowTestCase): + """The example bpmn diagram looks roughly like this, a gateway + that leads to two different end points + + [Step 1] -> + -> 'False' -> [Alternate End] -> END A + -> 'True' -> [Step 2] -> END B + """ + + def setUp(self): + self.spec = self.load_workflow1_spec() + + def load_workflow1_spec(self): + return self.load_workflow_spec('ExclusiveGatewayMultipleEndNavigation.bpmn','ExclusiveGatewayMultipleEndNavigation') + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + nav_list = self.workflow.get_nav_list() + self.assertEqual(6, len(nav_list)) + + self.assertEqual("Step 1", nav_list[0]["description"]) + self.assertEqual("GatewayToEnd", nav_list[1]["description"]) + self.assertEqual("False", nav_list[2]["description"]) + self.assertEqual("Step End", nav_list[3]["description"]) + self.assertEqual("True", nav_list[4]["description"]) + self.assertEqual("Step 2", nav_list[5]["description"]) + + self.assertEqual(0, nav_list[0]["indent"]) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(NavListExclusiveGatewayTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/NestedProcessesTest.py b/tests/SpiffWorkflow/bpmn/NestedProcessesTest.py new file mode 100644 index 000000000..2fe55b778 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/NestedProcessesTest.py @@ -0,0 +1,36 @@ +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'neilc' + + +class NestedProcessesTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Nested*.bpmn20.xml', 'Nested Subprocesses') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.do_next_named_step('Action1') + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.do_next_named_step('Action2') + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.do_next_named_step('Action3') + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(NestedProcessesTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelFromCamundaTest.py b/tests/SpiffWorkflow/bpmn/ParallelFromCamundaTest.py new file mode 100644 index 000000000..670c33d4d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelFromCamundaTest.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ParallelFromCamunda(BpmnWorkflowTestCase): + + # Should we move this to the Camunda package? Is this even testing anything Camunda related? + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel.camunda.bpmn20.xml', 'Process_1hb021r') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughParallelTaskFirst(self): + + # 1 first task + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.do_next_named_step('First Task') + self.save_restore() + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + + # 3 parallel tasks + self.assertEqual(3, len(self.workflow.get_tasks(TaskState.READY))) + self.do_next_named_step('Parallel Task A') + self.save_restore() + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Parallel Task B') + self.save_restore() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Parallel Task C') + self.save_restore() + self.workflow.do_engine_steps() + self.save_restore() + + # 1 last task + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.do_next_named_step('Last Task') + self.save_restore() + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + + def testAllParallelDataMakesItIntoGatewayTask(self): + """It should be true that data collected across parallel tasks + is all available in the join task.""" + + self.do_next_named_step('First Task') + self.do_next_named_step('Parallel Task A', + set_attribs={"taskA": "taskA"}) + self.do_next_named_step('Parallel Task B', + set_attribs={"taskB": "taskB"}) + self.do_next_named_step('Parallel Task C', + set_attribs={"taskC": "taskC"}) + self.workflow.do_engine_steps() + self.do_next_named_step('Last Task') + self.assertEqual("taskA", self.workflow.last_task.data["taskA"]) + self.assertEqual("taskB", self.workflow.last_task.data["taskB"]) + self.assertEqual("taskC", self.workflow.last_task.data["taskC"]) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelFromCamunda) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelJoinLongInclusiveTest.py b/tests/SpiffWorkflow/bpmn/ParallelJoinLongInclusiveTest.py new file mode 100644 index 000000000..1105f473f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelJoinLongInclusiveTest.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelJoinLongInclusiveTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-Join-Long-Inclusive.bpmn20.xml', 'Parallel Join Long Inclusive') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughThread1FirstThenNo(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step( + 'Thread 1 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + for i in range(1, 13): + self.do_next_named_step('Thread 1 - Task %d' % i) + self.workflow.do_engine_steps() + + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_named_step( + 'Thread 2 - Choose', choice='No', with_save_load=True) + self.workflow.do_engine_steps() + self.do_next_named_step('Done', with_save_load=True) + self.workflow.do_engine_steps() + self.do_next_named_step('Thread 2 - No Task', with_save_load=True) + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testNoFirstThenThread1(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step( + 'Thread 2 - Choose', choice='No', with_save_load=True) + self.workflow.do_engine_steps() + + self.do_next_named_step( + 'Thread 1 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + for i in range(1, 13): + self.do_next_named_step('Thread 1 - Task %d' % i) + self.workflow.do_engine_steps() + + self.do_next_named_step('Done', with_save_load=True) + self.workflow.do_engine_steps() + + self.do_next_named_step('Thread 2 - No Task', with_save_load=True) + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelJoinLongInclusiveTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelJoinLongTest.py b/tests/SpiffWorkflow/bpmn/ParallelJoinLongTest.py new file mode 100644 index 000000000..2d3989b6f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelJoinLongTest.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelJoinLongTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-Join-Long.bpmn20.xml', 'Parallel Join Long') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughAlternating(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step( + 'Thread 1 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + self.do_next_named_step( + 'Thread 2 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + + for i in range(1, 13): + self.do_next_named_step( + 'Thread 1 - Task %d' % i, with_save_load=True) + self.workflow.do_engine_steps() + self.do_next_named_step( + 'Thread 2 - Task %d' % i, with_save_load=True) + self.workflow.do_engine_steps() + + self.do_next_named_step('Done', with_save_load=True) + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughThread1First(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step( + 'Thread 1 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + for i in range(1, 13): + self.do_next_named_step('Thread 1 - Task %d' % i) + self.workflow.do_engine_steps() + + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_named_step( + 'Thread 2 - Choose', choice='Yes', with_save_load=True) + self.workflow.do_engine_steps() + for i in range(1, 13): + self.do_next_named_step( + 'Thread 2 - Task %d' % i, with_save_load=True) + self.workflow.do_engine_steps() + + self.do_next_named_step('Done', with_save_load=True) + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelJoinLongTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelLoopingAfterJoinTest.py b/tests/SpiffWorkflow/bpmn/ParallelLoopingAfterJoinTest.py new file mode 100644 index 000000000..5a525e083 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelLoopingAfterJoinTest.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BaseParallelTestCase import BaseParallelTestCase + +__author__ = 'matth' + +class ParallelLoopingAfterJoinTest(BaseParallelTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec( + 'Test-Workflows/Parallel-Looping-After-Join.bpmn20.xml', + 'Parallel Looping After Join') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def test1(self): + self._do_test( + ['Go', '1', '2', '2A', '2B', '2 Done', ('Retry?', 'No'), 'Done'], save_restore=True) + + def test2(self): + self._do_test( + ['Go', '1', '2', '2A', '2B', '2 Done', ('Retry?', 'Yes'), 'Go', + '1', '2', '2A', '2B', '2 Done', ('Retry?', 'No'), 'Done'], save_restore=True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelLoopingAfterJoinTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTest.py b/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTest.py new file mode 100644 index 000000000..0bdbe75d2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTest.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BaseParallelTestCase import BaseParallelTestCase + +__author__ = 'matth' + +class ParallelManyThreadsAtSamePointTest(BaseParallelTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec( + 'Test-Workflows/Parallel-Many-Threads-At-Same-Point.bpmn20.xml', + 'Parallel Many Threads At Same Point') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def test1(self): + self._do_test(['1', '2', '3', '4', 'Done', 'Done', 'Done', 'Done'], + only_one_instance=False, save_restore=True) + + def test2(self): + self._do_test(['1', 'Done', '2', 'Done', '3', 'Done', '4', 'Done'], + only_one_instance=False, save_restore=True) + + def test2(self): + self._do_test(['1', '2', 'Done', '3', '4', 'Done', 'Done', 'Done'], + only_one_instance=False, save_restore=True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelManyThreadsAtSamePointTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTestNested.py b/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTestNested.py new file mode 100644 index 000000000..23d5e9fc0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelManyThreadsAtSamePointTestNested.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +import unittest +import logging +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BaseParallelTestCase import BaseParallelTestCase + +__author__ = 'matth' + +class ParallelManyThreadsAtSamePointTestNested(BaseParallelTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec( + 'Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.bpmn20.xml', + 'Parallel Many Threads At Same Point Nested') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def test_depth_first(self): + instructions = [] + for split1 in ['SP 1', 'SP 2']: + for sp in ['A', 'B']: + for split2 in ['1', '2']: + for t in ['A', 'B']: + instructions.append(split1 + sp + "|" + split2 + t) + instructions.append(split1 + sp + "|" + 'Inner Done') + instructions.append("!" + split1 + sp + "|" + 'Inner Done') + if sp == 'A': + instructions.append("!Outer Done") + + instructions.append('Outer Done') + instructions.append("!Outer Done") + + logging.info('Doing test with instructions: %s', instructions) + self._do_test(instructions, only_one_instance=False, save_restore=True) + + def test_breadth_first(self): + instructions = [] + for t in ['A', 'B']: + for split2 in ['1', '2']: + for sp in ['A', 'B']: + for split1 in ['SP 1', 'SP 2']: + instructions.append(split1 + sp + "|" + split2 + t) + + for split1 in ['SP 1', 'SP 2']: + for sp in ['A', 'B']: + for split2 in ['1', '2']: + instructions += [split1 + sp + "|" + 'Inner Done'] + + for split1 in ['SP 1', 'SP 2']: + instructions += ['Outer Done'] + + logging.info('Doing test with instructions: %s', instructions) + self._do_test(instructions, only_one_instance=False, save_restore=True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelManyThreadsAtSamePointTestNested) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsAndJoinsTest.py b/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsAndJoinsTest.py new file mode 100644 index 000000000..7dc3484bd --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsAndJoinsTest.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BaseParallelTestCase import BaseParallelTestCase + +__author__ = 'matth' + +class ParallelMultipleSplitsAndJoinsTest(BaseParallelTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec( + 'Test-Workflows/Parallel-Multiple-Splits-And-Joins.bpmn20.xml', + 'Parallel Multiple Splits And Joins') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def test1(self): + self._do_test(['1', '!Done', '2', '1A', '!Done', '2A', '1B', '2B', + '!Done', '1 Done', '!Done', '2 Done', 'Done'], save_restore=True) + + def test2(self): + self._do_test( + ['1', '!Done', '1A', '1B', '1 Done', '!Done', '2', '2A', '2B', '2 Done', 'Done'], save_restore=True) + + def test3(self): + self._do_test(['1', '2', '!Done', '1B', '2B', '!2 Done', '1A', + '!Done', '2A', '1 Done', '!Done', '2 Done', 'Done'], save_restore=True) + + def test4(self): + self._do_test( + ['1', '1B', '1A', '1 Done', '!Done', '2', '2B', '2A', '2 Done', 'Done'], save_restore=True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelMultipleSplitsAndJoinsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsTest.py b/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsTest.py new file mode 100644 index 000000000..d779337e7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelMultipleSplitsTest.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelMultipleSplitsTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-Multiple-Splits.bpmn20.xml', 'Parallel Multiple Splits') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughAlternating(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Do First') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 1 - Choose', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 2 - Choose', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 3 - Choose', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 1 - Yes Task') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 2 - Yes Task') + self.workflow.do_engine_steps() + self.do_next_named_step('SP 3 - Yes Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelMultipleSplitsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelOnePathEndsTest.py b/tests/SpiffWorkflow/bpmn/ParallelOnePathEndsTest.py new file mode 100644 index 000000000..6583f7ce1 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelOnePathEndsTest.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelOnePathEndsTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-One-Path-Ends.bpmn20.xml', 'Parallel One Path Ends') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughParallelTaskFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Choice 1', choice='No') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughChoiceFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='No') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughParallelTaskFirstYes(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelOnePathEndsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelOrderTest.py b/tests/SpiffWorkflow/bpmn/ParallelOrderTest.py new file mode 100644 index 000000000..67d3c90bd --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelOrderTest.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MultiInstanceTest(BpmnWorkflowTestCase): + """The example bpmn diagram has a 4 parallel workflows, this + verifies that the parallel tasks have a natural order that follows + the visual layout of the diagram, rather than just the order in which + they were created. """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('ParallelOrder.bpmn','ParallelOrder') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.workflow.do_engine_steps() + self.assertFalse(self.workflow.is_completed()) + self.assertEquals(4, len(self.workflow.get_ready_user_tasks())) + tasks = self.workflow.get_ready_user_tasks() + self.assertEquals("Task 1", tasks[0].get_description()) + self.assertEquals("Task 2", tasks[1].get_description()) + self.assertEquals("Task 3", tasks[2].get_description()) + self.assertEquals("Task 4", tasks[3].get_description()) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelThenExclusiveTest.py b/tests/SpiffWorkflow/bpmn/ParallelThenExclusiveTest.py new file mode 100644 index 000000000..bf1e7386b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelThenExclusiveTest.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelThenExclusiveTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-Then-Exclusive.bpmn20.xml', 'Parallel Then Exclusive') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughParallelTaskFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughChoiceFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughChoiceThreadCompleteFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Parallel Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +class ParallelThenExclusiveNoInclusiveTest(ParallelThenExclusiveTest): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec( + 'Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.bpmn20.xml', + 'Parallel Then Exclusive No Inclusive') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + +def suite(): + return unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelThroughSameTaskTest.py b/tests/SpiffWorkflow/bpmn/ParallelThroughSameTaskTest.py new file mode 100644 index 000000000..4768ddbae --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelThroughSameTaskTest.py @@ -0,0 +1,179 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + +class ParallelThroughSameTaskTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('Test-Workflows/Parallel-Through-Same-Task.bpmn20.xml', 'Parallel Through Same Task') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughFirstRepeatTaskFirst(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + # The inclusive gateway allows this to pass through (since there is a + # route to it on the same sequence flow) + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRepeatTasksReadyTogether(self): + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(2, len(ready_tasks)) + self.assertEqual( + 'Repeated Task', ready_tasks[0].task_spec.description) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + # The inclusive gateway allows us through here, because there is no route for the other thread + # that doesn't use the same sequence flow + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRepeatTasksReadyTogetherSaveRestore(self): + + self.save_restore() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='Yes') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Yes Task') + self.workflow.do_engine_steps() + self.save_restore() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(2, len(ready_tasks)) + self.assertEqual( + 'Repeated Task', ready_tasks[0].task_spec.description) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + self.save_restore() + # The inclusive gateway allows us through here, because there is no route for the other thread + # that doesn't use the same sequence flow + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testNoRouteRepeatTaskFirst(self): + + self.save_restore() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + self.save_restore() + # The inclusive gateway allows this to pass through (since there is a + # route to it on the same sequence flow) + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Choice 1', choice='No') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('No Task') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testNoRouteNoTaskFirst(self): + + self.save_restore() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='No') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('No Task') + self.workflow.do_engine_steps() + self.save_restore() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testNoRouteNoFirstThenRepeating(self): + + self.save_restore() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Choice 1', choice='No') + self.workflow.do_engine_steps() + self.save_restore() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('Repeated Task') + self.workflow.do_engine_steps() + self.save_restore() + self.assertRaises(AssertionError, self.do_next_named_step, 'Done') + self.do_next_named_step('No Task') + self.workflow.do_engine_steps() + self.save_restore() + self.do_next_named_step('Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelThroughSameTaskTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParallelWithScriptTest.py b/tests/SpiffWorkflow/bpmn/ParallelWithScriptTest.py new file mode 100644 index 000000000..933d8a91d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParallelWithScriptTest.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + + + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'leashys' + + +class ParallelWithScriptTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('ParallelWithScript.bpmn', 'ParallelWithScript') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughParallel(self): + self.workflow.do_engine_steps() + # TODO: what to assert here? + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ParallelWithScriptTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ParserTest.py b/tests/SpiffWorkflow/bpmn/ParserTest.py new file mode 100644 index 000000000..5703273e8 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ParserTest.py @@ -0,0 +1,29 @@ +import unittest +import os + +from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnParser + + +class ParserTest(unittest.TestCase): + + def testIOSpecification(self): + + parser = BpmnParser() + bpmn_file = os.path.join(os.path.dirname(__file__), 'data', 'io_spec.bpmn') + parser.add_bpmn_file(bpmn_file) + spec = parser.get_spec('subprocess') + self.assertEqual(len(spec.data_inputs), 2) + self.assertEqual(len(spec.data_outputs), 2) + + def testDataReferences(self): + + parser = BpmnParser() + bpmn_file = os.path.join(os.path.dirname(__file__), 'data', 'data_object.bpmn') + parser.add_bpmn_file(bpmn_file) + spec = parser.get_spec("Process") + generate = spec.task_specs['generate_data'] + read = spec.task_specs['read_data'] + self.assertEqual(len(generate.data_output_associations), 1) + self.assertEqual(generate.data_output_associations[0].name, 'obj_1') + self.assertEqual(len(read.data_input_associations), 1) + self.assertEqual(read.data_input_associations[0].name, 'obj_1') diff --git a/tests/SpiffWorkflow/bpmn/ProcessDependencyTest.py b/tests/SpiffWorkflow/bpmn/ProcessDependencyTest.py new file mode 100644 index 000000000..414a8abbb --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ProcessDependencyTest.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + + + +import sys +import os +import unittest + +from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser +from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser +from SpiffWorkflow.spiff.parser import SpiffBpmnParser +from tests.SpiffWorkflow.bpmn.BpmnLoaderForTests import TestBpmnParser + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'danfunk' + + +class ProcessDependencyTest(BpmnWorkflowTestCase): + """ + Assure we can determine all of the call activities and DMN references that + will be required by a parser, prior to calling its parse method. + + Because DMN references vary between Camunda and Spiff, need to test that + both methods will work. + """ + + def testCamundaParser(self): + self.actual_test(CamundaParser()) + + def testSpiffParser(self): + self.actual_test(SpiffBpmnParser()) + + def actual_test(self, parser): + filename = 'call_activity_nested' + process_name = 'Level1' + base_dir = os.path.join(os.path.dirname(__file__), 'data', filename) + parser.add_bpmn_file(os.path.join(base_dir, 'call_activity_nested.bpmn')) + dependencies = parser.get_dependencies() + self.assertEqual(3, len(dependencies)) + process_deps = parser.get_process_dependencies() + self.assertEqual(2, len(process_deps)) + self.assertIn('Level2', process_deps) + self.assertIn('Level2b', process_deps) + dmn_deps = parser.get_dmn_dependencies() + self.assertEqual(1, len(dmn_deps)) + self.assertIn('Level2c', dmn_deps) + + # Add Level 2 file, and we should find a level 3 dependency as well. + parser.add_bpmn_file(os.path.join(base_dir, 'call_activity_level_2.bpmn')) + dependencies = parser.get_dependencies() + self.assertEqual(4, len(dependencies)) + self.assertIn('Level3', dependencies) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ProcessDependencyTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/PythonScriptEngineTest.py b/tests/SpiffWorkflow/bpmn/PythonScriptEngineTest.py new file mode 100644 index 000000000..d5c8ec32a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/PythonScriptEngineTest.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- + +import sys +import os +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'danfunk' + + +class PythonScriptEngineTest(BpmnWorkflowTestCase): + + def setUp(self): + self.expressionEngine = PythonScriptEngine() + + # All this, just so we have a task object, not using anything in the Script. + spec, subprocesses = self.load_workflow_spec('ScriptTest.bpmn', 'ScriptTest') + workflow = BpmnWorkflow(spec, subprocesses) + workflow.do_engine_steps() + self.task = workflow.last_task + + def testDateTimeExpressions(self): + """Basically, assure that we can use datime, dateutils, and pytz""" + script = """ +# Create Current Date as UTC +now_utc = datetime.datetime.now(datetime.timezone.utc) +# Create Current Date at EST +now_est = now_utc.astimezone(pytz.timezone('US/Eastern')) + +# Format a date from a date String in UTC +datestr = "2021-09-23 16:11:00 -0000" # 12 pm EST, 4pm UTC +dt = dateparser.parse(datestr) +localtime = dt.astimezone(pytz.timezone('US/Eastern')) +localtime_str = localtime.strftime("%Y-%m-%d %H:%M:%S") + """ + self.expressionEngine.execute(self.task, script) + self.assertEqual(self.task.data['now_utc'].utcoffset().days, 0) + self.assertEqual(self.task.data['now_est'].tzinfo.zone, "US/Eastern") + self.assertEqual(self.task.data['localtime_str'], "2021-09-23 12:11:00") + self.assertTrue(True) + + def testFunctionsAndGlobalsAreRemoved(self): + self.assertIn('testvar', self.task.data) + self.assertIn('testvar2', self.task.data) + self.assertIn('sample', self.task.data) + self.assertNotIn('my_function', self.task.data) + self.assertNotIn('datetime', self.task.data) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(PythonScriptEngineTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ResetSubProcessTest.py b/tests/SpiffWorkflow/bpmn/ResetSubProcessTest.py new file mode 100644 index 000000000..81e5f330e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ResetSubProcessTest.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ResetSubProcessTest(BpmnWorkflowTestCase): + """Assure we can reset a token to a previous task when we have + a sub-workflow.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('resetworkflowA-*.bpmn', 'TopLevel') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def reload_save_restore(self): + + spec, subprocesses = self.load_workflow_spec('resetworkflowB-*.bpmn', 'TopLevel') + self.workflow = BpmnWorkflow(spec, subprocesses) + # Save and restore the workflow, without including the spec. + # When loading the spec, use a slightly different spec. + self.workflow.do_engine_steps() + state = self.serializer.serialize_json(self.workflow) + self.workflow = self.serializer.deserialize_json(state) + self.workflow.spec = spec + self.workflow.subprocesses = subprocesses + + def testSaveRestore(self): + self.actualTest(True) + + def testResetToOuterWorkflowWhileInSubWorkflow(self): + + self.workflow.do_engine_steps() + top_level_task = self.workflow.get_ready_user_tasks()[0] + self.workflow.complete_task_from_id(top_level_task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.save_restore() + top_level_task = self.workflow.get_tasks_from_spec_name('Task1')[0] + top_level_task.reset_token({}, reset_data=True) + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(), 'Task1') + + + def actualTest(self, save_restore=False): + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_ready_user_tasks())) + task = self.workflow.get_ready_user_tasks()[0] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(),'SubTask2') + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_tasks_from_spec_name('Task1')[0] + task.reset_token(self.workflow.last_task.data) + self.workflow.do_engine_steps() + self.reload_save_restore() + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(),'Task1') + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(),'Subtask2') + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(),'Subtask2A') + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(task.get_name(),'Task2') + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetSubProcessTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/SameNameBugTest.py b/tests/SpiffWorkflow/bpmn/SameNameBugTest.py new file mode 100644 index 000000000..7ee0907f0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/SameNameBugTest.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'sartography' + + +class SameNameBugTest(BpmnWorkflowTestCase): + + """Should we bail out with a good error message, when two BPMN diagrams + that work with each other, have tasks with the same id?!?""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('same_id*.bpmn', 'same_id') + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=PythonScriptEngine()) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + if save_restore: + self.save_restore() + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(SameNameBugTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ScriptTest.py b/tests/SpiffWorkflow/bpmn/ScriptTest.py new file mode 100644 index 000000000..efe9f1c85 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ScriptTest.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class InlineScriptTest(BpmnWorkflowTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('ScriptTest.bpmn', 'ScriptTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.workflow.do_engine_steps() + data = self.workflow.last_task.data + self.assertEqual(data,{'testvar': {'a': 1, 'b': 2, 'new': 'Test'}, + 'testvar2': [{'x': 1, 'y': 'a'}, + {'x': 2, 'y': 'b'}, + {'x': 3, 'y': 'c'}], + 'sample': ['b', 'c']}) + + def testNoDataPollution(self): + """Ran into an issue where data from one run of a workflow could + bleed into a separate execution. It will think a variable is there + when it should not be there""" + startTask = self.workflow.get_tasks(TaskState.READY)[0] + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + self.assertTrue("testvar" in self.workflow.last_task.data) + self.assertFalse("testvar" in startTask.data) + + # StartTask doesn't know about testvar, it happened earlier. + # calling an exec that references testvar, in the context of the + # start task should fail. + with self.assertRaises(WorkflowTaskExecException): + result = self.workflow.script_engine.evaluate(startTask, 'testvar == True') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(InlineScriptTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ScriptTestBox.py b/tests/SpiffWorkflow/bpmn/ScriptTestBox.py new file mode 100644 index 000000000..0303afbd9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ScriptTestBox.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- + + + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class InlineScriptTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec = self.load_spec() + + def load_spec(self): + return self.load_workflow_spec('ScriptTestBox.bpmn', 'ScriptTest') + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + data = self.workflow.last_task.data + self.assertEqual(data,{'testvar': {'a': 1, 'b': 2, 'new': 'Test'}, + 'testvar2': [{'x': 1, 'y': 'a'}, + {'x': 2, 'y': 'b'}, + {'x': 3, 'y': 'c'}], + 'sample': ['b', 'c'], 'end_event': None}) + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(InlineScriptTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/ServiceTaskTest.py b/tests/SpiffWorkflow/bpmn/ServiceTaskTest.py new file mode 100644 index 000000000..290607081 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/ServiceTaskTest.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +import os +import sys +import unittest + +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +class ServiceTaskTest(BpmnWorkflowTestCase): + + def setUp(self): + + spec, subprocesses = self.load_workflow_spec('service_task.bpmn', + 'service_task_example1') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.workflow.do_engine_steps() + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ServiceTaskTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/SubWorkflowMultiTest.py b/tests/SpiffWorkflow/bpmn/SubWorkflowMultiTest.py new file mode 100644 index 000000000..83dfcef26 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/SubWorkflowMultiTest.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class SubWorkflowMultiTest(BpmnWorkflowTestCase): + + expected_data = { + 'a': {'name': 'Apple_edit', + 'new_info': 'Adding this!'}, + 'b': {'name': 'Bubble_edit', + 'new_info': 'Adding this!'}, + 'c': {'name': 'Crap, I should write better code_edit', + 'new_info': 'Adding this!'} + } + + def testSequential(self): + spec, subprocesses = self.load_workflow_spec('sub_workflow_multi.bpmn', 'ScriptTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + data = self.workflow.last_task.data + self.assertEqual(data['my_collection'], self.expected_data) + + def testParallel(self): + spec, subprocesses= self.load_workflow_spec('sub_workflow_multi_parallel.bpmn', 'ScriptTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + data = self.workflow.last_task.data + self.assertEqual(data['my_collection'], self.expected_data) + + def testWrapped(self): + spec, subprocesses = self.load_workflow_spec('sub_within_sub_multi.bpmn', 'ScriptTest') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + data = self.workflow.last_task.data + self.assertEqual(self.expected_data, data['my_collection']) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(SubWorkflowMultiTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/SwimLaneTest.py b/tests/SpiffWorkflow/bpmn/SwimLaneTest.py new file mode 100644 index 000000000..416382734 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/SwimLaneTest.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class SwimLaneTest(BpmnWorkflowTestCase): + """ + Test sample bpmn document to make sure the nav list + contains the correct swimlane in the 'lane' component + and make sure that our waiting tasks accept a lane parameter + and that it picks up the correct tasks. + """ + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('lanes.bpmn','lanes') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + + self.workflow.do_engine_steps() + + atasks = self.workflow.get_ready_user_tasks(lane="A") + btasks = self.workflow.get_ready_user_tasks(lane="B") + self.assertEqual(1, len(atasks)) + self.assertEqual(0, len(btasks)) + task = atasks[0] + self.assertEqual('Activity_A1', task.task_spec.name) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + atasks = self.workflow.get_ready_user_tasks(lane="A") + btasks = self.workflow.get_ready_user_tasks(lane="B") + self.assertEqual(0, len(atasks)) + self.assertEqual(1, len(btasks)) + + # Complete the gateway and the two tasks in B Lane + btasks[0].data = {'NeedClarification': False} + self.workflow.complete_task_from_id(btasks[0].id) + self.workflow.do_engine_steps() + btasks = self.workflow.get_ready_user_tasks(lane="B") + self.workflow.complete_task_from_id(btasks[0].id) + self.workflow.do_engine_steps() + + # Assert we are in lane C + tasks = self.workflow.get_ready_user_tasks() + self.assertEqual(1, len(tasks)) + self.assertEqual(tasks[0].task_spec.lane, "C") + + # Step into the sub-process, assure that is also in lane C + self.workflow.complete_task_from_id(tasks[0].id) + self.workflow.do_engine_steps() + tasks = self.workflow.get_ready_user_tasks() + self.assertEqual("SubProcessTask", tasks[0].task_spec.description) + self.assertEqual(tasks[0].task_spec.lane, "C") + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(SwimLaneTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/TooManyLoopsTest.py b/tests/SpiffWorkflow/bpmn/TooManyLoopsTest.py new file mode 100644 index 000000000..a1018e0b6 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/TooManyLoopsTest.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'sartography' + + +class TooManyLoopsTest(BpmnWorkflowTestCase): + + """Looping back around many times would cause the tree of tasks to grow + for each loop, doing this a 100 or 1000 times would cause the system to + run fail in various ways. This assures that is no longer the case.""" + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + spec, subprocesses = self.load_workflow_spec('too_many_loops*.bpmn', 'loops') + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=PythonScriptEngine()) + counter = 0 + data = {} + while not self.workflow.is_completed(): + self.workflow.do_engine_steps() + self.workflow.refresh_waiting_tasks() + if (self.workflow.last_task.data != data): + data = self.workflow.last_task.data + counter += 1 # There is a 10 millisecond wait task. + if save_restore: + self.save_restore() + self.assertEqual(20, self.workflow.last_task.data['counter']) + + def test_with_sub_process(self): + # Found an issue where looping back would fail when it happens + # right after a sub-process. So assuring this is fixed. + counter = 0 + spec, subprocesses = self.load_workflow_spec('too_many_loops_sub_process.bpmn', 'loops_sub') + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=PythonScriptEngine()) + data = {} + while not self.workflow.is_completed(): + self.workflow.do_engine_steps() + self.workflow.refresh_waiting_tasks() + if (self.workflow.last_task.data != data): + data = self.workflow.last_task.data + counter += 1 # There is a 10 millisecond wait task. +# self.save_restore() + self.assertEqual(20, self.workflow.last_task.data['counter']) + # One less, because we don't go back through once the first counter + # hits 20. + self.assertEqual(19, self.workflow.last_task.data['counter2']) + + def test_with_two_call_activities(self): + spec, subprocess = self.load_workflow_spec('sub_in_loop*.bpmn', 'main') + self.workflow = BpmnWorkflow(spec, subprocess) + self.workflow.do_engine_steps() + for loop in range(3): + ready = self.workflow.get_ready_user_tasks() + ready[0].data = { 'done': True if loop == 3 else False } + ready[0].complete() + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.save_restore() + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TooManyLoopsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/__init__.py b/tests/SpiffWorkflow/bpmn/__init__.py new file mode 100644 index 000000000..02764216f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + + +__author__ = 'matth' diff --git a/tests/SpiffWorkflow/bpmn/data/Approvals.bpmn b/tests/SpiffWorkflow/bpmn/data/Approvals.bpmn new file mode 100644 index 000000000..152f7785d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Approvals.bpmn @@ -0,0 +1,403 @@ + + + + + + Person who takes the first action to start the process + + + + + + + + + + + Start1 + First_Approval_Wins + End1 + First_Approval_Wins_Done + Parallel_Approvals_Done + Parallel_SP + Parallel_SP_Done + + + + Supervisor_Approval__P_ + Gateway4 + Gateway5 + + + + Manager_Approval__P_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Supervisor_Approval + Start2 + Supervisor_Approved + + + + Manager_Approval + Manager_Approved + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Start3 + Supervisor_Approval + End2 + + + + Manager_Approval + + + + Step1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Approvals_bad.bpmn b/tests/SpiffWorkflow/bpmn/data/Approvals_bad.bpmn new file mode 100644 index 000000000..5e33ada61 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Approvals_bad.bpmn @@ -0,0 +1,403 @@ + + + + + + Person who takes the first action to start the process + + + + + + + + + + + Start1 + First_Approval_Wins + End1 + First_Approval_Wins_Done + Parallel_Approvals_Done + Parallel_SP + Parallel_SP_Done + + + + Supervisor_Approval__P_ + Gateway4 + Gateway5 + + + + Manager_Approval__P_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Supervisor_Approval + Start2 + Supervisor_Approved + + + + Manager_Approval + Manager_Approved + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Start3 + Supervisor_Approval + End2 + + + + Manager_Approval + + + + Step1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ComplexNavigation.bpmn b/tests/SpiffWorkflow/bpmn/data/ComplexNavigation.bpmn new file mode 100644 index 000000000..87b743e07 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ComplexNavigation.bpmn @@ -0,0 +1,746 @@ + + + + + Flow_0kcrx5l + + + + Flow_0kcrx5l + Flow_1seuuie + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_12obxbo + Flow_1y4gjsg + + + Flow_02614fd + Flow_0c4tt8e + ro.chair = {} +ro.chair.uid = RO_Chair_CID +ro.chair.name_degree = RO_Chair_Name_Degree +ro.chair.title = RO_Chair_Title +ro.chair.sig_block = RO_Chair_Sig_Block + + + Flow_1seuuie + Flow_1ni06mz + Flow_1y9edqt + + + Flow_1y9edqt + Flow_1oriwwz + Flow_185jvp3 + + + Flow_185jvp3 + Flow_1dh8c45 + sch_enum = [] +if pi.E0.schoolAbbrv != "MD": + sch_enum_md = [ + { + "value": "MD", + "label": "Medicine" + }, + ] +else: + sch_enum_md = [] +if pi.E0.schoolAbbrv != "AS": + sch_enum_as = [ + { + "value": "AS", + "label": "Arts & Science" + }, + ] +else: + sch_enum_as = [] +if pi.E0.schoolAbbrv != "CU": + sch_enum_cu = [ + { + "value": "CU", + "label": "Education" + }, + ] +else: + sch_enum_cu = [] +if pi.E0.schoolAbbrv != "NR": + sch_enum_nr = [ + { + "value": "NR", + "label": "Nursing" + }, + ] +else: + sch_enum_nr = [] +sch_enum = sch_enum_md + sch_enum_as + sch_enum_cu + sch_enum_nr +del(sch_enum_md) +del(sch_enum_as) +del(sch_enum_cu) +del(sch_enum_nr) + + + + + + + + + + + + + + Flow_1dh8c45 + Flow_0mf9npl + + + Flow_1oriwwz + Flow_0nmpxmc + Flow_12obxbo + Flow_03s8gvx + Flow_0nzochy + Flow_0h955ao + + + Flow_1y4gjsg + Flow_0lnb8jw + Flow_1fqtd41 + Flow_0a626ba + + + Flow_0a626ba + Flow_0ssrpqx + if PIsPrimaryDepartmentSameAsRO.value == "diffSchool": + ro.schoolName = RO_StudySchool.label + ro.schoolAbbrv = RO_StudySchool.value + +if PIsPrimaryDepartmentSameAsRO.value != "yes": + if ro.schoolAbbrv == "MD": + ro.deptName = RO_StudyDeptMedicine.label + ro.deptAbbrv = RO_StudyDeptMedicine.value + elif ro.schoolAbbrv == "AS": + ro.deptName = RO_StudyDeptArtsSciences.label + ro.deptAbbrv = RO_StudyDeptArtsSciences.value + elif ro.schoolAbbrv == "CU": + ro.deptName = RO_StudyDeptEducation.label + ro.deptAbbrv = RO_StudyDeptEducation.value + else: + ro.deptName = "" + ro.deptAbbrv = "" + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_0nzochy + Flow_0lnb8jw + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_0h955ao + Flow_1fqtd41 + + + Flow_0mf9npl + Flow_0nmpxmc + ro.schoolName = RO_StudySchool.label +ro.schoolAbbrv = RO_StudySchool.value + + + Flow_03s8gvx + Flow_0ssrpqx + Flow_0tnnt3b + + + ro.schoolAbbrv == "CU" + + + + + + + PIsPrimaryDepartmentSameAsRO.value != "yes" + + + + PIsPrimaryDepartmentSameAsRO.value == 'diffSchool' + + + + + + ro.schoolAbbrv not in ["MD", "AS", "CU"] + + + + ro.schoolAbbrv == "AS" + + + + + + + + Flow_1ni06mz + Flow_0tnnt3b + Flow_02614fd + + + temp + Flow_15xpsq8 + Flow_1g7q28p + + + Flow_0cqbu1f + Flow_1d4sb3d + Flow_12oux1f + Flow_0ygr7cu + + + The following Primary Coordinators were entered in Protocol Builder: +{%+ for key, value in pcs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_pcs %}, {% endif %}{% endfor %} +To Save the current settings for all Primary Coordinators, select Save All. + + +Otherwise, edit each Coordinator as necessary and select the Save button for each. + +### Please provide supplemental information for: + #### {{ pc.display_name }} + ##### Title: {{ pc.title }} + + ##### Department: {{ pc.department }} + ##### Affiliation: {{ pc.affiliation }} + + + + + + + Flow_12oux1f + Flow_1ik148z + + + + Flow_0c4tt8e + Flow_05g7d16 + Flow_13zasb1 + + + The PI is also the RO Chair + Flow_13zasb1 + Flow_0cqbu1f + + + Flow_0efu6u1 + Flow_0a3fjzp + Flow_0ljn2v6 + Flow_0pdoc38 + + + The following Sub-Investigators were entered in Protocol Builder: +{%+ for key, value in subs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_subs %}, {% endif %}{% endfor %} +To Save the current settings for all Sub-Investigators, select Save All. + + +Otherwise, edit each Sub-Investigator as necessary and select the Save button for each. + + +### Please provide supplemental information for: + #### {{ sub.display_name }} + ##### Title: {{ sub.title }} + + ##### Department: {{ sub.department }} + ##### Affiliation: {{ sub.affiliation }} + + + + + + + Flow_0ljn2v6 + Flow_07vu2b0 + + + + Flow_1ik148z + Flow_0ygr7cu + Flow_0a3fjzp + Flow_0rstqv5 + + + The following Additional Coordinators were entered in Protocol Builder: +{%+ for key, value in acs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_acs %}, {% endif %}{% endfor %} +To Save the current settings for all Additional Coordinators, select Save All. + + + + +Otherwise, edit each Coordinator as necessary and select the Save button for each. + + +### Please provide supplemental information for: + #### {{ acs.display_name }} + ##### Title: {{ acs.title }} + + + ##### Department: {{ acs.department }} + ##### Affiliation: {{ acs.affiliation }} + Flow_0rstqv5 + Flow_0efu6u1 + + + + Flow_0pdoc38 + Flow_07vu2b0 + Flow_1g7q28p + Flow_0qti1ms + + + The following Additional Personnel were entered in Protocol Builder: +{%+ for key, value in aps.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_aps %}, {% endif %}{% endfor %} +To Save the current settings for all Additional Personnel, select Save All. + + + + +Otherwise, edit each Additional Personnel as necessary and select the Save button for each. + + + + +### Please provide supplemental information for: + #### {{ ap.display_name }} + ##### Title: {{ ap.title }} + + + ##### Department: {{ ap.department }} + ##### Affiliation: {{ ap.affiliation }} + + + + + + + Flow_0qti1ms + Flow_15xpsq8 + + + + ***Name & Degree:*** {{ RO_Chair_Name_Degree }} +***School:*** {{ RO_School }} +***Department:*** {{ RO_Department }} +***Title:*** {{ RO_Chair_Title }} +***Email:*** {{ RO_Chair_CID }} + + +{% if RO_Chair_CID != dc.uid %} + *Does not match the Department Chair specified in Protocol Builder, {{ dc.display_name }}* +{% endif %} + + + + + + + + + + Flow_05g7d16 + Flow_1d4sb3d + + + + + + + + + + + RO_Chair_CID == pi.uid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ExclusiveGatewayMultipleEndNavigation.bpmn b/tests/SpiffWorkflow/bpmn/data/ExclusiveGatewayMultipleEndNavigation.bpmn new file mode 100644 index 000000000..28c4a5538 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ExclusiveGatewayMultipleEndNavigation.bpmn @@ -0,0 +1,143 @@ + + + + + Flow_0kcrx5l + + + ##### Please confirm Primary Investigator entered in Protocol Builder is correct and if so, provide additional information: +### **{{ pi.display_name }}** +***Email:*** {{ pi.email_address }} + +**Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + +{% if is_me_pi %} +Since you are the person entering this information, you already have access and will receive all emails. +{% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flow_147b9li + Flow_0xnj2rp + + + + + Flow_1dcsioh + Flow_147b9li + Flow_00prawo + + + tru + + + false + + + Flow_16qr5jf + + + + Flow_0kcrx5l + Flow_1dcsioh + + + No PI entered in PB + Flow_00prawo + Flow_16qr5jf + + + Flow_0xnj2rp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml new file mode 100644 index 000000000..228a66cf9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.bpmn20.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + + + + This not actually connected to the subprocess task - it's just on top + + + + + + + + + sid-7ED4D4F6-491F-4317-A37D-51C86F911524 + sid-137E71C6-FE26-418B-AFC0-1083027370F7 + sid-D99DD91F-8C51-4913-872A-DBBB5C7BE66C + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.signavio.xml new file mode 100644 index 000000000..6c8e6d360 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Disconnected-Boundary-Event.signavio.xml @@ -0,0 +1,3735 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Disconnected Boundary Event + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for + + + Message Non + + + Interrupt SP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + This not + actually + connected to + + + the subprocess + task - it's + just + + + on top + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for Disconnected Boundary + Event + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + + + In a Subprocess + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.bpmn20.xml new file mode 100644 index 000000000..cdce4e0cb --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.bpmn20.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-361A64F9-EF4B-495B-AEF1-1FA282A62607 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + sid-EF7E5895-D344-4F95-87D1-981F64B1A3D2 + sid-DB365392-51BD-46A6-8521-AD17E140A6E8 + sid-B912FC0D-7824-41E6-BC28-4A8B6B0DF94F + + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + sid-0B688C65-99C8-407B-9D5A-2C670FE80BE8 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + + + + sid-5CB3BBEE-8865-4698-B10F-4D323DA96E4A + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + sid-5CB3BBEE-8865-4698-B10F-4D323DA96E4A + + + + + + sid-D420ADDD-33AD-43E1-A95A-CCE637A7C326 + + + + + + sid-D420ADDD-33AD-43E1-A95A-CCE637A7C326 + sid-0B688C65-99C8-407B-9D5A-2C670FE80BE8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.signavio.xml new file mode 100644 index 000000000..19fb488b5 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Multiple-Start-Events.signavio.xml @@ -0,0 +1,3373 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Multiple Start Events + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + for a + + + While + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Another thing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.bpmn20.xml new file mode 100644 index 000000000..091ebe470 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.bpmn20.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-361A64F9-EF4B-495B-AEF1-1FA282A62607 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.signavio.xml new file mode 100644 index 000000000..477f0074f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/No-Start-Event.signavio.xml @@ -0,0 +1,2404 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No Start Event + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + for a + + + While + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/README.txt b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/README.txt new file mode 100644 index 000000000..8e8379c38 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/README.txt @@ -0,0 +1,6 @@ +Please note that these files were created with Gemsbok. + +Please install and configure it, in order to edit them, rather than doing so by hand, as the .signavio.xml files +need to be kept in sync. + +It is here: https://github.com/matthewhampton/Gemsbok diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.bpmn20.xml new file mode 100644 index 000000000..5e78d2687 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.bpmn20.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + + + + + + + + + sid-7ED4D4F6-491F-4317-A37D-51C86F911524 + sid-D99DD91F-8C51-4913-872A-DBBB5C7BE66C + sid-10515BFA-0CEC-4B8B-B3BE-E717DEBA6D89 + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + + + + + + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.signavio.xml new file mode 100644 index 000000000..87b91546b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Recursive-Subprocesses.signavio.xml @@ -0,0 +1,3428 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Recursive Subprocesses + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for + + + Recursive + + + Subprocesses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for Recursive Subprocesses + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Recursive + + + Subprocesses + + + (callback!) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml new file mode 100644 index 000000000..478c7294a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.bpmn20.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + + + + + + + + + sid-7ED4D4F6-491F-4317-A37D-51C86F911524 + sid-137E71C6-FE26-418B-AFC0-1083027370F7 + sid-D99DD91F-8C51-4913-872A-DBBB5C7BE66C + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.signavio.xml new file mode 100644 index 000000000..ed0b8aef4 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Subprocess-Not-Found.signavio.xml @@ -0,0 +1,3565 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess Not Found + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for + + + Subprocess Not + + + Found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for Subprocess Not Found + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + + + In a Subprocess + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.bpmn20.xml new file mode 100644 index 000000000..79410f7cd --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.bpmn20.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-361A64F9-EF4B-495B-AEF1-1FA282A62607 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + sid-22E8C43C-2108-49C8-B281-EF8BFDDE459F + sid-75EEAB28-3B69-4282-B91A-0F3C97931834 + + + + + + + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + sid-44DBB1DF-9836-4CB8-896D-1D2DEFE8CD20 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + + + + sid-F1D58491-5B19-461B-8F3E-ABF544D3C488 + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + sid-F1D58491-5B19-461B-8F3E-ABF544D3C488 + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-44DBB1DF-9836-4CB8-896D-1D2DEFE8CD20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.signavio.xml new file mode 100644 index 000000000..6270330fd --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Invalid-Workflows/Unsupported-Task.signavio.xml @@ -0,0 +1,3182 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unsupported Task + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + for a + + + While + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Business Rule + + + Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTask.bpmn b/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTask.bpmn new file mode 100644 index 000000000..6b02f0961 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTask.bpmn @@ -0,0 +1,59 @@ + + + + + Flow_0t6p1sb + + + + Flow_0ugjw69 + + + + Flow_0ds4mp0 + Flow_0ugjw69 + + collection + + + + Flow_0t6p1sb + Flow_0ds4mp0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTaskCond.bpmn b/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTaskCond.bpmn new file mode 100644 index 000000000..2945c381a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/MultiInstanceParallelTaskCond.bpmn @@ -0,0 +1,145 @@ + + + + + Flow_0t6p1sb + + + + Flow_0ugjw69 + Flow_1oo4mpj + + + + Flow_0u92n7b + Flow_0ugjw69 + + + + Flow_0t6p1sb + Flow_0ds4mp0 + + + + Flow_1sx7n9u + Flow_1oo4mpj + Flow_0u92n7b + + + len(collection.keys())==0 + + + + + Flow_0ds4mp0 + Flow_1dah8xt + Flow_0i1bv5g + + + + Flow_1dah8xt + Flow_0io0g18 + + + Flow_0io0g18 + Flow_0i1bv5g + Flow_1sx7n9u + + + + 1==1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/NavLeapFrogLong.bpmn b/tests/SpiffWorkflow/bpmn/data/NavLeapFrogLong.bpmn new file mode 100644 index 000000000..6a92338e8 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/NavLeapFrogLong.bpmn @@ -0,0 +1,1209 @@ + + + + + Flow_0kcrx5l + + + Flow_0kcrx5l + Flow_1dcsioh + current_user = ldap() +investigators = study_info('investigators') +# Primary Investigator +pi = investigators.get('PI', None) +is_cu_pi = False +if pi != None: + hasPI = True + study_data_set("PiUid",pi['uid']) + if pi.get('uid', None) != None: + pi_invalid_uid = False + if pi['uid'] == current_user['uid']: + is_cu_pi = True + else: + pi_invalid_uid = True +else: + hasPI = False + +# Department Chair +dc = investigators.get('DEPT_CH', None) +if dc != None: + if dc.get('uid', None) != None: + dc_invalid_uid = False + else: + dc_invalid_uid = True +else: + dc_invalid_uid = False + +# Primary Coordinators +pcs = {} +is_cu_pc = False +cnt_pcs_uid = 0 +for k in investigators.keys(): + if k in ['SC_I','SC_II','IRBC']: + investigator = investigators.get(k) + if investigator.get('uid', None) != None: + if investigator['uid'] != current_user['uid']: + pcs[k] = investigator + cnt_pcs_uid = cnt_pcs_uid + 1 + else: + is_cu_pc = True + is_cu_pc_role = investigator['label'] + else: + pcs[k] = investigator +cnt_pcs = len(pcs.keys()) +if cnt_pcs != cnt_pcs_uid: + pcs_invalid_uid = True +else: + pcs_invalid_uid = False +if cnt_pcs > 0: + del(k) + del(investigator) + +# Additional Coordinators +acs = {} +is_cu_ac = False +cnt_acs_uid = 0 +for k in investigators.keys(): + if k == 'AS_C': + investigator = investigators.get(k) + if investigator.get('uid', None) != None: + if investigator['uid'] != current_user['uid']: + acs[k] = investigator + cnt_acs_uid = cnt_acs_uid + 1 + else: + is_cu_ac = True + is_cu_ac_role = investigator['label'] + else: + acs[k] = investigator +cnt_acs = len(acs.keys()) +if cnt_pcs != cnt_pcs_uid: + acs_invalid_uid = True +else: + acs_invalid_uid = False +if cnt_acs > 0: + del(k) + del(investigator) + +# Sub-Investigatoers +subs = {} +is_cu_subs = False +cnt_subs_uid = 0 +for k in investigators.keys(): + if k[:2] == 'SI': + investigator = investigators.get(k) + if investigator.get('uid', None) != None: + if investigator['uid'] != current_user['uid']: + subs[k] = investigator + cnt_subs_uid = cnt_subs_uid + 1 + else: + is_cu_subs = True + else: + subs[k] = investigator +cnt_subs = len(subs.keys()) +if cnt_subs != cnt_subs_uid: + subs_invalid_uid = True +else: + subs_invalid_uid = False +if cnt_subs > 0: + del(k) + del(investigator) + +# Additional Personnel +aps = {} +is_cu_ap = False +cnt_aps_uid = 0 +for k in investigators.keys(): + if k in ['SCI','DC']: + investigator = investigators.get(k) + if investigator.get('uid', None) != None: + if investigator['uid'] != current_user['uid']: + aps[k] = investigator + cnt_aps_uid = cnt_aps_uid + 1 + else: + is_cu_ap = True + is_cu_ap_role = investigator['label'] + else: + aps[k] = investigator +cnt_aps = len(aps.keys()) +if cnt_aps != cnt_aps_uid: + aps_invalid_uid = True +else: + aps_invalid_uid = False +if cnt_aps > 0: + del(k) + del(investigator) +del(investigators) + + + temp + Flow_10zn0h1 + Flow_0kp47dz + + + ##### Please confirm Primary Investigator entered in Protocol Builder is correct and if so, provide additional information: +### **{{ pi.display_name }}** +***Email:*** {{ pi.email_address }} + +**Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + +{% if is_me_pi %} +Since you are the person entering this information, you already have access and will receive all emails. +{% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flow_1kg5jot + Flow_1mplloa + + + + + Flow_1dcsioh + Flow_147b9li + Flow_00prawo + + + + not(hasPI) or (hasPI and pi_invalid_uid) + + + No PI entered in PB + Flow_00prawo + Flow_16qr5jf + + + Flow_0kpe12r + Flow_1ayisx2 + Flow_0xifvai + Flow_1oqem42 + + + + + The following Primary Coordinators were entered in Protocol Builder: +{%+ for key, value in pcs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_pcs %}, {% endif %}{% endfor %} +To Save the current settings for all Primary Coordinators, select Save All. + + +Otherwise, edit each Coordinator as necessary and select the Save button for each. + +### Please provide supplemental information for: + #### {{ pc.display_name }} + ##### Title: {{ pc.title }} + + ##### Department: {{ pc.department }} + ##### Affiliation: {{ pc.affiliation }} + + + + + + + Flow_0xifvai + Flow_1n0k4pd + + + + cnt_pcs == 0 + + + Flow_0tfprc8 + Flow_0tsdclr + Flow_1grahhv + LDAP_dept = pi.department +length_LDAP_dept = len(LDAP_dept) +pi.E0 = {} +if length_LDAP_dept > 0: + E0_start = LDAP_dept.find("E0:") + 3 + E0_slice = LDAP_dept[E0_start:length_LDAP_dept] + E0_first_hyphen = E0_slice.find("-") + E0_dept_start = E0_first_hyphen + 1 + pi.E0.schoolAbbrv = E0_slice[0:E0_first_hyphen] + isSpace = " " in E0_slice + if isSpace: + E0_first_space = E0_slice.find(" ") + E0_spec_start = E0_first_space + 1 + E0_spec_end = len(E0_slice) + pi.E0.deptAbbrv = E0_slice[E0_dept_start:E0_first_space] + pi.E0.specName = E0_slice[E0_spec_start:E0_spec_end] + else: + pi.E0.specName = "" +else: + pi.E0.schoolAbbrv = "Not in LDAP" + pi.E0.deptAbbrv = "Not in LDAP" + pi.E0.specName = "Not in LDAP" + + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_0iuzu7j + Flow_0whqr3p + + + + Flow_070j5fg + Flow_0vi6thu + Flow_00yhlrq + + + + RO_Chair_CID == pi.uid + + + The PI is also the RO Chair + Flow_00yhlrq + Flow_0kpe12r + + + + Flow_12ss6u8 + Flow_0dt3pjw + Flow_05rqrlf + Flow_0jxzqw1 + + + + + cnt_subs == 0 + + + The following Sub-Investigators were entered in Protocol Builder: +{%+ for key, value in subs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_subs %}, {% endif %}{% endfor %} +To Save the current settings for all Sub-Investigators, select Save All. + + +Otherwise, edit each Sub-Investigator as necessary and select the Save button for each. + + +### Please provide supplemental information for: + #### {{ sub.display_name }} + ##### Title: {{ sub.title }} + + ##### Department: {{ sub.department }} + ##### Affiliation: {{ sub.affiliation }} + + + + + + + Flow_05rqrlf + Flow_0ofpgml + + + + Please enter the Private Investigator in Protocol Builder. + Flow_16qr5jf + + + + + Flow_1grahhv + Flow_1kg5jot + pi.E0.schoolName = PI_E0_schoolName +pi.E0.deptName = PI_E0_deptName +pi_experience_key = "pi_experience_" + pi.user_id +pi.experience = user_data_get(pi_experience_key,"") +ro = {} +ro['chair'] = {} + + + + Flow_1oo0ijr + Flow_070j5fg + ro.chair = {} +ro.chair.uid = RO_Chair_CID +ro.chair.name_degree = RO_Chair_Name_Degree +ro.chair.title = RO_Chair_Title +ro.chair.sig_block = RO_Chair_Sig_Block + + + Flow_1n0k4pd + Flow_1oqem42 + Flow_1gtl2o3 + Flow_0dt3pjw + + + + + The following Additional Coordinators were entered in Protocol Builder: +{%+ for key, value in acs.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_acs %}, {% endif %}{% endfor %} +To Save the current settings for all Additional Coordinators, select Save All. + + + + +Otherwise, edit each Coordinator as necessary and select the Save button for each. + + +### Please provide supplemental information for: + #### {{ acs.display_name }} + ##### Title: {{ acs.title }} + + + ##### Department: {{ acs.department }} + ##### Affiliation: {{ acs.affiliation }} + Flow_1gtl2o3 + Flow_12ss6u8 + + + + cnt_acs == 0 + + + Flow_1va8c15 + Flow_1yd7kbi + Flow_0w4d2bz + + + Flow_1yd7kbi + Flow_13la8l3 + Flow_0ycdxbl + + + PIsPrimaryDepartmentSameAsRO.value != "yes" + + + + PIsPrimaryDepartmentSameAsRO.value == 'diffSchool' + + + Flow_0ycdxbl + Flow_1fj9iz0 + sch_enum = [] +if pi.E0.schoolAbbrv != "MD": + sch_enum_md = [ + { + "value": "MD", + "label": "Medicine" + }, + ] +else: + sch_enum_md = [] +if pi.E0.schoolAbbrv != "AS": + sch_enum_as = [ + { + "value": "AS", + "label": "Arts & Science" + }, + ] +else: + sch_enum_as = [] +if pi.E0.schoolAbbrv != "CU": + sch_enum_cu = [ + { + "value": "CU", + "label": "Education" + }, + ] +else: + sch_enum_cu = [] +if pi.E0.schoolAbbrv != "NR": + sch_enum_nr = [ + { + "value": "NR", + "label": "Nursing" + }, + ] +else: + sch_enum_nr = [] +sch_enum = sch_enum_md + sch_enum_as + sch_enum_cu + sch_enum_nr +del(sch_enum_md) +del(sch_enum_as) +del(sch_enum_cu) +del(sch_enum_nr) + + + + + + + + + + + + + + + Flow_1fj9iz0 + Flow_1yz8k2a + + + + + Flow_13la8l3 + Flow_0mdjaid + Flow_0fw4rck + Flow_1azfvtx + Flow_0giqf35 + Flow_0iuzu7j + + + ro.schoolAbbrv not in ["MD", "AS", "CU"] + + + Flow_0whqr3p + Flow_0zc01f9 + Flow_1vyg8ir + Flow_0m9peiz + + + + Flow_0m9peiz + Flow_1vv63qa + if PIsPrimaryDepartmentSameAsRO.value == "diffSchool": + ro.schoolName = RO_StudySchool.label + ro.schoolAbbrv = RO_StudySchool.value + +if PIsPrimaryDepartmentSameAsRO.value != "yes": + if ro.schoolAbbrv == "MD": + ro.deptName = RO_StudyDeptMedicine.label + ro.deptAbbrv = RO_StudyDeptMedicine.value + elif ro.schoolAbbrv == "AS": + ro.deptName = RO_StudyDeptArtsSciences.label + ro.deptAbbrv = RO_StudyDeptArtsSciences.value + elif ro.schoolAbbrv == "CU": + ro.deptName = RO_StudyDeptEducation.label + ro.deptAbbrv = RO_StudyDeptEducation.value + else: + ro.deptName = "" + ro.deptAbbrv = "" + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_1azfvtx + Flow_0zc01f9 + + + Flow_1e0yt3v + Flow_0shnt6k + Flow_1va8c15 + ro = {} +ro['schoolName'] = PI_E0_schoolName +ro['schoolAbbrv'] = pi.E0.schoolAbbrv +ro['deptName'] = pi.E0.deptName +ro['deptAbbrv'] = pi.E0.deptAbbrv + + + + + + The Study's Responsible Organization is needed in order to confirm the Department Chair. If it is the same as the Primary Investigator's Primary Department show below, we have all the information needed to determine the Department Chair. + + +**Primary Investigator's Primary Appointment** +***School:*** {{ pi.E0.schoolName }} +***Department:*** {{ pi.E0.deptName }} + + + + + + + + + + + + + Flow_0giqf35 + Flow_1vyg8ir + + + + + + + Flow_1yz8k2a + Flow_0mdjaid + ro.schoolName = RO_StudySchool.label +ro.schoolAbbrv = RO_StudySchool.value + + + + ro.schoolAbbrv == "AS" + + + ro.schoolAbbrv == "CU" + + + Flow_1vv63qa + Flow_0fw4rck + Flow_0vff9k5 + + + + Flow_0ofpgml + Flow_0jxzqw1 + Flow_0q56tn8 + Flow_0kp47dz + + + + + cnt_aps == 0 + + + The following Additional Personnel were entered in Protocol Builder: +{%+ for key, value in aps.items() %}{{value.display_name}} ({{key}}){% if loop.index is lt cnt_aps %}, {% endif %}{% endfor %} +To Save the current settings for all Additional Personnel, select Save All. + + + + +Otherwise, edit each Additional Personnel as necessary and select the Save button for each. + + + + +### Please provide supplemental information for: + #### {{ ap.display_name }} + ##### Title: {{ ap.title }} + + + ##### Department: {{ ap.department }} + ##### Affiliation: {{ ap.affiliation }} + + + + + + + Flow_0q56tn8 + Flow_10zn0h1 + + + + Flow_147b9li + Flow_0tfprc8 + Flow_0nz62mu + + + + dc_invalid_uid or pcs_invalid_uid or acs_invalid_uid or subs_invalid_uid or aps_invalid_uid + + + Select No if all displayed invalid Computing IDs do not need system access and/or receive emails. If they do, correct in Protocol Builder first and then select Yes. + + +{% if dc_invalid_uid %} +Department Chair + {{ dc.error }} +{% endif %} +{% if pcs_invalid_uid %} +Primary Coordinators +{% for k, pc in pcs.items() %} + {% if pc.get('uid', None) == None: %} + {{ pc.error }} + {% endif %} +{% endfor %} +{% endif %} +{% if acs_invalid_uid %} +Additional Coordinators +{% for k, ac in acs.items() %} + {% if ac.get('uid', None) == None: %} + {{ ac.error }} + {% endif %} +{% endfor %} +{% endif %} +{% if subs_invalid_uid %} +Sub-Investigators +{% for k, sub in subs.items() %} + {% if sub.get('uid', None) == None: %} + {{ sub.error }} + {% endif %} +{% endfor %} +{% endif %} +{% if aps_invalid_uid %} +Additional Personnnel +{% for k, ap in aps.items() %} + {% if ap.get('uid', None) == None: %} + {{ ap.error }} + {% endif %} +{% endfor %} +{% endif %} + + + + + + + + + + Flow_0nz62mu + Flow_16bkbuc + + + Flow_16bkbuc + Flow_0tsdclr + Flow_1mtwuyq + + + + not(FixInvalidUIDs) + + + ***Name & Degree:*** {{ RO_Chair_Name_Degree }} +***School:*** {{ RO_School }} +***Department:*** {{ RO_Department }} +***Title:*** {{ RO_Chair_Title }} +***Email:*** {{ RO_Chair_CID }} + + +{% if RO_Chair_CID != dc.uid %} + *Does not match the Department Chair specified in Protocol Builder, {{ dc.display_name }}* +{% endif %} + + + + + + + + + + Flow_0vi6thu + Flow_1ayisx2 + + + + Flow_07ur9cc + Flow_0shnt6k + user_data_set(pi_experience_key, pi.experience) + + + Flow_1mplloa + Flow_07ur9cc + Flow_1e0yt3v + + + pi.experience != user_data_get(pi_experience_key,"") + + + + + Flow_0vff9k5 + Flow_0w4d2bz + Flow_1oo0ijr + + + Flow_1mtwuyq + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ParallelOrder.bpmn b/tests/SpiffWorkflow/bpmn/data/ParallelOrder.bpmn new file mode 100644 index 000000000..b37ac39fc --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ParallelOrder.bpmn @@ -0,0 +1,138 @@ + + + + + Flow_0a440h9 + + + + Flow_0a440h9 + Flow_0fyg6vt + Flow_1hxdywg + Flow_1knmmur + Flow_1hchuue + + + Flow_0fyg6vt + Flow_0vkxjxc + + + + Flow_1hxdywg + Flow_1l55egz + + + Flow_1knmmur + Flow_1drgguy + + + Flow_1hchuue + Flow_0rxk9n3 + + + + + + + Flow_1l55egz + Flow_0vkxjxc + Flow_1drgguy + Flow_0rxk9n3 + Flow_0mckkuv + + + + + + Flow_0mckkuv + + + + These tasks were created in the opposite order in which they are displayed.  In the XML, Task4 happens first, then 3, 2, and 1. When Parsed, the order of these tasks should be 1,2,3 and 4. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ParallelWithScript.bpmn b/tests/SpiffWorkflow/bpmn/data/ParallelWithScript.bpmn new file mode 100644 index 000000000..a92df4add --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ParallelWithScript.bpmn @@ -0,0 +1,117 @@ + + + + + Flow_1swtnkk + + + + + + + + + + + Flow_1empxbr + Flow_1m1yz1x + # do nothing + + + Flow_04k0ue9 + + + + Flow_1swtnkk + Flow_1ukvcj0 + Flow_188f01l + Flow_1empxbr + + + Flow_0ykkbts + Flow_0lmf2gd + Flow_0954wrk + Flow_04k0ue9 + + + Flow_1ukvcj0 + Flow_0lmf2gd + + + Flow_188f01l + Flow_0ykkbts + + + Flow_1m1yz1x + Flow_0954wrk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ScriptTest.bpmn b/tests/SpiffWorkflow/bpmn/data/ScriptTest.bpmn new file mode 100644 index 000000000..20607466d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ScriptTest.bpmn @@ -0,0 +1,60 @@ + + + + + Flow_0dsbqk4 + + + + Flow_0dsbqk4 + Flow_1izwhjx + testvar = {'a':1,'b':2} +testvar2 = [{'x':1,'y':'a'}, + {'x':2,'y':'b'}, + {'x':3,'y':'c'}] + + + Flow_1rbktuo + + + + + Flow_1izwhjx + Flow_1rbktuo + def my_function() : + my_fun_var = 1 + +testvar['new'] = 'Test' +sample = [x['y'] for x in testvar2 if x['x'] > 1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/ScriptTestBox.bpmn b/tests/SpiffWorkflow/bpmn/data/ScriptTestBox.bpmn new file mode 100644 index 000000000..050c2e38e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/ScriptTestBox.bpmn @@ -0,0 +1,56 @@ + + + + + Flow_0dsbqk4 + + + + Flow_0dsbqk4 + Flow_1izwhjx + testvar = {'a':1,'b':2} +testvar2 = [{'x':1,'y':'a'}, + {'x':2,'y':'b'}, + {'x':3,'y':'c'}] + + + Flow_1rbktuo + + + + + Flow_1izwhjx + Flow_1rbktuo + testvar.new = 'Test' +sample = [x.y for x in testvar2 if x.x > 1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.bpmn20.xml new file mode 100644 index 000000000..85d39b530 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.bpmn20.xml @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + + + + sid-A8FDFF7F-AAEC-4FE2-A261-DC46CCE8A925 + sid-32FA774A-C8E2-4ED8-92AB-262BB2309EDC + sid-A7A0FBEC-D736-45F1-A16F-45318E27874F + sid-C077D304-0ED5-47D8-B9EA-9D390CA0F86A + sid-CBBEEC71-BFE5-48BA-875D-2D83042C2491 + sid-2C3EA718-3768-4E1B-AB38-44001C090FEE + sid-2D13DB20-B41B-44C7-BC3B-ECE223C8B793 + sid-2ABC7FB8-98FF-4BE6-8A7F-941CBDEE3232 + + + + + + sid-09C66072-F204-4E32-A501-80D7BD2F45E7 + sid-3D825928-1108-4E19-907F-E6B9ADA5BB3B + sid-F2919669-F486-4C9A-B80E-6EDE1876962A + sid-CE3659E8-9ACC-4449-AD65-C5CF2DCB8054 + sid-07366683-F441-49D4-8A06-7C3D78CCEDE4 + sid-EC95E155-147C-4FD1-AFE5-5B803F655E3B + + + + + + + sid-16CDDB98-02B8-4DB8-8433-09A1F0170561 + + + Some documentation + + + + + + sid-16CDDB98-02B8-4DB8-8433-09A1F0170561 + sid-D43E1CF5-8963-434E-9F2D-64C5ABE362A7 + + + Some docs on a gateway + + + + sid-D43E1CF5-8963-434E-9F2D-64C5ABE362A7 + sid-880EE112-139E-4533-BB98-8A1E6D943A18 + sid-4B3460BF-1433-4961-BEA6-CD4766A5F509 + + + + + + sid-C06ACF4A-E241-4E40-B283-F35060801420 + sid-3FB96CF0-BCC8-427E-9142-9F7C72F07893 + sid-8CA0DD43-CC77-424E-B98D-BEBDBA7F8E85 + + + + + + + + sid-3FB96CF0-BCC8-427E-9142-9F7C72F07893 + sid-CA558A2D-1F6E-4BEB-B04F-6868529FCC24 + + + + + + sid-880EE112-139E-4533-BB98-8A1E6D943A18 + sid-6B67CBBC-E314-4DCF-B12F-968AEA30B05D + + + + + + + + + sid-4B3460BF-1433-4961-BEA6-CD4766A5F509 + sid-C06ACF4A-E241-4E40-B283-F35060801420 + + + + + + + + + sid-CA558A2D-1F6E-4BEB-B04F-6868529FCC24 + sid-6B67CBBC-E314-4DCF-B12F-968AEA30B05D + + + + + + + + sid-FFC6AFF7-1730-4FA8-BAE1-D5AE564FB8FF + sid-D40873A8-FA42-4FA8-BC6E-74B84D57C045 + + + + + + + + sid-2F70B74A-5D28-4D73-9C3B-540E7F9723F2 + sid-2DE53FE2-6F50-4EF5-9B11-E3733E2BD494 + + + + + + + sid-2DE53FE2-6F50-4EF5-9B11-E3733E2BD494 + + + + + + sid-D40873A8-FA42-4FA8-BC6E-74B84D57C045 + + + + sid-2F70B74A-5D28-4D73-9C3B-540E7F9723F2 + + finish_time + + + + + + + sid-8CA0DD43-CC77-424E-B98D-BEBDBA7F8E85 + sid-FFC6AFF7-1730-4FA8-BAE1-D5AE564FB8FF + + start_time + + + + + + + + + + + + + + + Some docs on a default sequence + + + Some docs on a sequence + + + + + + + + + sid-078306CD-6A3E-4B8E-9111-AD0717106A65 + sid-30A09A8A-4BC2-4303-A1C9-1C6EC7BCC039 + sid-7D103D68-E179-4138-9655-FC1ECFC7B897 + sid-42505FB2-8D9D-482D-8528-884BE441786D + sid-661CF7E6-4A5A-42CA-9C6A-6EE7D60DA7B4 + sid-CB483F12-E787-4180-AAB3-B4E74540158C + + + + + + + sid-6A80BDD6-95D5-4072-B6D1-3145C3308B16 + + + + + + + + sid-6A80BDD6-95D5-4072-B6D1-3145C3308B16 + sid-CEBA0A2D-CE09-41E9-B5C0-4741AF63CB25 + + + + + + + + sid-FECB9005-5026-4A3A-A795-7CFBDEA2D9A4 + sid-CEBA0A2D-CE09-41E9-B5C0-4741AF63CB25 + sid-17FC6A7F-4734-4A00-80DA-5C024783D1CF + + + + + + sid-17FC6A7F-4734-4A00-80DA-5C024783D1CF + sid-4023B856-5C8C-4F4B-89CF-00D224EADEDC + sid-5AE8BBED-8AD1-41A8-95DB-4897F73E7492 + + + + + + + + sid-5AE8BBED-8AD1-41A8-95DB-4897F73E7492 + sid-FECB9005-5026-4A3A-A795-7CFBDEA2D9A4 + + + + + + sid-4023B856-5C8C-4F4B-89CF-00D224EADEDC + + + + + + + + + + This task does not have a type on purpose. I assume if it is left off, then it is a user task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.signavio.xml new file mode 100644 index 000000000..a53e48590 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Action-Management.signavio.xml @@ -0,0 +1,8126 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Action Management + + + + + + + + + + + + + + + + + + + + + undefined + + + Responsible Manager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Review Action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel Action + + + (if necessary) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancelled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Notify + + + Responsible + + + Person: New + + + Action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Notify + + + Responsible + + + Person: Action + + + Cancelled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined + + + Responsible Person + + + + + + + + + + + + + + + + + + + + + + Do Work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Overdue + + + Escalation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Complete + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finish Time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Start Time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Work + + + + + + + + + + + + + + + + + + + + + undefined + + + Responsible Person + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Start Work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Complete Work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resume Work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This task does + not + + + have a type on + + + purpose. I + assume + + + if it is left + off, then + + + it is a user + task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + Put On Hold + + + + + + + + + + + + + + + + + + + + Resume + + + + + + + + + + + + + + + + + + + + Start + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel Action + + + + + + + + + + + + + + + + + + + + Approve + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test-Sub.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test-Sub.bpmn20.xml new file mode 100644 index 000000000..c3026c0c8 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test-Sub.bpmn20.xml @@ -0,0 +1,117 @@ + + + + + SequenceFlow_1pdxvjo + + + SequenceFlow_0expyhf + SequenceFlow_07vs6qb + SequenceFlow_15hc88y + + + + SequenceFlow_07vs6qb + + + + should_escalate + + + SequenceFlow_15hc88y + + + + SequenceFlow_1pdxvjo + SequenceFlow_0expyhf + SequenceFlow_0rwyweg + + + 'should_escalate' in vars() or 'should_escalate' in globals() + + + + + SequenceFlow_0rwyweg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test.bpmn20.xml new file mode 100644 index 000000000..b53a7e1f7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/CallActivity-Escalation-Test.bpmn20.xml @@ -0,0 +1,692 @@ + + + + + SequenceFlow_16zp7m1 + + + + SequenceFlow_16zp7m1 + SequenceFlow_1kda3po + SequenceFlow_1s1w90v + SequenceFlow_14zh7re + SequenceFlow_0how4sz + SequenceFlow_09hcnsg + SequenceFlow_1svgn4k + + + SequenceFlow_0poxg37 + + + + SequenceFlow_04o4ekt + + + + SequenceFlow_1v1zuh1 + + + + SequenceFlow_1kda3po + SequenceFlow_1ah0nyw + + + + SequenceFlow_1s1w90v + SequenceFlow_1ra76av + + + SequenceFlow_00n7udr + + + + SequenceFlow_1smtf8a + + + + SequenceFlow_072gxkd + + + + SequenceFlow_0oox1qd + + + + SequenceFlow_0exwdi2 + + + + + SequenceFlow_14zh7re + SequenceFlow_1q5t764 + + + SequenceFlow_0ua7azh + + + SequenceFlow_0ty2h2e + + + SequenceFlow_1sq53x5 + + + + + + SequenceFlow_1qkwoqo + + + + SequenceFlow_0sqyooa + + + + + SequenceFlow_0how4sz + SequenceFlow_06tuy2y + + + SequenceFlow_09hcnsg + SequenceFlow_1oqcl5z + + + SequenceFlow_0i2nsbv + + + SequenceFlow_1ud7tfa + + + SequenceFlow_1sv1p07 + + + SequenceFlow_044gv9a + + + SequenceFlow_078mvp0 + + + + SequenceFlow_1lit4b3 + + + + + + + + + + SequenceFlow_1347w9t + + + SequenceFlow_0lih4rm + + + SequenceFlow_1svgn4k + SequenceFlow_1gibvy0 + + + + + + SequenceFlow_0cymhxo + + + + + SequenceFlow_0cymhxo + SequenceFlow_0lih4rm + a = 1 + + + + SequenceFlow_1gibvy0 + SequenceFlow_1347w9t + a = 1 + + + + SequenceFlow_04o4ekt + SequenceFlow_1v1zuh1 + a = 1 + + + + SequenceFlow_1ah0nyw + SequenceFlow_0poxg37 + a = 1 + + + + SequenceFlow_0oox1qd + SequenceFlow_072gxkd + a = 1 + + + + SequenceFlow_00n7udr + SequenceFlow_1smtf8a + a = 1 + + + + SequenceFlow_1ra76av + SequenceFlow_0exwdi2 + a = 1 + + + + SequenceFlow_1qkwoqo + SequenceFlow_1sq53x5 + a = 1 + + + + SequenceFlow_0sqyooa + SequenceFlow_0ty2h2e + a = 1 + + + + SequenceFlow_1q5t764 + SequenceFlow_0ua7azh + a = 1 + + + + SequenceFlow_078mvp0 + SequenceFlow_1ud7tfa + a = 1 + + + + SequenceFlow_06tuy2y + SequenceFlow_0i2nsbv + a = 1 + + + + SequenceFlow_1lit4b3 + SequenceFlow_044gv9a + a = 1 + + + + SequenceFlow_1oqcl5z + SequenceFlow_1sv1p07 + a = 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.bpmn20.xml new file mode 100644 index 000000000..faec45b3f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.bpmn20.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + + + + + + + + + + + + sid-7ED4D4F6-491F-4317-A37D-51C86F911524 + sid-137E71C6-FE26-418B-AFC0-1083027370F7 + sid-D99DD91F-8C51-4913-872A-DBBB5C7BE66C + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.signavio.xml new file mode 100644 index 000000000..5b5e89409 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts-SP.signavio.xml @@ -0,0 +1,3566 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Interrupts SP + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for + + + Message + Interrupts + + + SP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Interrupt + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for Message Interrupts SP + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + + + In a Subprocess + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.bpmn20.xml new file mode 100644 index 000000000..443004f00 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.bpmn20.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-6FBBB56D-00CD-4C2B-9345-486986BB4992 + sid-B0D398F3-C33A-4113-B8BB-D7ABF6990C4A + sid-D3365C47-2FAE-4D17-98F4-E68B345E18CE + sid-067AF0E4-F644-4962-BC02-E767C63647D5 + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + + + + + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + sid-A554E53F-CADB-4CC6-B11B-CB792EC5D4CB + + + + + + sid-768A24E1-8467-4009-B576-667053978B1F + sid-A554E53F-CADB-4CC6-B11B-CB792EC5D4CB + + + sid-768A24E1-8467-4009-B576-667053978B1F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.signavio.xml new file mode 100644 index 000000000..3c1f39c5f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Interrupts.signavio.xml @@ -0,0 +1,2005 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Interrupts + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + That + + + Takes A Long + Time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + Interrupt + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.bpmn20.xml new file mode 100644 index 000000000..b2c4e6caf --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.bpmn20.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-617B0E1F-42DB-4D40-9B4C-ED631BF6E43A + sid-001BB515-2DC3-47C1-8122-3E853B3FDC34 + sid-4B320727-A78F-47E7-98CF-F589994A1C64 + sid-2BCA4F40-F885-4E59-9646-24E458BBC873 + sid-84C7CE67-D0B6-486A-B097-486DA924FF9D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + + + + + + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + sid-8ABF0F70-8A8A-49F2-8C3E-FC595AB764C6 + + + + + + sid-3204DA36-1068-4F48-99DD-1DBAC909A08B + sid-E0F8D63F-0B79-4CDF-9025-F3D40E581A2C + + + sid-2E189291-49E9-41CF-8865-D7B3D57D4464 + + + + + + + + + + + + + + + sid-7ED4D4F6-491F-4317-A37D-51C86F911524 + sid-137E71C6-FE26-418B-AFC0-1083027370F7 + sid-D99DD91F-8C51-4913-872A-DBBB5C7BE66C + + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + + + + + + sid-9D819E98-CD45-48A5-9F8D-B36047118934 + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + sid-04951D4B-FEAF-4D8E-924F-6B14AB63B83B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.signavio.xml new file mode 100644 index 000000000..0a56bd2ae --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt-SP.signavio.xml @@ -0,0 +1,3576 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Non Interrupt SP + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for + + + Message Non + + + Interrupt SP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer End + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + SP Parallel + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ack Subprocess + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess for Message Non Interrupt SP + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + + + In a Subprocess + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner End + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.bpmn20.xml new file mode 100644 index 000000000..13f9bc308 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.bpmn20.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-6FBBB56D-00CD-4C2B-9345-486986BB4992 + sid-B0D398F3-C33A-4113-B8BB-D7ABF6990C4A + sid-D3365C47-2FAE-4D17-98F4-E68B345E18CE + sid-067AF0E4-F644-4962-BC02-E767C63647D5 + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + + + + + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + sid-A554E53F-CADB-4CC6-B11B-CB792EC5D4CB + + + + + + sid-768A24E1-8467-4009-B576-667053978B1F + sid-A554E53F-CADB-4CC6-B11B-CB792EC5D4CB + + + sid-768A24E1-8467-4009-B576-667053978B1F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.signavio.xml new file mode 100644 index 000000000..6bca2a5b0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Message-Non-Interrupt.signavio.xml @@ -0,0 +1,2005 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Non Interrupt + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do Something + That + + + Takes A Long + Time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + Non-Interrupt + + + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.bpmn20.xml new file mode 100644 index 000000000..8143cc6cf --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.bpmn20.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-B0D398F3-C33A-4113-B8BB-D7ABF6990C4A + sid-DF69AC93-16C3-405D-9FB1-9B2539519372 + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.signavio.xml new file mode 100644 index 000000000..f04f6ef58 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Messages.signavio.xml @@ -0,0 +1,814 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Messages + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Multi-Instance.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Multi-Instance.bpmn20.xml new file mode 100644 index 000000000..4c480fbd7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Multi-Instance.bpmn20.xml @@ -0,0 +1,88 @@ + + + + + SequenceFlow_1svgzrn + + + # {{person.id}} +Please answer a few questions about this person. +loo + + + + + + SequenceFlow_066wkms + SequenceFlow_1qz7vsd + + 3 + + + + # Thank you for completeing the user information. + +{% for person in personnel %} +  * Person {{person.uid}} does {% if not person.dog_friendly %} NOT {% endif %} likes dogs. +{% endfor %} + SequenceFlow_1qz7vsd + + + + SequenceFlow_1svgzrn + SequenceFlow_066wkms + + + + + Loops through each person and asks if they like dogs. + + + + Collects the set of personnel from the Protocol Builder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.bpmn20.xml new file mode 100644 index 000000000..8fb42e2be --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.bpmn20.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A + sid-64E2EF25-F986-4834-8C3B-C3533746113E + sid-1B59DCD2-83A0-4687-B7BE-83625395572E + sid-BC014079-199F-4720-95CD-244B0ACB6DE1 + + + + + + + sid-27BA998B-1FEE-4CBA-86D5-8C5968F1478D + + + + + + sid-B8192BBF-7DB4-4AA1-8990-5017C30130A8 + + + + + + + + + sid-27BA998B-1FEE-4CBA-86D5-8C5968F1478D + sid-02F2C617-DFEE-44AE-AAED-145AF2E2D946 + + + + + + + sid-02F2C617-DFEE-44AE-AAED-145AF2E2D946 + sid-B8192BBF-7DB4-4AA1-8990-5017C30130A8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.signavio.xml new file mode 100644 index 000000000..cdab4ebf2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level1.signavio.xml @@ -0,0 +1,1614 @@ + + +First sublevel of nested subprocesses +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nested level 1 + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Action2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nested level 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finish + + + + + + + + + + + + + + + + + + + + ToLevel2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.bpmn20.xml new file mode 100644 index 000000000..8e9b079d3 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.bpmn20.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65 + sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7 + sid-2EDAD784-7F15-486C-B805-D26EE25F8087 + + + + + + + sid-862F0510-9CB8-4C7C-87CC-A9EA7E2D8758 + + + + + + + + + sid-862F0510-9CB8-4C7C-87CC-A9EA7E2D8758 + sid-80315FC5-BC67-4999-8CE2-3ACDC838E3E6 + + + + + + sid-80315FC5-BC67-4999-8CE2-3ACDC838E3E6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.signavio.xml new file mode 100644 index 000000000..0a5b40a49 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Sub-level2.signavio.xml @@ -0,0 +1,1150 @@ + + +2nd nested subprocess level +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nested level 2 + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Action3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finish + + + + + + + + + + + + + + + + + + + + In + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.bpmn20.xml new file mode 100644 index 000000000..a3ca3c467 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.bpmn20.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + sid-093DC600-6F99-40CE-988C-7AD87B792F90 + sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38 + sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B + sid-C014B4B9-889F-4EE9-9949-C89502C35CF0 + + + + + + + sid-E35CEC65-EA3C-4C5A-BC90-8C17016C24E5 + + + + + + sid-85D2E5A5-BD56-4650-B715-3B6E0BE33443 + + + + + + + + + sid-E35CEC65-EA3C-4C5A-BC90-8C17016C24E5 + sid-5BC5ECB5-884B-449A-AC67-B9B7ED296728 + + + + + + + sid-5BC5ECB5-884B-449A-AC67-B9B7ED296728 + sid-85D2E5A5-BD56-4650-B715-3B6E0BE33443 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.signavio.xml new file mode 100644 index 000000000..38f1507ac --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Nested-Subprocesses.signavio.xml @@ -0,0 +1,1576 @@ + + +Used to test multiple nestings of subprocesses +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nested Subprocesses + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Action1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nested level 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finished + + + + + + + + + + + + + + + + + + + + Continue + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.bpmn20.xml new file mode 100644 index 000000000..80cf29724 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.bpmn20.xml @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + sid-9CAB06E6-EDCF-4193-869A-FE8328E8CBFF + sid-F4CFA154-9281-4579-B117-0859A2BFF7E8 + sid-E489DED4-8C38-4841-80BC-E514353C1B8C + sid-B88338F7-5084-4532-9ABB-7387B1E5A664 + sid-35745597-A6C0-424B-884C-C5C23B60C942 + sid-0BC1E7F7-CBDA-4591-95B9-320FCBEF6114 + sid-45841FFD-3D92-4A18-9CE3-84DC5282F570 + sid-A8E18F57-FC41-401D-A397-9264C3E48293 + sid-E98E44A0-A273-4350-BA75-B37F2FCBA1DD + sid-29C1DD4B-9E3E-4686-892D-D47927F6DA08 + sid-107A993F-6302-4391-9BE2-068C9C7B693B + sid-71AA325A-4D02-46B4-8DC9-00C90BC5337C + sid-54BB293D-91B6-41B5-A5C4-423300D74D14 + sid-D8777102-7A64-42E6-A988-D0AE3049ABB0 + sid-E6A08072-E35C-4545-9C66-B74B615F34C2 + sid-BEC02819-27FE-4484-8FDA-08450F4DE618 + sid-6576AA43-43DF-4086-98C8-FD2B22F20EB0 + sid-08397892-678C-4706-A05F-8F6DAE9B5423 + sid-3500C16F-8037-4987-9022-8E30AB6B0590 + sid-A473B421-0981-49D8-BD5A-66832BD518EC + sid-F18EA1E5-B692-484C-AB84-2F422BF7868A + sid-D67A997E-C7CF-4581-8749-4F931D8737B5 + sid-399AE395-D46F-4A30-B875-E904970AF141 + sid-738EA50B-3EB5-464B-96B8-6CA5FC30ECBA + sid-5598F421-4AC5-4C12-9239-EFAC51C5F474 + sid-CF5677F8-747F-4E95-953E-4DAB186958F4 + sid-A73FF591-2A52-42DF-97DB-6CEEF8991283 + sid-69DF31CE-D587-4BA8-8BE6-72786108D8DF + sid-38B84B23-6757-4357-9AF5-A62A5C8AC1D3 + sid-732095A1-B07A-4B08-A46B-277C12901DED + sid-23391B60-C6A7-4C9E-9F95-43EA84ECFB74 + sid-9A40D0CD-3BD0-4A0D-A6B0-60FD60265247 + sid-B2E34105-96D5-4020-85D9-C569BA42D618 + sid-3D1455CF-6B1E-4EB1-81B2-D738110BB283 + sid-75EE4F61-E8E2-441B-8818-30E3BACF140B + sid-4864A824-7467-421A-A654-83EE83F7681C + sid-6938255D-3C1A-4B94-9E83-4D467E0DDB4B + + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-C7247231-5152-424E-A240-B07B76E8F5EC + + + + + + sid-C609F3E0-2D09-469C-8750-3E3BA8C926BE + sid-0204722F-5A92-4236-BBF1-C66123E14E22 + + + + + + sid-0204722F-5A92-4236-BBF1-C66123E14E22 + sid-699ED598-1AB9-4A3B-9315-9C89578FB017 + + + + + + sid-699ED598-1AB9-4A3B-9315-9C89578FB017 + sid-85116AFA-E95A-4384-9695-361C1A6070C3 + + + + + + sid-85116AFA-E95A-4384-9695-361C1A6070C3 + sid-84756278-D67A-4E65-AD96-24325F08E2D1 + + + + + + sid-AE7CFA43-AC83-4F28-BCE3-AD7BE9CE6F27 + sid-C132728C-7DAF-468C-A807-90A34847071E + + + + + + sid-C132728C-7DAF-468C-A807-90A34847071E + sid-4A3A7E6E-F79B-4842-860C-407DB9227023 + + + + + + sid-4A3A7E6E-F79B-4842-860C-407DB9227023 + sid-B45563D3-2FBE-406D-93E4-85A2DD04B1A4 + + + + + + sid-D7D86B12-A88C-4072-9852-6DD62643556A + sid-AE7CFA43-AC83-4F28-BCE3-AD7BE9CE6F27 + + + + + + sid-369B410B-EA82-4896-91FD-23FFF759494A + sid-E47AA9C3-9EB7-4B07-BB17-086388AACE0D + + + + + + sid-84756278-D67A-4E65-AD96-24325F08E2D1 + sid-0C53B343-3753-4EED-A6FE-C1A7DFBF13BC + + + + + + sid-0C53B343-3753-4EED-A6FE-C1A7DFBF13BC + sid-9CA8DF1F-1622-4F6A-B9A6-761C60C29A11 + + + + + + sid-9CA8DF1F-1622-4F6A-B9A6-761C60C29A11 + sid-13838920-8EE4-45CB-8F01-29F13CA13819 + + + + + + sid-13838920-8EE4-45CB-8F01-29F13CA13819 + sid-FAA04C3A-F55B-4947-850D-5A180D43BD61 + + + + + + sid-FAA04C3A-F55B-4947-850D-5A180D43BD61 + sid-A19043EA-D140-48AE-99A1-4B1EA3DE0E51 + + + + + + sid-A19043EA-D140-48AE-99A1-4B1EA3DE0E51 + sid-2A94D2F0-DF4B-45B6-A30D-FFB9BDF6E9D9 + + + + + + sid-2A94D2F0-DF4B-45B6-A30D-FFB9BDF6E9D9 + sid-661F5F14-5B94-4977-9827-20654AE2719B + + + + + + sid-661F5F14-5B94-4977-9827-20654AE2719B + sid-C0DC27C3-19F9-4D3D-9D04-8869DAEDEF1E + + + + + + sid-B45563D3-2FBE-406D-93E4-85A2DD04B1A4 + sid-0E826E42-8FBC-4532-96EA-C82E7340CBA4 + + + + + + sid-0E826E42-8FBC-4532-96EA-C82E7340CBA4 + sid-BE9CBE97-0E09-4A37-BD98-65592D2F2E84 + + + + + + sid-BE9CBE97-0E09-4A37-BD98-65592D2F2E84 + sid-C96EBBBD-7DDA-4875-89AC-0F030E53C2B6 + + + + + + sid-C96EBBBD-7DDA-4875-89AC-0F030E53C2B6 + sid-8449C64C-CF1D-4601-ACAE-2CD61BE2D36C + + + + + + sid-8449C64C-CF1D-4601-ACAE-2CD61BE2D36C + sid-1DD0519A-72AD-4FB1-91D6-4D18F2DA1FC8 + + + + + + sid-1DD0519A-72AD-4FB1-91D6-4D18F2DA1FC8 + sid-42540C95-8E89-4B6F-B133-F677FA72C9FF + + + + + + sid-42540C95-8E89-4B6F-B133-F677FA72C9FF + sid-108A05A6-D07C-4DA9-AAC3-8075A721B44B + + + + + + sid-108A05A6-D07C-4DA9-AAC3-8075A721B44B + sid-A8886943-1369-43FB-BFC1-FF1FF974EB5D + + + + + + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-7F5D9083-6201-43F9-BBEE-664E7310F4F2 + + + + + + sid-7F5D9083-6201-43F9-BBEE-664E7310F4F2 + sid-C609F3E0-2D09-469C-8750-3E3BA8C926BE + sid-C06DF3AB-4CE5-4123-8033-8AACDCDF4416 + + + + + + sid-C06DF3AB-4CE5-4123-8033-8AACDCDF4416 + sid-A0A2FCFF-E2BE-4FE6-A4D2-CCB3DCF68BFB + + + + + + sid-C7247231-5152-424E-A240-B07B76E8F5EC + sid-DC398932-1111-4CA2-AEB4-D460E0E06C6E + + + + + + sid-DC398932-1111-4CA2-AEB4-D460E0E06C6E + sid-D7D86B12-A88C-4072-9852-6DD62643556A + sid-16EB4D98-7F77-4046-8CDD-E07C796542FE + + + + + + sid-16EB4D98-7F77-4046-8CDD-E07C796542FE + sid-8E17C1AF-45C2-48C7-A794-1259E2ECA43D + + + + + + sid-A8886943-1369-43FB-BFC1-FF1FF974EB5D + sid-C0DC27C3-19F9-4D3D-9D04-8869DAEDEF1E + sid-369B410B-EA82-4896-91FD-23FFF759494A + + + + + + sid-8E17C1AF-45C2-48C7-A794-1259E2ECA43D + + + + + + sid-A0A2FCFF-E2BE-4FE6-A4D2-CCB3DCF68BFB + + + + + + sid-E47AA9C3-9EB7-4B07-BB17-086388AACE0D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.signavio.xml new file mode 100644 index 000000000..7ed9ce015 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long-Inclusive.signavio.xml @@ -0,0 +1,18834 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Join Long Inclusive + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - + + + Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - No + + + Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - + + + Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - No + + + Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.bpmn20.xml new file mode 100644 index 000000000..a7afcb9c8 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.bpmn20.xml @@ -0,0 +1,622 @@ + + + + + + + + + + + + + + + + sid-9CAB06E6-EDCF-4193-869A-FE8328E8CBFF + sid-F4CFA154-9281-4579-B117-0859A2BFF7E8 + sid-E489DED4-8C38-4841-80BC-E514353C1B8C + sid-B88338F7-5084-4532-9ABB-7387B1E5A664 + sid-35745597-A6C0-424B-884C-C5C23B60C942 + sid-0BC1E7F7-CBDA-4591-95B9-320FCBEF6114 + sid-45841FFD-3D92-4A18-9CE3-84DC5282F570 + sid-A8E18F57-FC41-401D-A397-9264C3E48293 + sid-E98E44A0-A273-4350-BA75-B37F2FCBA1DD + sid-29C1DD4B-9E3E-4686-892D-D47927F6DA08 + sid-3D61C6FE-D354-41FF-8544-014FAE7B5C5E + sid-06F36AE5-5FD5-487D-A783-64CEAB2C8A91 + sid-107A993F-6302-4391-9BE2-068C9C7B693B + sid-71AA325A-4D02-46B4-8DC9-00C90BC5337C + sid-54BB293D-91B6-41B5-A5C4-423300D74D14 + sid-D8777102-7A64-42E6-A988-D0AE3049ABB0 + sid-E6A08072-E35C-4545-9C66-B74B615F34C2 + sid-BEC02819-27FE-4484-8FDA-08450F4DE618 + sid-6576AA43-43DF-4086-98C8-FD2B22F20EB0 + sid-08397892-678C-4706-A05F-8F6DAE9B5423 + sid-3500C16F-8037-4987-9022-8E30AB6B0590 + sid-A473B421-0981-49D8-BD5A-66832BD518EC + sid-F18EA1E5-B692-484C-AB84-2F422BF7868A + sid-D67A997E-C7CF-4581-8749-4F931D8737B5 + sid-399AE395-D46F-4A30-B875-E904970AF141 + sid-738EA50B-3EB5-464B-96B8-6CA5FC30ECBA + sid-5598F421-4AC5-4C12-9239-EFAC51C5F474 + sid-CF5677F8-747F-4E95-953E-4DAB186958F4 + sid-A73FF591-2A52-42DF-97DB-6CEEF8991283 + sid-69DF31CE-D587-4BA8-8BE6-72786108D8DF + sid-38B84B23-6757-4357-9AF5-A62A5C8AC1D3 + sid-732095A1-B07A-4B08-A46B-277C12901DED + sid-23391B60-C6A7-4C9E-9F95-43EA84ECFB74 + sid-9A40D0CD-3BD0-4A0D-A6B0-60FD60265247 + sid-B2E34105-96D5-4020-85D9-C569BA42D618 + + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-C7247231-5152-424E-A240-B07B76E8F5EC + + + + + + sid-C609F3E0-2D09-469C-8750-3E3BA8C926BE + sid-0204722F-5A92-4236-BBF1-C66123E14E22 + + + + + + sid-0204722F-5A92-4236-BBF1-C66123E14E22 + sid-B149930A-9E12-41E7-8FC2-E7BD1ECFAC3C + sid-699ED598-1AB9-4A3B-9315-9C89578FB017 + + + + + + sid-699ED598-1AB9-4A3B-9315-9C89578FB017 + sid-85116AFA-E95A-4384-9695-361C1A6070C3 + + + + + + sid-85116AFA-E95A-4384-9695-361C1A6070C3 + sid-84756278-D67A-4E65-AD96-24325F08E2D1 + + + + + + sid-AE7CFA43-AC83-4F28-BCE3-AD7BE9CE6F27 + sid-AD3AF6E3-A77C-4366-A745-50B5DF66D071 + sid-C132728C-7DAF-468C-A807-90A34847071E + + + + + + sid-C132728C-7DAF-468C-A807-90A34847071E + sid-4A3A7E6E-F79B-4842-860C-407DB9227023 + + + + + + sid-4A3A7E6E-F79B-4842-860C-407DB9227023 + sid-B45563D3-2FBE-406D-93E4-85A2DD04B1A4 + + + + + + sid-D7D86B12-A88C-4072-9852-6DD62643556A + sid-AE7CFA43-AC83-4F28-BCE3-AD7BE9CE6F27 + + + + + + sid-A8886943-1369-43FB-BFC1-FF1FF974EB5D + sid-C0DC27C3-19F9-4D3D-9D04-8869DAEDEF1E + sid-369B410B-EA82-4896-91FD-23FFF759494A + + + + + + sid-75D1F9CC-4885-4EC4-BB9C-C24DFDA04F69 + + + + + + + sid-369B410B-EA82-4896-91FD-23FFF759494A + sid-75D1F9CC-4885-4EC4-BB9C-C24DFDA04F69 + + + + + + sid-84756278-D67A-4E65-AD96-24325F08E2D1 + sid-0C53B343-3753-4EED-A6FE-C1A7DFBF13BC + + + + + + sid-0C53B343-3753-4EED-A6FE-C1A7DFBF13BC + sid-9CA8DF1F-1622-4F6A-B9A6-761C60C29A11 + + + + + + sid-9CA8DF1F-1622-4F6A-B9A6-761C60C29A11 + sid-13838920-8EE4-45CB-8F01-29F13CA13819 + + + + + + sid-13838920-8EE4-45CB-8F01-29F13CA13819 + sid-FAA04C3A-F55B-4947-850D-5A180D43BD61 + + + + + + sid-FAA04C3A-F55B-4947-850D-5A180D43BD61 + sid-A19043EA-D140-48AE-99A1-4B1EA3DE0E51 + + + + + + sid-A19043EA-D140-48AE-99A1-4B1EA3DE0E51 + sid-2A94D2F0-DF4B-45B6-A30D-FFB9BDF6E9D9 + + + + + + sid-2A94D2F0-DF4B-45B6-A30D-FFB9BDF6E9D9 + sid-661F5F14-5B94-4977-9827-20654AE2719B + + + + + + sid-661F5F14-5B94-4977-9827-20654AE2719B + sid-C0DC27C3-19F9-4D3D-9D04-8869DAEDEF1E + + + + + + sid-B45563D3-2FBE-406D-93E4-85A2DD04B1A4 + sid-0E826E42-8FBC-4532-96EA-C82E7340CBA4 + + + + + + sid-0E826E42-8FBC-4532-96EA-C82E7340CBA4 + sid-BE9CBE97-0E09-4A37-BD98-65592D2F2E84 + + + + + + sid-BE9CBE97-0E09-4A37-BD98-65592D2F2E84 + sid-C96EBBBD-7DDA-4875-89AC-0F030E53C2B6 + + + + + + sid-C96EBBBD-7DDA-4875-89AC-0F030E53C2B6 + sid-8449C64C-CF1D-4601-ACAE-2CD61BE2D36C + + + + + + sid-8449C64C-CF1D-4601-ACAE-2CD61BE2D36C + sid-1DD0519A-72AD-4FB1-91D6-4D18F2DA1FC8 + + + + + + sid-1DD0519A-72AD-4FB1-91D6-4D18F2DA1FC8 + sid-42540C95-8E89-4B6F-B133-F677FA72C9FF + + + + + + sid-42540C95-8E89-4B6F-B133-F677FA72C9FF + sid-108A05A6-D07C-4DA9-AAC3-8075A721B44B + + + + + + sid-108A05A6-D07C-4DA9-AAC3-8075A721B44B + sid-A8886943-1369-43FB-BFC1-FF1FF974EB5D + + + + + + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-7F5D9083-6201-43F9-BBEE-664E7310F4F2 + + + + + + sid-7F5D9083-6201-43F9-BBEE-664E7310F4F2 + sid-C609F3E0-2D09-469C-8750-3E3BA8C926BE + sid-C06DF3AB-4CE5-4123-8033-8AACDCDF4416 + + + + + + sid-C06DF3AB-4CE5-4123-8033-8AACDCDF4416 + sid-B149930A-9E12-41E7-8FC2-E7BD1ECFAC3C + + + + + + sid-C7247231-5152-424E-A240-B07B76E8F5EC + sid-DC398932-1111-4CA2-AEB4-D460E0E06C6E + + + + + + sid-DC398932-1111-4CA2-AEB4-D460E0E06C6E + sid-D7D86B12-A88C-4072-9852-6DD62643556A + sid-16EB4D98-7F77-4046-8CDD-E07C796542FE + + + + + + sid-16EB4D98-7F77-4046-8CDD-E07C796542FE + sid-AD3AF6E3-A77C-4366-A745-50B5DF66D071 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.signavio.xml new file mode 100644 index 000000000..c6c844526 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Join-Long.signavio.xml @@ -0,0 +1,18676 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Join Long + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - Task + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - Task + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - + + + Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 1 - No + + + Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - + + + Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thread 2 - No + + + Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.bpmn20.xml new file mode 100644 index 000000000..150b28d10 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.bpmn20.xml @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E976FBC2-266E-420F-8D4D-C8FBC6199090 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-4F7F3AA6-4E8E-458D-BBEF-E03FC0646897 + sid-ABD788A3-CD57-4280-A22A-260B3AEEE138 + sid-E7B8898A-0D14-4E98-B3D7-736B94EE3FA7 + sid-A1609BD5-1E4A-47AE-8648-1DD41D1B1D58 + sid-1946C635-7886-4687-844F-C644FA6222B8 + sid-4C3B3C16-91DB-43E3-A816-FFEE572E61E1 + sid-55C018B8-C073-4292-9ED0-79BDE50E7498 + sid-E7904BFA-1F17-478E-91C9-C8A5B64190C9 + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-3E0EBE59-75C8-465C-90CC-197CE808A96E + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-607CB05E-8762-41B6-AD43-C3970661A99D + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-231F8A51-752F-4CB3-8FD1-23D153238344 + sid-607CB05E-8762-41B6-AD43-C3970661A99D + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + + + + + + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + sid-2668AC98-39E4-4B12-9052-930528086CAC + + + + + + sid-F6160C0E-216C-4D72-98D1-CC5549327D55 + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-918C653D-0960-4223-9C28-78114F238BCC + sid-FD82C2A6-7C54-4890-901E-A7E864F7605C + + + + + + sid-918C653D-0960-4223-9C28-78114F238BCC + sid-961AF51C-9935-410E-AAA4-105B19186F5E + + + + + + sid-FD82C2A6-7C54-4890-901E-A7E864F7605C + sid-47947925-21CD-46FF-8D3F-294B235AA4CF + + + + + + sid-961AF51C-9935-410E-AAA4-105B19186F5E + sid-47947925-21CD-46FF-8D3F-294B235AA4CF + sid-AFA38469-CD5C-42A2-9473-2EAEBA61F0C0 + + + + + + sid-AFA38469-CD5C-42A2-9473-2EAEBA61F0C0 + sid-231F8A51-752F-4CB3-8FD1-23D153238344 + + + + + + sid-2668AC98-39E4-4B12-9052-930528086CAC + sid-08D6385B-C6BB-45FC-A6BD-2369F392868D + sid-41205B5D-4DBA-4155-A0EE-7D71CE9AA459 + + + + + + sid-08D6385B-C6BB-45FC-A6BD-2369F392868D + sid-F6160C0E-216C-4D72-98D1-CC5549327D55 + + + + + + sid-41205B5D-4DBA-4155-A0EE-7D71CE9AA459 + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-3E0EBE59-75C8-465C-90CC-197CE808A96E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.signavio.xml new file mode 100644 index 000000000..8e692dd91 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Looping-After-Join.signavio.xml @@ -0,0 +1,6534 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Looping After Join + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + First Split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Join of First + Split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Retry? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Second Split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Join of Second + Split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Go + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.bpmn20.xml new file mode 100644 index 000000000..8a4f9ab92 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.bpmn20.xml @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-EB082AAA-C40E-494F-AC00-B5DEA7B57772 + sid-9B706A97-A88A-4364-87BF-BAADDBD865CE + sid-DCF1C5F0-C906-4BFE-8444-92A3353AAFE7 + sid-C3644051-AF3B-45A7-A56D-E3FECD1F0F73 + sid-49278649-FF42-4016-B888-2692250103F0 + sid-98AF447F-1490-40AE-B725-A04DC6C95DEE + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-7CC8F04C-823A-4646-80BE-569C3596CFD0 + sid-5E19572F-70A1-443D-8C1C-B620546D1D1A + + + + + + sid-572C055F-C183-463A-A59B-779738FCD387 + sid-75A8AF3F-EA80-414A-9327-D560562FA9E3 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-D74A0AEE-AFCE-46DA-82F7-0F93D4CB5B88 + + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-F4D4F2EA-2858-46C6-AFFC-098C658966D6 + + + + + + + sid-7CC8F04C-823A-4646-80BE-569C3596CFD0 + sid-FC3FD5EC-7D88-4912-B2AE-94996D65C652 + + + + + + + sid-5E19572F-70A1-443D-8C1C-B620546D1D1A + sid-DCE9FFB9-9438-4575-9B82-5C31EC635B45 + + + + + + sid-F4D4F2EA-2858-46C6-AFFC-098C658966D6 + sid-D74A0AEE-AFCE-46DA-82F7-0F93D4CB5B88 + sid-572C055F-C183-463A-A59B-779738FCD387 + + + + + + sid-FC3FD5EC-7D88-4912-B2AE-94996D65C652 + sid-DCE9FFB9-9438-4575-9B82-5C31EC635B45 + sid-75A8AF3F-EA80-414A-9327-D560562FA9E3 + + + + + + + + + + + + + + + + + + + + + sid-2652F9DC-A651-459C-A8EC-8835E500E02C + sid-BDF659A9-9AD0-460A-BDF7-AF9471515D34 + sid-262865E3-8F24-4DCA-B5A0-1584BEE5F16E + sid-53AD0FA3-41AA-4933-ADAD-DB9C2B6A7DF4 + sid-A6D200FE-F3CD-494B-9C95-AFF5F694D1E4 + sid-2DBEF7AE-F7B5-4BDB-ADD9-68DC0ADE3F73 + sid-F15D010F-5E89-4305-A589-935402A85670 + sid-B6E73E3B-B8D1-48DA-8A5D-14E1578B9E2B + sid-03B5205A-AEC4-4501-9002-36884F8EA859 + sid-DFA7CF0A-74D1-4313-8F0D-354255A83816 + + + + + + + sid-47AA1D93-E5C8-4409-836E-2D80391B5C5D + + + + + + sid-47AA1D93-E5C8-4409-836E-2D80391B5C5D + sid-535CE609-2290-46DE-BCD6-AE4DC8F475E8 + sid-A492F72B-94A8-42B0-9E41-BF5B731F8C15 + sid-A7CD80BC-A458-48FA-BBF0-DB925075DE2A + sid-F4988382-AF62-4B31-9C76-94A26FE73486 + + + + + + sid-535CE609-2290-46DE-BCD6-AE4DC8F475E8 + sid-EE6AE52D-9C3C-4543-B470-1DCD48379541 + + + + + + sid-A492F72B-94A8-42B0-9E41-BF5B731F8C15 + sid-E4308A4E-12D2-4B26-B328-7B0BC8822054 + + + + + + sid-BABA5BCD-33B0-421D-A28C-B50F4805BB9C + sid-E85690CD-3C19-4B7F-9BE7-42DAF96474A2 + sid-A0778FC1-BBA0-4AA8-8D79-6B5E92F78BC4 + + + + + + sid-A0778FC1-BBA0-4AA8-8D79-6B5E92F78BC4 + + + + + + sid-A7CD80BC-A458-48FA-BBF0-DB925075DE2A + sid-7457347D-D229-4BF4-A2B8-1C27FE956402 + + + + + + sid-F4988382-AF62-4B31-9C76-94A26FE73486 + sid-997038AC-FB5A-4A71-85AF-92940FF80BF0 + + + + + + sid-E4308A4E-12D2-4B26-B328-7B0BC8822054 + sid-EE6AE52D-9C3C-4543-B470-1DCD48379541 + sid-BABA5BCD-33B0-421D-A28C-B50F4805BB9C + + + + + + sid-997038AC-FB5A-4A71-85AF-92940FF80BF0 + sid-7457347D-D229-4BF4-A2B8-1C27FE956402 + sid-E85690CD-3C19-4B7F-9BE7-42DAF96474A2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.signavio.xml new file mode 100644 index 000000000..668df8ebf --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point-Nested.signavio.xml @@ -0,0 +1,8272 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Many Threads At Same Point + Nested + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer Split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer End + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 1A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 1B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer Join 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Outer Join 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner split + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner End + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner Join 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inner join 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.bpmn20.xml new file mode 100644 index 000000000..39bfd7d72 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.bpmn20.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-12002433-32F3-4F11-B6FA-02CC3B4FB996 + sid-43B2AAEB-B9DA-466C-B7AC-09991607428F + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-7CC8F04C-823A-4646-80BE-569C3596CFD0 + sid-5E19572F-70A1-443D-8C1C-B620546D1D1A + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-D74A0AEE-AFCE-46DA-82F7-0F93D4CB5B88 + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-F4D4F2EA-2858-46C6-AFFC-098C658966D6 + + + + + + sid-F4D4F2EA-2858-46C6-AFFC-098C658966D6 + sid-D74A0AEE-AFCE-46DA-82F7-0F93D4CB5B88 + sid-FC3FD5EC-7D88-4912-B2AE-94996D65C652 + sid-DCE9FFB9-9438-4575-9B82-5C31EC635B45 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-7CC8F04C-823A-4646-80BE-569C3596CFD0 + sid-FC3FD5EC-7D88-4912-B2AE-94996D65C652 + + + + + + sid-5E19572F-70A1-443D-8C1C-B620546D1D1A + sid-DCE9FFB9-9438-4575-9B82-5C31EC635B45 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.signavio.xml new file mode 100644 index 000000000..3cea57c7f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Many-Threads-At-Same-Point.signavio.xml @@ -0,0 +1,4000 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Many Threads At Same Point + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.bpmn20.xml new file mode 100644 index 000000000..34818aa62 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.bpmn20.xml @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E976FBC2-266E-420F-8D4D-C8FBC6199090 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-4F7F3AA6-4E8E-458D-BBEF-E03FC0646897 + sid-ABD788A3-CD57-4280-A22A-260B3AEEE138 + sid-E7B8898A-0D14-4E98-B3D7-736B94EE3FA7 + sid-596EEA66-6606-415E-946C-B6A2A2186E46 + sid-809B2A5A-4907-4CB6-A398-E93855AD6F20 + sid-3C0AE49A-7BE9-4D61-B409-AC5794825CDE + sid-A1609BD5-1E4A-47AE-8648-1DD41D1B1D58 + sid-1946C635-7886-4687-844F-C644FA6222B8 + sid-A8511509-2456-4EC7-A3E9-39029B470AE3 + sid-70192697-62E0-4F16-BE86-7945E95AC33A + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-607CB05E-8762-41B6-AD43-C3970661A99D + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-231F8A51-752F-4CB3-8FD1-23D153238344 + sid-F1ADD871-FEF1-4A10-9077-1080FE848E46 + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + + + + + + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-918C653D-0960-4223-9C28-78114F238BCC + sid-FD82C2A6-7C54-4890-901E-A7E864F7605C + + + + + + sid-918C653D-0960-4223-9C28-78114F238BCC + sid-961AF51C-9935-410E-AAA4-105B19186F5E + + + + + + sid-FD82C2A6-7C54-4890-901E-A7E864F7605C + sid-47947925-21CD-46FF-8D3F-294B235AA4CF + + + + + + sid-607CB05E-8762-41B6-AD43-C3970661A99D + sid-58DD8E88-59AE-4AAF-9ECC-5878215E6C52 + sid-5A3B2623-2876-4C5D-BEC0-8FF537CDD8FD + + + + + + sid-58DD8E88-59AE-4AAF-9ECC-5878215E6C52 + sid-BECCEB67-CAD4-416B-9DBE-B835DE1C4D8B + + + + + + sid-5A3B2623-2876-4C5D-BEC0-8FF537CDD8FD + sid-E1019803-AC7D-4082-A410-F756BC744268 + + + + + + sid-961AF51C-9935-410E-AAA4-105B19186F5E + sid-47947925-21CD-46FF-8D3F-294B235AA4CF + sid-AFA38469-CD5C-42A2-9473-2EAEBA61F0C0 + + + + + + sid-AFA38469-CD5C-42A2-9473-2EAEBA61F0C0 + sid-231F8A51-752F-4CB3-8FD1-23D153238344 + + + + + + sid-BECCEB67-CAD4-416B-9DBE-B835DE1C4D8B + sid-E1019803-AC7D-4082-A410-F756BC744268 + sid-51875CBD-D777-4E8B-B6E8-516FC6B885B8 + + + + + + sid-51875CBD-D777-4E8B-B6E8-516FC6B885B8 + sid-F1ADD871-FEF1-4A10-9077-1080FE848E46 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.signavio.xml new file mode 100644 index 000000000..18fda73ad --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits-And-Joins.signavio.xml @@ -0,0 +1,7277 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Multiple Splits And Joins + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.bpmn20.xml new file mode 100644 index 000000000..2812292a9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.bpmn20.xml @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid-9CAB06E6-EDCF-4193-869A-FE8328E8CBFF + sid-F4CFA154-9281-4579-B117-0859A2BFF7E8 + sid-3D61C6FE-D354-41FF-8544-014FAE7B5C5E + sid-06F36AE5-5FD5-487D-A783-64CEAB2C8A91 + sid-107A993F-6302-4391-9BE2-068C9C7B693B + sid-7FE0DFC7-C85C-4512-AE6D-870C434EB8C1 + sid-BE900A6F-2C7A-4444-8DBB-6320D1BAC713 + sid-C6CAD430-8E26-445B-83C0-A36E23C7E1C1 + sid-2563D3F5-8471-4F7C-BDFD-09C38D094F43 + sid-5744C1B5-7791-4CEC-BE63-25659AF6086F + + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + + + + + + sid-54E118FA-9A24-434C-9E65-36F9D01FB43D + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-1187C872-CED2-4F61-A3A6-917961FBB6A8 + + + + + + sid-43F81872-8CCF-4341-9003-438220FA07F4 + sid-00841997-63BF-4E4B-8BB5-B3A9A15F0123 + sid-B22C3013-E93D-43F9-8445-3C0B98AFF3F6 + sid-369B410B-EA82-4896-91FD-23FFF759494A + + + + + + sid-75D1F9CC-4885-4EC4-BB9C-C24DFDA04F69 + + + + + + + sid-369B410B-EA82-4896-91FD-23FFF759494A + sid-75D1F9CC-4885-4EC4-BB9C-C24DFDA04F69 + + + + + + + sid-A24102E3-7EC7-42BA-AF16-AAA14CA59B80 + sid-00841997-63BF-4E4B-8BB5-B3A9A15F0123 + + + + + + + sid-7BFA5A55-E297-40FC-88A6-DF1DA809A12C + sid-43F81872-8CCF-4341-9003-438220FA07F4 + + + + + + sid-715966B5-1BBA-426A-B1AD-B1600C836447 + sid-A24102E3-7EC7-42BA-AF16-AAA14CA59B80 + sid-BFF577ED-4FCE-4C82-8867-69A604840D18 + + + + + + + sid-BFF577ED-4FCE-4C82-8867-69A604840D18 + sid-B22C3013-E93D-43F9-8445-3C0B98AFF3F6 + + + + + + sid-1187C872-CED2-4F61-A3A6-917961FBB6A8 + sid-715966B5-1BBA-426A-B1AD-B1600C836447 + + + + + + + + + + + + + + + + + + + + sid-9F27C720-DF39-4F98-B982-B8401C522627 + sid-CBC4BA2E-F967-4FFA-930F-9351FA2FE1BC + sid-976144D1-F77F-468A-9AEA-44CFE6FC53AF + sid-5785112F-6652-4A79-8765-274633FF857C + sid-50F141BC-DA33-4115-B0BE-3E2F86170A6F + sid-5B01939E-7383-4B15-8B03-7BAD381D815B + + + + + + + sid-93BCB59F-C250-4A99-9656-A018CB6909D0 + sid-71B40CAD-61D1-40E1-879A-5269B2C537C3 + + + + + + sid-71B40CAD-61D1-40E1-879A-5269B2C537C3 + sid-83DCC02D-1092-457B-A92F-FCC1A69B11DB + sid-B138CBD6-3412-4E12-818A-046DBE4EB268 + + + + + + sid-83DCC02D-1092-457B-A92F-FCC1A69B11DB + sid-3BF11953-04AC-47E5-86DF-A021E14B38BE + + + + + + sid-B138CBD6-3412-4E12-818A-046DBE4EB268 + sid-4BD8D37C-5F6B-4E22-B0EF-207C79D2FF1F + + + + + + sid-4BD8D37C-5F6B-4E22-B0EF-207C79D2FF1F + sid-3BF11953-04AC-47E5-86DF-A021E14B38BE + + + + + + sid-93BCB59F-C250-4A99-9656-A018CB6909D0 + + + + + + + + + + + + + + + sid-B132315A-D2F0-4C56-B9B7-0D653E10D055 + sid-C80BC3FC-1DAA-4891-A532-8CAF546022DB + sid-90F285F4-D9B1-47EB-98A4-4DEC26F5004E + sid-4C5398A4-E1EE-453F-84A4-95E36AB3F52D + sid-172D9479-01F2-4322-8DEE-F64EB67370AC + sid-E9F47FE4-FBA9-48C1-94EB-0414FF62CA4B + + + + + + + sid-D142870D-78CA-4179-A412-D55D995F09C2 + sid-EBAA7EDE-A111-4B75-9049-18086C370093 + + + + + + sid-EBAA7EDE-A111-4B75-9049-18086C370093 + sid-DA5A35BE-DE88-458E-9070-5EAF5E50AC3F + sid-F96F1343-A5F2-443E-AE6A-399839FA5CAD + + + + + + sid-DA5A35BE-DE88-458E-9070-5EAF5E50AC3F + sid-2D95B883-D746-42C4-A63B-E79F94DFFA19 + + + + + + sid-F96F1343-A5F2-443E-AE6A-399839FA5CAD + sid-53FC57E6-73A4-44DF-B8A4-2D040EE730E4 + + + + + + sid-53FC57E6-73A4-44DF-B8A4-2D040EE730E4 + sid-2D95B883-D746-42C4-A63B-E79F94DFFA19 + + + + + + sid-D142870D-78CA-4179-A412-D55D995F09C2 + + + + + + + + + + + + + + + sid-907901B0-15E1-463E-B3F2-FCCF07032D21 + sid-15DE9BF4-7DC1-4AB5-ABCB-2D78586129B4 + sid-D0F64CE9-F2AF-4C30-B131-7C5AFCBD83BE + sid-92F09878-8A0A-4027-A8D7-A0CC968646B7 + sid-9B90B624-729B-4ABC-912F-DEEACF9E0BEE + sid-CA956D63-388B-4F67-84BD-60CB84585701 + + + + + + + sid-53E74B08-8501-45E0-BB17-4F1AFA9695B5 + sid-26FD7AF6-2635-4D7F-B84D-A54BC63D059E + + + + + + sid-26FD7AF6-2635-4D7F-B84D-A54BC63D059E + sid-29205115-BF1F-4D60-AA26-A06F992732A2 + sid-E2D0CBCD-5C99-49FA-A29E-D4B70CFEC942 + + + + + + sid-29205115-BF1F-4D60-AA26-A06F992732A2 + sid-67317F54-919D-4CE2-A590-8BB9A538B282 + + + + + + sid-E2D0CBCD-5C99-49FA-A29E-D4B70CFEC942 + sid-9382889C-EFCE-42B2-A6DC-D29A276D1E86 + + + + + + sid-9382889C-EFCE-42B2-A6DC-D29A276D1E86 + sid-67317F54-919D-4CE2-A590-8BB9A538B282 + + + + + + sid-53E74B08-8501-45E0-BB17-4F1AFA9695B5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.signavio.xml new file mode 100644 index 000000000..9c525db8b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Multiple-Splits.signavio.xml @@ -0,0 +1,11634 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Multiple Splits + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess + + + With a Choice 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess + + + With a Choice 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess + + + With a Choice 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Do First + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess With a Choice 2 + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + SP 2 - Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 2 - No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 2 - Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess With a Choice 1 + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + SP 1 - Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 1 - No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 1 - Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subprocess With a Choice 3 + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + SP 3 - Choose + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 3 - No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SP 3 - Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.bpmn20.xml new file mode 100644 index 000000000..773ffc75e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.bpmn20.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E2054FDD-0C20-4939-938D-2169B317FEE7 + sid-34AD79D9-BE0C-4F97-AC23-7A97D238A6E5 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-8FFE9D52-DC83-46A8-BB36-98BA94E5FE84 + sid-40294A27-262C-4805-94A0-36AC9DFEA55A + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-E3493781-6466-4AED-BAD2-63D115E14820 + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-9C753C3D-F964-45B0-AF57-234F910529EF + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + + + + + + sid-9C753C3D-F964-45B0-AF57-234F910529EF + sid-A6DA25CE-636A-46B7-8005-759577956F09 + + + + + + sid-8B2BFD35-F1B2-4C77-AC51-F15960D8791A + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + + + + + + sid-A6DA25CE-636A-46B7-8005-759577956F09 + sid-E3493781-6466-4AED-BAD2-63D115E14820 + sid-8B2BFD35-F1B2-4C77-AC51-F15960D8791A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.signavio.xml new file mode 100644 index 000000000..bf33da092 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-One-Path-Ends.signavio.xml @@ -0,0 +1,3793 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel One Path Ends + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choice 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.bpmn20.xml new file mode 100644 index 000000000..373bb7f23 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.bpmn20.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E2054FDD-0C20-4939-938D-2169B317FEE7 + sid-34AD79D9-BE0C-4F97-AC23-7A97D238A6E5 + sid-2A302E91-F89F-4913-8F55-5C3AC5FAE4D3 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-040FCBAD-0550-4251-B799-74FCDB0DC3E2 + sid-D856C519-562B-46A3-B32C-9587F394BD0F + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-E3493781-6466-4AED-BAD2-63D115E14820 + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-9C753C3D-F964-45B0-AF57-234F910529EF + + + + + + sid-9C753C3D-F964-45B0-AF57-234F910529EF + sid-A6DA25CE-636A-46B7-8005-759577956F09 + + + + + + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + + + + + + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + sid-A6DA25CE-636A-46B7-8005-759577956F09 + sid-3B450653-1657-4247-B96E-6E3E6262BB97 + + + + + + sid-E3493781-6466-4AED-BAD2-63D115E14820 + sid-3B450653-1657-4247-B96E-6E3E6262BB97 + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.signavio.xml new file mode 100644 index 000000000..fd0583b3c --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive-No-Inclusive.signavio.xml @@ -0,0 +1,4497 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Then Exclusive No Inclusive + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choice 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.bpmn20.xml new file mode 100644 index 000000000..f915b4c3d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.bpmn20.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E2054FDD-0C20-4939-938D-2169B317FEE7 + sid-34AD79D9-BE0C-4F97-AC23-7A97D238A6E5 + sid-2A302E91-F89F-4913-8F55-5C3AC5FAE4D3 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-EBB511F3-5AD5-4307-9B9B-85C17F8889D5 + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-E3493781-6466-4AED-BAD2-63D115E14820 + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-9C753C3D-F964-45B0-AF57-234F910529EF + + + + + + sid-9C753C3D-F964-45B0-AF57-234F910529EF + sid-A6DA25CE-636A-46B7-8005-759577956F09 + + + + + + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + + + + + + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-E3493781-6466-4AED-BAD2-63D115E14820 + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + sid-A6DA25CE-636A-46B7-8005-759577956F09 + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.signavio.xml new file mode 100644 index 000000000..31f702adb --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Then-Exclusive.signavio.xml @@ -0,0 +1,4291 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Then Exclusive + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choice 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.bpmn20.xml new file mode 100644 index 000000000..fed03996b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.bpmn20.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + sid-B33EE043-AB93-4343-A1D4-7B267E2DAFBE + sid-349F8C0C-45EA-489C-84DD-1D944F48D778 + sid-57463471-693A-42A2-9EC6-6460BEDECA86 + sid-CA089240-802A-4C32-9130-FB1A33DDCCC3 + sid-E2054FDD-0C20-4939-938D-2169B317FEE7 + sid-34AD79D9-BE0C-4F97-AC23-7A97D238A6E5 + sid-2A302E91-F89F-4913-8F55-5C3AC5FAE4D3 + sid-F3A979E3-F586-4807-8223-1FAB5A5647B0 + sid-51816945-79BF-47F9-BA3C-E95ABAE3D1DB + sid-AF897BE2-CC07-4236-902B-DD6E1AB31842 + + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + + + + + + sid-F3994F51-FE54-4910-A1F4-E5895AA1A612 + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + + + + + + sid-7E15C71B-DE9E-4788-B140-A647C99FDC94 + sid-A6DA25CE-636A-46B7-8005-759577956F09 + sid-E3493781-6466-4AED-BAD2-63D115E14820 + + + + + + sid-B6E22A74-A691-453A-A789-B9F8AF787D7C + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + + + + + + sid-CAEAD081-6E73-4C98-8656-C67DA18F5140 + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-9C753C3D-F964-45B0-AF57-234F910529EF + + + + + + sid-9C753C3D-F964-45B0-AF57-234F910529EF + sid-A6DA25CE-636A-46B7-8005-759577956F09 + + + + + + sid-3742C960-71D0-4342-8064-AF1BB9EECB42 + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + + + + + + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-40496205-24D7-494C-AB6B-CD42B8D606EF + + + + + + sid-E3493781-6466-4AED-BAD2-63D115E14820 + sid-12F60C82-D18F-4747-B5B5-34FD40F2C8DE + sid-0895E09C-077C-4D12-8C11-31F28CBC7740 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.signavio.xml new file mode 100644 index 000000000..45a234a01 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel-Through-Same-Task.signavio.xml @@ -0,0 +1,4289 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parallel Through Same Task + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repeated Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choice 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No Task + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel.camunda.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel.camunda.bpmn20.xml new file mode 100644 index 000000000..620cf25b8 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Parallel.camunda.bpmn20.xml @@ -0,0 +1,158 @@ + + + + + SequenceFlow_1vv685e + + + + + SequenceFlow_160ihio + SequenceFlow_01s4u0j + SequenceFlow_1x5zcdu + SequenceFlow_1g26zbi + + + + + + + SequenceFlow_11uv01u + SequenceFlow_0z80s5o + SequenceFlow_0cquzxd + SequenceFlow_0uq97wv + + + + + + SequenceFlow_1a97zm5 + + + + + + + + + + + + + + SequenceFlow_1vv685e + SequenceFlow_160ihio + + + + + + + + SequenceFlow_01s4u0j + SequenceFlow_11uv01u + + + + + + + + SequenceFlow_1x5zcdu + SequenceFlow_0z80s5o + + + + + + + + SequenceFlow_1g26zbi + SequenceFlow_0cquzxd + + + + + + + + SequenceFlow_0uq97wv + SequenceFlow_1a97zm5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/README.txt b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/README.txt new file mode 100644 index 000000000..8e8379c38 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/README.txt @@ -0,0 +1,6 @@ +Please note that these files were created with Gemsbok. + +Please install and configure it, in order to edit them, rather than doing so by hand, as the .signavio.xml files +need to be kept in sync. + +It is here: https://github.com/matthewhampton/Gemsbok diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.bpmn20.xml new file mode 100644 index 000000000..3b3678e20 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.bpmn20.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + sid-8FEAF795-94B2-440D-802F-A1E3D06B2E8D + sid-26E89636-8D64-4086-A71F-A225A5AA8F81 + sid-11DD8628-C125-439E-B207-AE898139650B + sid-6C039219-F210-4984-B366-11C77DB35229 + sid-8BB6CFC5-D636-47D8-9AF6-0E45FD2F3B39 + sid-F7545D0E-08BD-4415-968E-CEF57C5261A9 + sid-C621B8FC-0E3E-409C-A9D2-55188512C4CC + sid-F4C7A6CA-3D30-43FE-BDCE-17DFBE8C102E + + + + + + + sid-2E290042-66C2-4BB7-8627-7FF1EAF345DB + + + + + + sid-0258E597-1879-4A66-B2A0-686F559D123E + sid-8E7A167A-0410-43DF-AAC1-FAA54D122990 + + + + + + + sid-65C6AD2F-4BB1-4CCF-A4BD-652354666F4C + sid-473A1324-A78B-491D-B26F-E98A581DC913 + + + + + + sid-2E290042-66C2-4BB7-8627-7FF1EAF345DB + sid-49D8B0A1-1254-4545-B18C-5232C606A7E6 + + + + + + sid-49D8B0A1-1254-4545-B18C-5232C606A7E6 + sid-0258E597-1879-4A66-B2A0-686F559D123E + sid-5457E966-E8F8-4E6A-AEDE-B4A1399CFAC2 + + + + + + sid-5457E966-E8F8-4E6A-AEDE-B4A1399CFAC2 + sid-41485063-4276-4F8E-A55C-C057B30FA5F7 + + + + + + + sid-41485063-4276-4F8E-A55C-C057B30FA5F7 + sid-8E7A167A-0410-43DF-AAC1-FAA54D122990 + sid-473A1324-A78B-491D-B26F-E98A581DC913 + sid-9928A8F9-83F2-4C6B-A253-FC3D161BD33C + + + + + + sid-9928A8F9-83F2-4C6B-A253-FC3D161BD33C + sid-65C6AD2F-4BB1-4CCF-A4BD-652354666F4C + + + + + + + + + + + priority = 'Emergency' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.signavio.xml new file mode 100644 index 000000000..f83180b1b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Scripts.signavio.xml @@ -0,0 +1,3553 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scripts + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Permanent + + + Script + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select Type Of + + + Change + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Temp Script + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Emergency? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledge + + + Emergency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Permanent + + + + + + + + + + + + + + + + + + + + Temporary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Confirm + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.bpmn20.xml new file mode 100644 index 000000000..b9ab28f94 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.bpmn20.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + sid-2C69C7A6-BD02-428F-B5AA-0BB10EC514C2 + USER_INPUT_SELECT_TEST + GATEWAY_SELECTED_TEST + sid-464B8E64-10B4-4158-BDEE-11144CE20306 + MESSAGES_SUB + SCRIPTS_SUB + MESSAGE_INTERRUPTS_SUB + MESSAGE_NON_INTERRUPT_SUB + + + + + + + sid-6469A686-F148-4E90-81BB-5D3305421758 + + + + + + sid-6469A686-F148-4E90-81BB-5D3305421758 + sid-0B133E7E-E6B3-4578-8F8F-1C9DA5D8A015 + + + + + + sid-0B133E7E-E6B3-4578-8F8F-1C9DA5D8A015 + sid-85975D4B-1DC8-4998-A7DF-6F9C31861EE7 + sid-ECE4F718-B986-45F1-8B0C-C0C1DAE66DB3 + sid-488CD0F1-E280-4BDE-B794-64CAF8C4FCA8 + sid-9AD6C46B-BC40-4D3A-91E2-8E933EF9ADF0 + sid-BFCB2CAC-CE5B-4EA2-8A4D-339D7D5894A4 + + + + + + sid-36EA1BBD-FB84-4C19-AEFA-5C731F9C8789 + sid-979356AC-A00F-456E-9790-39D512F50D3C + sid-9AD6C46B-BC40-4D3A-91E2-8E933EF9ADF0 + sid-B7DB2642-79A3-4D7B-9CB6-06C4854E4C9D + sid-EC51B1C2-2A2D-4515-90CF-9CDCF31A8A44 + + + + + + + sid-85975D4B-1DC8-4998-A7DF-6F9C31861EE7 + sid-36EA1BBD-FB84-4C19-AEFA-5C731F9C8789 + + + + + + + sid-488CD0F1-E280-4BDE-B794-64CAF8C4FCA8 + sid-979356AC-A00F-456E-9790-39D512F50D3C + + + + + + + sid-ECE4F718-B986-45F1-8B0C-C0C1DAE66DB3 + sid-B7DB2642-79A3-4D7B-9CB6-06C4854E4C9D + + + + + + + sid-BFCB2CAC-CE5B-4EA2-8A4D-339D7D5894A4 + sid-EC51B1C2-2A2D-4515-90CF-9CDCF31A8A44 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.signavio.xml new file mode 100644 index 000000000..ec2212f5d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Test-Workflows.signavio.xml @@ -0,0 +1,3570 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test Workflows + + + + + + + + + + + + + + + + + + + + + undefined + + + Test Runner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Scripts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message + + + Interrupts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Non + + + Interrupt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Messages + + + + + + + + + + + + + + + + + + + + Message Interrupts + + + + + + + + + + + + + + + + + + + + Scripts + + + + + + + + + + + + + + + + + + + + Tests Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message Non Interrupt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.bpmn20.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.bpmn20.xml new file mode 100644 index 000000000..0dc67f737 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.bpmn20.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + sid-516421BF-6D56-4D23-87A5-6E8FC1E2636F + sid-B0D398F3-C33A-4113-B8BB-D7ABF6990C4A + sid-AB1683F9-F260-499B-A04C-F7ADA9C64817 + + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + + + + + + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + + + + + sid-F1DA0EEB-68EF-47E3-A6EA-5E2D25B6B34D + sid-334FDA52-5EF6-49DE-9839-E1263BA922FE + + due_time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.signavio.xml b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.signavio.xml new file mode 100644 index 000000000..c2cba0688 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/Test-Workflows/Timer-Intermediate.signavio.xml @@ -0,0 +1,818 @@ + + + +BPMN 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Timer Intermediate + + + + + + + + + + + + + + + + + + + + + undefined + + + Tester + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Due Time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + diff --git a/tests/SpiffWorkflow/bpmn/data/boundary.bpmn b/tests/SpiffWorkflow/bpmn/data/boundary.bpmn new file mode 100644 index 000000000..00e53ccbd --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/boundary.bpmn @@ -0,0 +1,163 @@ + + + + + Flow_1pbxbk9 + + + Flow_1jnwt7c + Flow_0f0f7wg + + Flow_0vmzw8v + + + + + + + + Flow_0vmzw8v + Flow_0hkqchr + Flow_0axldsu + + + + Flow_0q65w45 + + + Flow_0axldsu + Flow_0q65w45 + Flow_0hkqchr + + + + answer == 'Yes' + + + + + Flow_0yzqey7 + Flow_1v53za5 + + + + + + + Flow_0jqkm6y + + + + Flow_0f0f7wg + Flow_1v53za5 + Flow_0jqkm6y + + + + + + + + + Flow_1pbxbk9 + Flow_1jnwt7c + + + Flow_0yzqey7 + + PT0.03S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/boundary_timer_on_task.bpmn b/tests/SpiffWorkflow/bpmn/data/boundary_timer_on_task.bpmn new file mode 100644 index 000000000..bedebecf0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/boundary_timer_on_task.bpmn @@ -0,0 +1,77 @@ + + + + + Flow_164sojd + + + + Flow_0ac4lx5 + + timedelta(milliseconds=2) + + + + + Flow_0ac4lx5 + timer_called = True + + + Some docs + Flow_04tuv5z + + + + + Flow_164sojd + Flow_1m2vq4v + timer_called = False + + + Flow_1m2vq4v + Flow_04tuv5z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/bpmnAntiLoopTask.bpmn b/tests/SpiffWorkflow/bpmn/data/bpmnAntiLoopTask.bpmn new file mode 100644 index 000000000..4893f713a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/bpmnAntiLoopTask.bpmn @@ -0,0 +1,47 @@ + + + + + Flow_0q33jmj + + + Enter Name for member {{ Activity_TestLoop_CurrentVar }} + + + + + + Flow_0q33jmj + Flow_13213ce + + 5 + + + + + Flow_13213ce + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/bpmnLoopTask.bpmn b/tests/SpiffWorkflow/bpmn/data/bpmnLoopTask.bpmn new file mode 100644 index 000000000..c35b237e2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/bpmnLoopTask.bpmn @@ -0,0 +1,45 @@ + + + + + Flow_0q33jmj + + + Enter Name for member {{ Activity_TestLoop_CurrentVar }} + + + + + + Flow_0q33jmj + Flow_13213ce + + + + + Flow_13213ce + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/bpmnMultiUserTask.bpmn b/tests/SpiffWorkflow/bpmn/data/bpmnMultiUserTask.bpmn new file mode 100644 index 000000000..d9a723161 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/bpmnMultiUserTask.bpmn @@ -0,0 +1,49 @@ + + + + + Flow_0t6p1sb + + + + Flow_0ugjw69 + + + + Flow_0t6p1sb + Flow_0ugjw69 + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_call_activity.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_call_activity.bpmn new file mode 100644 index 000000000..84c05f4d7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_call_activity.bpmn @@ -0,0 +1,43 @@ + + + + + Flow_07uhaa7 + + + + # Call Event +<div><span>Hello {{my_var}}</span></div> + Flow_0apfnjq + + + + Flow_07uhaa7 + Flow_0apfnjq + my_var = 'World' +my_other_var = 'Mike' +del(remove_this_var) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_end_event.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_end_event.bpmn new file mode 100644 index 000000000..d13377d12 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_end_event.bpmn @@ -0,0 +1,71 @@ + + + + + Flow_1g3dpd7 + + + + + Flow_0ovgj6c + Flow_0qdgvah + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_0izaz4f + + + + Flow_0qdgvah + Flow_0izaz4f + print(pre_var) +print(my_var) +print(my_other_var) + + + Flow_1g3dpd7 + Flow_0ovgj6c + pre_var = 'some string' +remove_this_var = 'something else' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2.bpmn new file mode 100644 index 000000000..9460d992e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2.bpmn @@ -0,0 +1,55 @@ + + + + + Flow_1g3dpd7 + + + + Flow_1g3dpd7 + Flow_0qdgvah + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_1ll6j9j + + + + Flow_0qdgvah + Flow_1ll6j9j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2b.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2b.bpmn new file mode 100644 index 000000000..0310bcfc0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_2b.bpmn @@ -0,0 +1,42 @@ + + + + + Flow_1g3dpd7 + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_0l0w6u9 + + + Flow_1g3dpd7 + Flow_0l0w6u9 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_3.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_3.bpmn new file mode 100644 index 000000000..9b1c832b0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_level_3.bpmn @@ -0,0 +1,43 @@ + + + + + Flow_1g3dpd7 + + + + Flow_1g3dpd7 + Flow_0qdgvah + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_0qdgvah + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_nested.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_nested.bpmn new file mode 100644 index 000000000..231b8f75e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/call_activity_nested.bpmn @@ -0,0 +1,72 @@ + + + + + Flow_1g3dpd7 + + + + Flow_1g3dpd7 + Flow_0qdgvah + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_04o2npf + + + + Flow_0qdgvah + Flow_0upce00 + + + + + Level2c + + Flow_0upce00 + Flow_04o2npf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_nested/level2c.dmn b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/level2c.dmn new file mode 100644 index 000000000..ff7d93686 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_nested/level2c.dmn @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/call_activity_with_error.bpmn b/tests/SpiffWorkflow/bpmn/data/call_activity_with_error.bpmn new file mode 100644 index 000000000..790b395ba --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/call_activity_with_error.bpmn @@ -0,0 +1,72 @@ + + + + + Flow_1g3dpd7 + + + + + Flow_0ovgj6c + Flow_0qdgvah + + + + # Main Workflow +Hello {{my_other_var}} + + + Flow_0izaz4f + + + + Flow_0qdgvah + Flow_0izaz4f + print(pre_var) +print(my_var) +print(my_other_var) + + + Flow_1g3dpd7 + Flow_0ovgj6c + pre_var = 'some string' +# There is no variable remove +# remove_this_var = 'something else' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/collaboration.bpmn b/tests/SpiffWorkflow/bpmn/data/collaboration.bpmn new file mode 100644 index 000000000..534949a99 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/collaboration.bpmn @@ -0,0 +1,112 @@ + + + + + + + + + + + + + lover_name + + + + + + + + + + lover_name + + + from_name + + + + + + Flow_1bl6jeh + + + Flow_1bl6jeh + Flow_0tp8uut + + + Flow_1ai45pq + + + Flow_0tp8uut + Flow_1ai45pq + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/data/correlation.bpmn b/tests/SpiffWorkflow/bpmn/data/correlation.bpmn new file mode 100644 index 000000000..769bd5696 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/correlation.bpmn @@ -0,0 +1,179 @@ + + + + + + + process_id + + + + + task_num + + + init_id + + + + + + + Flow_0lrjj2a + + + Flow_0lrjj2a + Flow_0gp7t8p + + 2 + + + Flow_10qgjde + + + + Flow_02xt17l + Flow_018er1s + + + + + Flow_018er1s + Flow_1qfn3g2 + + + + Flow_1qfn3g2 + + + + Flow_10qgjde + Flow_02xt17l + + + + + Flow_0gp7t8p + + + + + Flow_0qafvbe + + + + + + Flow_0qafvbe + Flow_12j0ayf + + + + Flow_12j0ayf + Flow_0k7rc31 + + + + Flow_0k7rc31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/correlation_two_conversations.bpmn b/tests/SpiffWorkflow/bpmn/data/correlation_two_conversations.bpmn new file mode 100644 index 000000000..2e52a62f5 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/correlation_two_conversations.bpmn @@ -0,0 +1,291 @@ + + + + + + + + process_id + + + task_id + + + + + task_num + + + init_id + + + + + task_num + + + subprocess + + + + + Flow_0lrjj2a + + + Flow_0lrjj2a + Flow_0gp7t8p + + 2 + + + Flow_10qgjde + + + + Flow_02xt17l + Flow_018er1s + + + + + Flow_018er1s + Flow_0dm5gw6 + + + + Flow_0qfregr + + + Flow_10qgjde + Flow_02xt17l + + + + + Flow_0aznp8k + Flow_1xocqcx + + + + + Flow_1xocqcx + Flow_0qfregr + + + + + Flow_0dm5gw6 + Flow_0aznp8k + + + + + + + Flow_0gp7t8p + + + + + Flow_0qafvbe + + + + Flow_0qafvbe + Flow_12j0ayf + + + Flow_12j0ayf + Flow_0k7rc31 + + + + Flow_0k7rc31 + + + + + + + + + + Flow_0h0qe7m + + + + Flow_0h0qe7m + Flow_0d0s8s1 + + + Flow_0d0s8s1 + Flow_1xoewh9 + + + + Flow_1xoewh9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/custom_function_test.bpmn b/tests/SpiffWorkflow/bpmn/data/custom_function_test.bpmn new file mode 100644 index 000000000..b1cda27f9 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/custom_function_test.bpmn @@ -0,0 +1,93 @@ + + + + + Flow_0dsbqk4 + + + + Flow_0dsbqk4 + Flow_089pzz7 + c1 = custom_function('hello') + + + Flow_1q01hy1 + + + Flow_089pzz7 + Flow_08hqius + + Flow_14l2ton + + + + Flow_06gypww + + + + Flow_14l2ton + Flow_06gypww + c2 = custom_function('goodbye') + + + + + + + Flow_08hqius + Flow_1q01hy1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/custom_function_test_call_activity.bpmn b/tests/SpiffWorkflow/bpmn/data/custom_function_test_call_activity.bpmn new file mode 100644 index 000000000..4ad395ce0 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/custom_function_test_call_activity.bpmn @@ -0,0 +1,39 @@ + + + + + Flow_1edpn8x + + + Flow_1edpn8x + Flow_17mgpnz + c3 = custom_function('arrivederci') + + + Flow_17mgpnz + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/data_object.bpmn b/tests/SpiffWorkflow/bpmn/data/data_object.bpmn new file mode 100644 index 000000000..a8f940297 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/data_object.bpmn @@ -0,0 +1,152 @@ + + + + + + + Flow_18858hr + + + + + + + + + Flow_19pyf8s + + + + Flow_1r7v9yo + Flow_1tnu3ej + + + DataObjectReference_0pztwm3 + Property_1uusomz + + + + Flow_18858hr + Flow_0gbxq9s + + DataObjectReference_17fhr1j + + + + Flow_0gbxq9s + Flow_1r7v9yo + + + Flow_1tnu3ej + Flow_19pyf8s + + + DataObjectReference_0cm8dnh + Property_1q5wp77 + + + Flow_0yx8lkz + + + Flow_0yx8lkz + Flow_0rk4i35 + + + + Flow_0rk4i35 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/exclusive_gateway_no_default.bpmn b/tests/SpiffWorkflow/bpmn/data/exclusive_gateway_no_default.bpmn new file mode 100644 index 000000000..9c566ca4e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/exclusive_gateway_no_default.bpmn @@ -0,0 +1,92 @@ + + + + + Flow_1i4a088 + + + Flow_1i4a088 + Flow_Greater1 + Flow_Less1 + + + x > 1 + + + x < 1 + + + + + + Flow_Greater2 + Flow_Less2 + + + + Flow_Greater1 + Flow_Greater2 + + + Flow_Less1 + Flow_Less2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/exclusive_into_multi.bpmn b/tests/SpiffWorkflow/bpmn/data/exclusive_into_multi.bpmn new file mode 100644 index 000000000..0fb12a411 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/exclusive_into_multi.bpmn @@ -0,0 +1,83 @@ + + + + + Flow_163toj3 + + + Flow_163toj3 + Flow_1rakb4c + x = 0 + + + + Flow_1rakb4c + Flow_04bjhw6 + Flow_0340se7 + + + + x != 0 + + + + + Flow_04bjhw6 + Flow_073oado + + 1 + + + + Flow_073oado + Flow_0340se7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/exclusive_non_default_path_into_multi.bpmn b/tests/SpiffWorkflow/bpmn/data/exclusive_non_default_path_into_multi.bpmn new file mode 100644 index 000000000..bb4bbab0d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/exclusive_non_default_path_into_multi.bpmn @@ -0,0 +1,97 @@ + + + + + Flow_0rqubl2 + + + + + + + + Flow_0rqubl2 + Flow_02orejl + + + Flow_02orejl + Flow_Yes + Flow_No + + + Flow_No + Flow_0pud9db + + + + + + + + Flow_Yes + Flow_0pud9db + + 3 + + + + + + morestuff == 'Yes' + + + morestuff == 'No' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/invalid_cancel.bpmn b/tests/SpiffWorkflow/bpmn/data/invalid_cancel.bpmn new file mode 100644 index 000000000..f473c9655 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/invalid_cancel.bpmn @@ -0,0 +1,123 @@ + + + + + Flow_0xym55y + + + + Flow_16q1uec + print('New Title') +title = 'New Title' + + + + + + + + Flow_1rvh899 + Flow_1n1fs6z + + + Flow_07i0gvv + Flow_1c2tudh + [print(formdata) for _ in range(how_many)] +printdata = formdata + + + Flow_1c2tudh + + + + + + Flow_0xym55y + Flow_1rvh899 + print('Hello'); printdata=''; test_message='' + + + + + + + + + Flow_1n1fs6z + Flow_07i0gvv + + + + Flow_16q1uec + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/invalid_process_sub.bpmn b/tests/SpiffWorkflow/bpmn/data/invalid_process_sub.bpmn new file mode 100644 index 000000000..2a8793e98 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/invalid_process_sub.bpmn @@ -0,0 +1,39 @@ + + + + + Flow_0xpz6la + + + Flow_0xpz6la + Flow_03yam6h + print('complicated common task') + + + + Flow_03yam6h + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/invalid_process_top.bpmn b/tests/SpiffWorkflow/bpmn/data/invalid_process_top.bpmn new file mode 100644 index 000000000..28e738b5a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/invalid_process_top.bpmn @@ -0,0 +1,64 @@ + + + + + Flow_1xegt6f + + + + + Flow_0qc6vpv + + + + + Flow_1xegt6f + Flow_11qyfqv + print('task1') + + + Flow_11qyfqv + Flow_0hntmrc + + + Flow_0hntmrc + Flow_0qc6vpv + print('task2') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/io_spec.bpmn b/tests/SpiffWorkflow/bpmn/data/io_spec.bpmn new file mode 100644 index 000000000..65356b56f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/io_spec.bpmn @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + Flow_0n038fc + + + Flow_1d3l0mt + + + Flow_0n038fc + Flow_1d3l0mt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/io_spec_parent.bpmn b/tests/SpiffWorkflow/bpmn/data/io_spec_parent.bpmn new file mode 100644 index 000000000..a4324f12f --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/io_spec_parent.bpmn @@ -0,0 +1,54 @@ + + + + + + + + Flow_1uel76w + + + Flow_0aj70uj + Flow_1uel76w + + + Flow_00qjfvu + Flow_0aj70uj + + + + Flow_00qjfvu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/lanes.bpmn b/tests/SpiffWorkflow/bpmn/data/lanes.bpmn new file mode 100644 index 000000000..0561478d7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/lanes.bpmn @@ -0,0 +1,207 @@ + + + + + + + + + Activity_B1 + Implement_Feature + Gateway_askQuestion + + + + StartEvent_1 + Activity_A1 + Activity_A2 + + + Activity_1uksrqx + Event_07pakcl + Activity_0i0rxuw + + + + Flow_0jwejm5 + + + + + + + + Flow_0jwejm5 + Flow_140vffb + + + + + + + + Flow_140vffb + Flow_1k9gsm1 + + + + + + + + Flow_0okhwy0 + Flow_17rng3c + + + Flow_182bqvo + Flow_17rng3c + Flow_0xz2oco + + + + + NeedClarification == 'Yes' + + + + + + + + + Flow_1cybznq + Flow_0e1uyol + + Flow_086ghyu + + + + Flow_086ghyu + Flow_1jw6qrj + + + Flow_1jw6qrj + + + + + Flow_0xz2oco + Flow_1cybznq + + + Flow_0e1uyol + + + Flow_1k9gsm1 + Flow_0okhwy0 + Flow_182bqvo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/multipleEvents.bpmn b/tests/SpiffWorkflow/bpmn/data/multipleEvents.bpmn new file mode 100644 index 000000000..5cf1fa3cc --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/multipleEvents.bpmn @@ -0,0 +1,201 @@ + + + + + Flow_1f7we2y + + + Flow_0mixvu9 + Flow_08knksn + cancel="cancel_signal" + + + + + + + + Flow_02yqmm2 + Flow_1i2iik3 + + + <H1>Hello</H1> + Flow_0ynr3ge + Flow_02yqmm2 + + + Flow_0xvajbj + + + <H1>Good Bye</H1> + Flow_0elk2a3 + Flow_0xvajbj + + + <H1>Cancel Message</H1> + Flow_0zc9byy + Flow_0zy1z3a + cancel="cancel_event" + + + Flow_1i2iik3 + Flow_0elk2a3 + + Flow_0syqz17 + + + + + + + + Flow_0syqz17 + Flow_0m0ilsi + + + Flow_0m0ilsi + + + + + + Flow_0mixvu9 + + + + Flow_0zc9byy + + + + + + + + + + + Flow_08knksn + + + + Flow_0zy1z3a + + + + Flow_1f7we2y + Flow_0ynr3ge + cancel="none" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/proptest-Sub.bpmn b/tests/SpiffWorkflow/bpmn/data/proptest-Sub.bpmn new file mode 100644 index 000000000..84f987fa7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/proptest-Sub.bpmn @@ -0,0 +1,40 @@ + + + + + Flow_0wro40z + + + + Flow_0061o90 + + + + Flow_0wro40z + Flow_0061o90 + valC=valB +valD=valA + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/proptest-Top.bpmn b/tests/SpiffWorkflow/bpmn/data/proptest-Top.bpmn new file mode 100644 index 000000000..323ace022 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/proptest-Top.bpmn @@ -0,0 +1,111 @@ + + + + + Flow_0du1rjv + + + Flow_0du1rjv + Flow_0gl3cli + valA = 1 + + + + Flow_0gl3cli + Flow_0qkplpb + + Flow_0i4qk1g + + + + Flow_001zehj + + + + Flow_0i4qk1g + Flow_001zehj + valB = valA + + + + + Flow_0qkplpb + Flow_1rptzfw + + + + + Flow_1u6sv80 + + + + Flow_1rptzfw + Flow_1u6sv80 + #print(valA) +#print(valB) +#print(valC) +#print(valD) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/random_fact.bpmn b/tests/SpiffWorkflow/bpmn/data/random_fact.bpmn new file mode 100644 index 000000000..a721848fb --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/random_fact.bpmn @@ -0,0 +1,133 @@ + + + + + SequenceFlow_0ik56h0 + + + + + + + + SequenceFlow_1291h6i + SequenceFlow_0am07in + #! scripts.FactService + +def some_fun(): + x = "what fun!" + return x; + +y = some_fun() + + + SequenceFlow_0am07in + + + + Here's some documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_0ik56h0 + SequenceFlow_1291h6i + + + + + User sets the Fact.type to cat, norris, or buzzword + + + Makes an API  call to get a fact of the required type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/resetworkflowA-sublevel.bpmn b/tests/SpiffWorkflow/bpmn/data/resetworkflowA-sublevel.bpmn new file mode 100644 index 000000000..c4f5267fe --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/resetworkflowA-sublevel.bpmn @@ -0,0 +1,38 @@ + + + + + Flow_1mp4u8z + + + Flow_1mp4u8z + Flow_1ud341z + + + + Flow_1ud341z + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/data/resetworkflowA-toplevel.bpmn b/tests/SpiffWorkflow/bpmn/data/resetworkflowA-toplevel.bpmn new file mode 100644 index 000000000..d9cb22211 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/resetworkflowA-toplevel.bpmn @@ -0,0 +1,76 @@ + + + + + Flow_1mskfwg + + + Flow_0qafdqt + Flow_07sx36q + + + + + + Flow_1ydceye + + + + Flow_1mskfwg + Flow_083r7tz + + + Flow_07sx36q + Flow_1ydceye + + + + Flow_083r7tz + Flow_0qafdqt + # Just need another task in here, to handle deep nesting. +x=1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/resetworkflowB-sublevel.bpmn b/tests/SpiffWorkflow/bpmn/data/resetworkflowB-sublevel.bpmn new file mode 100644 index 000000000..b6cc411e3 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/resetworkflowB-sublevel.bpmn @@ -0,0 +1,50 @@ + + + + + Flow_1mp4u8z + + + Flow_1mp4u8z + Flow_1ud341z + + + + Flow_1qhjty2 + + + + Flow_1ud341z + Flow_1qhjty2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/bpmn/data/resetworkflowB-toplevel.bpmn b/tests/SpiffWorkflow/bpmn/data/resetworkflowB-toplevel.bpmn new file mode 100644 index 000000000..f53492ad4 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/resetworkflowB-toplevel.bpmn @@ -0,0 +1,76 @@ + + + + + Flow_1mskfwg + + + Flow_1t8q9x8 + Flow_07sx36q + + + + + + Flow_1ydceye + + + + Flow_1mskfwg + Flow_083r7tz + + + Flow_07sx36q + Flow_1ydceye + + + Flow_083r7tz + Flow_1t8q9x8 + # Just need another task in here, to handle deep nesting. +x=1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/rrt.bpmn b/tests/SpiffWorkflow/bpmn/data/rrt.bpmn new file mode 100644 index 000000000..e6d1afb27 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/rrt.bpmn @@ -0,0 +1,336 @@ + + + + + SequenceFlow_05ja25w + + + ### UNIVERSITY OF VIRGINIA RESEARCH +#### Research Ramp-up Plan + + +As we plan for the resumption of on-grounds research, PIs are required to develop a Research Ramp-up Plan. Please use the ramp-up guidance provided to lay out your plan(s) to manage operations while prioritizing physical distancing, staggered work shifts to reduce group size, remote work, and other exposure-reducing measures. + + +Plans must be submitted to the Office of Research by Monday, May ?? for consideration in the first round of approvals. Plans will then be reviewed on a rolling basis going forward. + + +Instructions for Submitting: + + +1. Add a Request for each lab space you manage in a building. If your lab spans multiple rooms or floors in a single building, one request will be required for that lab. If your lab spans multipe buildings, one request for each building will be required for that lab. The primary reason for this differentiation is that in addition to obtaining approval to restart operations, this information will also be used after start up to assist with any contact tracing that may be needed. + + +2. Select each Request added and step through each form presented, responding to all required and applicable fields. You may be presented with different questions if activities in each lab differ. + + +3. After all forms have been completed, you will be presented with the option to create your Research Recovery Plan in Word format. Download the document and review it. If you see any corrections that need to be made, return to the coresponding form and make the correction. + + +4. Once the generated Research Recovery Plan is finalize, use the web site to submit it to the Office of the Vice President for Research for review. + + +Please submit questions on the Research Support website. + SequenceFlow_05ja25w + SequenceFlow_0h50bp3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_0h50bp3 + SequenceFlow_0bqu7pp + + + + + + ### {{ LabName }} +#### Lab details + + +Your response to these questions will determine if you do or do not provide additional information regarding each topic later. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_0bqu7pp + Flow_0scfmzc + + + SequenceFlow_1qtrgbv + + + + Review plan, make changes if needed, continue of ready to submit. + Flow_1b6vbkk + Flow_1e2qi9s + + + + Flow_1e2qi9s + SequenceFlow_1qtrgbv + CompleteTemplate ResearchRecoveryPlan.docx RESEARCH_RECOVERY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flow_0so3402 + SequenceFlow_1yi9lig + + + Flow_0scfmzc + Flow_0so3402 + Flow_0141rp3 + + + isAnimalUse == True + + + + + + + + + + + + + + Flow_1121pfu + SequenceFlow_1b4non2 + + + Flow_0141rp3 + SequenceFlow_1yi9lig + Flow_1121pfu + SequenceFlow_1wp5zmg + + + isGrantSupport == True + + + SequenceFlow_1b4non2 + SequenceFlow_1wp5zmg + Flow_1b6vbkk + + + + + isGrantSupport == False + + + + isAnimalUse == False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/same_id.bpmn b/tests/SpiffWorkflow/bpmn/data/same_id.bpmn new file mode 100644 index 000000000..df911921d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/same_id.bpmn @@ -0,0 +1,61 @@ + + + + + Flow_1fij5ow + + + Flow_1fij5ow + Flow_0gdswwp + + + + + Flow_0z5aj2a + + + + Flow_0gdswwp + Flow_0z5aj2a + + + This Task's id is "I_AM_TASK_1"  which is the same id of a task in workflow referenced in Task 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/same_id_sub.bpmn b/tests/SpiffWorkflow/bpmn/data/same_id_sub.bpmn new file mode 100644 index 000000000..74bc4147d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/same_id_sub.bpmn @@ -0,0 +1,49 @@ + + + + + Flow_1fij5ow + + + Flow_1fij5ow + Flow_0gdswwp + + + + + Flow_0gdswwp + + + This Task's id is "I_AM_TASK_1"  which is the same id of a task in workflow referenced in Task 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/serialization/v1.0.json b/tests/SpiffWorkflow/bpmn/data/serialization/v1.0.json new file mode 100644 index 000000000..f580929ad --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/serialization/v1.0.json @@ -0,0 +1,1045 @@ +{ + "serializer_version": "1.0", + "spec":{ + "name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "description":"Nested Subprocesses", + "file":"None:sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.bpmn", + "task_specs":{ + "Start":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_1", + "name":"Start", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[ + "sid-093DC600-6F99-40CE-988C-7AD87B792F90" + ], + "typename":"StartTask" + }, + "sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_2", + "name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38" + ], + "outputs":[ + "End" + ], + "typename":"_EndJoin" + }, + "End":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_3", + "name":"End", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin" + ], + "outputs":[], + "typename":"Simple" + }, + "sid-093DC600-6F99-40CE-988C-7AD87B792F90":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_4", + "name":"sid-093DC600-6F99-40CE-988C-7AD87B792F90", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":295.03104963838916, + "y":125.9281387248673 + }, + "lookahead":2, + "inputs":[ + "Start" + ], + "outputs":[ + "sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B":{ + "id":"sid-E35CEC65-EA3C-4C5A-BC90-8C17016C24E5", + "name":"", + "documentation":null, + "target_task_spec":"sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-E35CEC65-EA3C-4C5A-BC90-8C17016C24E5":{ + "id":"sid-E35CEC65-EA3C-4C5A-BC90-8C17016C24E5", + "name":"", + "documentation":null, + "target_task_spec":"sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"StartEvent", + "extensions":{} + }, + "sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_5", + "name":"sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B", + "description":"Action1", + "manual":false, + "internal":false, + "position":{ + "x":388.1987495241964, + "y":100.0482220899209 + }, + "lookahead":2, + "inputs":[ + "sid-093DC600-6F99-40CE-988C-7AD87B792F90" + ], + "outputs":[ + "sid-C014B4B9-889F-4EE9-9949-C89502C35CF0" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-C014B4B9-889F-4EE9-9949-C89502C35CF0":{ + "id":"sid-5BC5ECB5-884B-449A-AC67-B9B7ED296728", + "name":"Continue", + "documentation":null, + "target_task_spec":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-5BC5ECB5-884B-449A-AC67-B9B7ED296728":{ + "id":"sid-5BC5ECB5-884B-449A-AC67-B9B7ED296728", + "name":"Continue", + "documentation":null, + "target_task_spec":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "typename":"SequenceFlow" + } + }, + "typename":"TestUserTask", + "extensions":{} + }, + "sid-C014B4B9-889F-4EE9-9949-C89502C35CF0":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_6", + "name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "description":"Nested level 1", + "manual":false, + "internal":false, + "position":{ + "x":621.1179992387142, + "y":75.0 + }, + "lookahead":2, + "inputs":[ + "sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B" + ], + "outputs":[ + "sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38" + ], + "lane":null, + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38":{ + "id":"sid-85D2E5A5-BD56-4650-B715-3B6E0BE33443", + "name":"Finished", + "documentation":null, + "target_task_spec":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-85D2E5A5-BD56-4650-B715-3B6E0BE33443":{ + "id":"sid-85D2E5A5-BD56-4650-B715-3B6E0BE33443", + "name":"Finished", + "documentation":null, + "target_task_spec":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38", + "typename":"SequenceFlow" + } + }, + "spec":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7", + "sub_workflow":null, + "typename":"CallActivity", + "extensions":{} + }, + "sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_7", + "name":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":838.5092989722641, + "y":126.96333539026517 + }, + "lookahead":2, + "inputs":[ + "sid-C014B4B9-889F-4EE9-9949-C89502C35CF0" + ], + "outputs":[ + "sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin":{ + "id":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38.ToEndJoin":{ + "id":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"EndEvent", + "extensions":{} + }, + "Root":{ + "id":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963_8", + "name":"Root", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[], + "typename":"Simple" + } + }, + "typename":"BpmnProcessSpec" + }, + "data":{}, + "last_task":"7ff9e4ff-adbe-4c60-9b76-e7645a6e1563", + "success":true, + "tasks":{ + "32fcbafc-495a-4ba2-8b29-d65a416c45b9":{ + "id":"32fcbafc-495a-4ba2-8b29-d65a416c45b9", + "parent":null, + "children":[ + "e0dd5675-7477-40dd-a295-84457f6b5196" + ], + "last_state_change":1655750011.214358, + "state":32, + "task_spec":"Root", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "e0dd5675-7477-40dd-a295-84457f6b5196":{ + "id":"e0dd5675-7477-40dd-a295-84457f6b5196", + "parent":"32fcbafc-495a-4ba2-8b29-d65a416c45b9", + "children":[ + "7d02cfc1-ecfe-4795-8697-433bec0083a7" + ], + "last_state_change":1655750011.221847, + "state":32, + "task_spec":"Start", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "7d02cfc1-ecfe-4795-8697-433bec0083a7":{ + "id":"7d02cfc1-ecfe-4795-8697-433bec0083a7", + "parent":"e0dd5675-7477-40dd-a295-84457f6b5196", + "children":[ + "d3636b3c-2551-4027-a748-b6d28701d622" + ], + "last_state_change":1655750011.2265785, + "state":32, + "task_spec":"sid-093DC600-6F99-40CE-988C-7AD87B792F90", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{ + "event_fired":true + }, + "data":{} + }, + "d3636b3c-2551-4027-a748-b6d28701d622":{ + "id":"d3636b3c-2551-4027-a748-b6d28701d622", + "parent":"7d02cfc1-ecfe-4795-8697-433bec0083a7", + "children":[ + "7ff9e4ff-adbe-4c60-9b76-e7645a6e1563" + ], + "last_state_change":1655750011.231242, + "state":32, + "task_spec":"sid-FECD237F-6ABD-4A51-BB9C-B0C7D991202B", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "7ff9e4ff-adbe-4c60-9b76-e7645a6e1563":{ + "id":"7ff9e4ff-adbe-4c60-9b76-e7645a6e1563", + "parent":"d3636b3c-2551-4027-a748-b6d28701d622", + "children":[ + "eaba8031-e898-4c7f-97a7-62ec00282748", + "dea6192c-686b-4382-a6cf-d5b3ca038a37" + ], + "last_state_change":1655750011.244295, + "state":32, + "task_spec":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "eaba8031-e898-4c7f-97a7-62ec00282748":{ + "id":"eaba8031-e898-4c7f-97a7-62ec00282748", + "parent":"7ff9e4ff-adbe-4c60-9b76-e7645a6e1563", + "children":[ + "26ddc593-6c9a-46c5-abe6-37c4b3522350" + ], + "last_state_change":1655750011.2491412, + "state":32, + "task_spec":"Start", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "26ddc593-6c9a-46c5-abe6-37c4b3522350":{ + "id":"26ddc593-6c9a-46c5-abe6-37c4b3522350", + "parent":"eaba8031-e898-4c7f-97a7-62ec00282748", + "children":[ + "95912ad3-9951-4d4f-8591-f6e849f383bc" + ], + "last_state_change":1655750011.2535467, + "state":32, + "task_spec":"sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{ + "event_fired":true + }, + "data":{} + }, + "95912ad3-9951-4d4f-8591-f6e849f383bc":{ + "id":"95912ad3-9951-4d4f-8591-f6e849f383bc", + "parent":"26ddc593-6c9a-46c5-abe6-37c4b3522350", + "children":[ + "cc33a303-918a-4ad3-91c4-ef8b4e4fd127" + ], + "last_state_change":1655750034.2813075, + "state":32, + "task_spec":"sid-1B59DCD2-83A0-4687-B7BE-83625395572E", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "cc33a303-918a-4ad3-91c4-ef8b4e4fd127":{ + "id":"cc33a303-918a-4ad3-91c4-ef8b4e4fd127", + "parent":"95912ad3-9951-4d4f-8591-f6e849f383bc", + "children":[ + "ddda3f03-9fde-4b15-bba1-d053ce9adc88", + "54ac1086-be95-4f62-acd5-e4d52cfe758a" + ], + "last_state_change":1655750034.2987168, + "state":32, + "task_spec":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "ddda3f03-9fde-4b15-bba1-d053ce9adc88":{ + "id":"ddda3f03-9fde-4b15-bba1-d053ce9adc88", + "parent":"cc33a303-918a-4ad3-91c4-ef8b4e4fd127", + "children":[ + "88737152-d6ff-465b-92f1-50f19c45f64e" + ], + "last_state_change":1655750034.3050532, + "state":32, + "task_spec":"Start", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{}, + "data":{} + }, + "88737152-d6ff-465b-92f1-50f19c45f64e":{ + "id":"88737152-d6ff-465b-92f1-50f19c45f64e", + "parent":"ddda3f03-9fde-4b15-bba1-d053ce9adc88", + "children":[ + "2bc86015-d947-4572-a2fd-8649d18bd55a" + ], + "last_state_change":1655750034.310996, + "state":32, + "task_spec":"sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{ + "event_fired":true + }, + "data":{} + }, + "2bc86015-d947-4572-a2fd-8649d18bd55a":{ + "id":"2bc86015-d947-4572-a2fd-8649d18bd55a", + "parent":"88737152-d6ff-465b-92f1-50f19c45f64e", + "children":[ + "27ed00f2-962d-4208-8c37-34fa9146bebd" + ], + "last_state_change":1655750034.3138447, + "state":16, + "task_spec":"sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{}, + "data":{} + }, + "27ed00f2-962d-4208-8c37-34fa9146bebd":{ + "id":"27ed00f2-962d-4208-8c37-34fa9146bebd", + "parent":"2bc86015-d947-4572-a2fd-8649d18bd55a", + "children":[ + "ed38c843-c6e7-408f-8433-117a31e52981" + ], + "last_state_change":1655750034.2856145, + "state":4, + "task_spec":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{}, + "data":{} + }, + "ed38c843-c6e7-408f-8433-117a31e52981":{ + "id":"ed38c843-c6e7-408f-8433-117a31e52981", + "parent":"27ed00f2-962d-4208-8c37-34fa9146bebd", + "children":[ + "27c8287e-bce1-4b9e-afee-b637010bd837" + ], + "last_state_change":1655750034.28598, + "state":4, + "task_spec":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{}, + "data":{} + }, + "27c8287e-bce1-4b9e-afee-b637010bd837":{ + "id":"27c8287e-bce1-4b9e-afee-b637010bd837", + "parent":"ed38c843-c6e7-408f-8433-117a31e52981", + "children":[], + "last_state_change":1655750034.2863548, + "state":4, + "task_spec":"End", + "triggered":false, + "workflow_name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "internal_data":{}, + "data":{} + }, + "54ac1086-be95-4f62-acd5-e4d52cfe758a":{ + "id":"54ac1086-be95-4f62-acd5-e4d52cfe758a", + "parent":"cc33a303-918a-4ad3-91c4-ef8b4e4fd127", + "children":[ + "05ef5ac5-6579-4ac2-9b8f-09f2b5d98aca" + ], + "last_state_change":1655750011.235, + "state":4, + "task_spec":"sid-64E2EF25-F986-4834-8C3B-C3533746113E", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "05ef5ac5-6579-4ac2-9b8f-09f2b5d98aca":{ + "id":"05ef5ac5-6579-4ac2-9b8f-09f2b5d98aca", + "parent":"54ac1086-be95-4f62-acd5-e4d52cfe758a", + "children":[ + "4fa137ad-658d-4f21-8bd8-c591905dc059" + ], + "last_state_change":1655750011.235288, + "state":4, + "task_spec":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "4fa137ad-658d-4f21-8bd8-c591905dc059":{ + "id":"4fa137ad-658d-4f21-8bd8-c591905dc059", + "parent":"05ef5ac5-6579-4ac2-9b8f-09f2b5d98aca", + "children":[], + "last_state_change":1655750011.2356079, + "state":4, + "task_spec":"End", + "triggered":false, + "workflow_name":"sid-C014B4B9-889F-4EE9-9949-C89502C35CF0", + "internal_data":{}, + "data":{} + }, + "dea6192c-686b-4382-a6cf-d5b3ca038a37":{ + "id":"dea6192c-686b-4382-a6cf-d5b3ca038a37", + "parent":"7ff9e4ff-adbe-4c60-9b76-e7645a6e1563", + "children":[ + "bdae1429-d0da-494f-be6e-2cd476d9c5c8" + ], + "last_state_change":1655750011.2166302, + "state":4, + "task_spec":"sid-EF0FA50B-FE9B-4C86-9981-4F6B62387D38", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "bdae1429-d0da-494f-be6e-2cd476d9c5c8":{ + "id":"bdae1429-d0da-494f-be6e-2cd476d9c5c8", + "parent":"dea6192c-686b-4382-a6cf-d5b3ca038a37", + "children":[ + "9dee00c2-f09a-4738-9e91-b84f7e127649" + ], + "last_state_change":1655750011.2169454, + "state":4, + "task_spec":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963.EndJoin", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + }, + "9dee00c2-f09a-4738-9e91-b84f7e127649":{ + "id":"9dee00c2-f09a-4738-9e91-b84f7e127649", + "parent":"bdae1429-d0da-494f-be6e-2cd476d9c5c8", + "children":[], + "last_state_change":1655750011.217286, + "state":4, + "task_spec":"End", + "triggered":false, + "workflow_name":"sid-a12cf1e5-86f4-4d69-9790-6a90342f5963", + "internal_data":{}, + "data":{} + } + }, + "root":"32fcbafc-495a-4ba2-8b29-d65a416c45b9", + "subprocess_specs":{ + "sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5":{ + "name":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5", + "description":"Nested level 2", + "file":"None:sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.bpmn", + "task_specs":{ + "Start":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_1", + "name":"Start", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[ + "sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65" + ], + "typename":"StartTask" + }, + "sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_2", + "name":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-2EDAD784-7F15-486C-B805-D26EE25F8087" + ], + "outputs":[ + "End" + ], + "typename":"_EndJoin" + }, + "End":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_3", + "name":"End", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin" + ], + "outputs":[], + "typename":"Simple" + }, + "sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_4", + "name":"sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":223.0, + "y":178.0 + }, + "lookahead":2, + "inputs":[ + "Start" + ], + "outputs":[ + "sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7":{ + "id":"sid-862F0510-9CB8-4C7C-87CC-A9EA7E2D8758", + "name":"In", + "documentation":null, + "target_task_spec":"sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-862F0510-9CB8-4C7C-87CC-A9EA7E2D8758":{ + "id":"sid-862F0510-9CB8-4C7C-87CC-A9EA7E2D8758", + "name":"In", + "documentation":null, + "target_task_spec":"sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"StartEvent", + "extensions":{} + }, + "sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_5", + "name":"sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7", + "description":"Action3", + "manual":false, + "internal":false, + "position":{ + "x":360.0, + "y":153.0 + }, + "lookahead":2, + "inputs":[ + "sid-D55DA431-BFBE-4EB9-9B86-918CD1792C65" + ], + "outputs":[ + "sid-2EDAD784-7F15-486C-B805-D26EE25F8087" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-2EDAD784-7F15-486C-B805-D26EE25F8087":{ + "id":"sid-80315FC5-BC67-4999-8CE2-3ACDC838E3E6", + "name":"Finish", + "documentation":null, + "target_task_spec":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-80315FC5-BC67-4999-8CE2-3ACDC838E3E6":{ + "id":"sid-80315FC5-BC67-4999-8CE2-3ACDC838E3E6", + "name":"Finish", + "documentation":null, + "target_task_spec":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087", + "typename":"SequenceFlow" + } + }, + "typename":"TestUserTask", + "extensions":{} + }, + "sid-2EDAD784-7F15-486C-B805-D26EE25F8087":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_6", + "name":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":578.0, + "y":170.0 + }, + "lookahead":2, + "inputs":[ + "sid-17C53A94-546D-4099-8A52-AAEE6AC3F6E7" + ], + "outputs":[ + "sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin":{ + "id":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-2EDAD784-7F15-486C-B805-D26EE25F8087.ToEndJoin":{ + "id":"sid-2EDAD784-7F15-486C-B805-D26EE25F8087.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5.EndJoin", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"EndEvent", + "extensions":{} + }, + "Root":{ + "id":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5_7", + "name":"Root", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[], + "typename":"Simple" + } + }, + "typename":"BpmnProcessSpec" + }, + "sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7":{ + "name":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7", + "description":"Nested level 1", + "file":"None:sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.bpmn", + "task_specs":{ + "Start":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_1", + "name":"Start", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[ + "sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A" + ], + "typename":"StartTask" + }, + "sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_2", + "name":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-64E2EF25-F986-4834-8C3B-C3533746113E" + ], + "outputs":[ + "End" + ], + "typename":"_EndJoin" + }, + "End":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_3", + "name":"End", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[ + "sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin" + ], + "outputs":[], + "typename":"Simple" + }, + "sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_4", + "name":"sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":261.0, + "y":119.0 + }, + "lookahead":2, + "inputs":[ + "Start" + ], + "outputs":[ + "sid-1B59DCD2-83A0-4687-B7BE-83625395572E" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-1B59DCD2-83A0-4687-B7BE-83625395572E":{ + "id":"sid-27BA998B-1FEE-4CBA-86D5-8C5968F1478D", + "name":"", + "documentation":null, + "target_task_spec":"sid-1B59DCD2-83A0-4687-B7BE-83625395572E", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-27BA998B-1FEE-4CBA-86D5-8C5968F1478D":{ + "id":"sid-27BA998B-1FEE-4CBA-86D5-8C5968F1478D", + "name":"", + "documentation":null, + "target_task_spec":"sid-1B59DCD2-83A0-4687-B7BE-83625395572E", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"StartEvent", + "extensions":{} + }, + "sid-1B59DCD2-83A0-4687-B7BE-83625395572E":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_5", + "name":"sid-1B59DCD2-83A0-4687-B7BE-83625395572E", + "description":"Action2", + "manual":false, + "internal":false, + "position":{ + "x":345.0, + "y":75.0 + }, + "lookahead":2, + "inputs":[ + "sid-23EF7D0F-BC6E-45ED-A47D-22CEBCE0BE5A" + ], + "outputs":[ + "sid-BC014079-199F-4720-95CD-244B0ACB6DE1" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-BC014079-199F-4720-95CD-244B0ACB6DE1":{ + "id":"sid-02F2C617-DFEE-44AE-AAED-145AF2E2D946", + "name":"ToLevel2", + "documentation":null, + "target_task_spec":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-02F2C617-DFEE-44AE-AAED-145AF2E2D946":{ + "id":"sid-02F2C617-DFEE-44AE-AAED-145AF2E2D946", + "name":"ToLevel2", + "documentation":null, + "target_task_spec":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "typename":"SequenceFlow" + } + }, + "typename":"TestUserTask", + "extensions":{} + }, + "sid-BC014079-199F-4720-95CD-244B0ACB6DE1":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_6", + "name":"sid-BC014079-199F-4720-95CD-244B0ACB6DE1", + "description":"Nested level 2", + "manual":false, + "internal":false, + "position":{ + "x":525.0, + "y":90.0 + }, + "lookahead":2, + "inputs":[ + "sid-1B59DCD2-83A0-4687-B7BE-83625395572E" + ], + "outputs":[ + "sid-64E2EF25-F986-4834-8C3B-C3533746113E" + ], + "lane":null, + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-64E2EF25-F986-4834-8C3B-C3533746113E":{ + "id":"sid-B8192BBF-7DB4-4AA1-8990-5017C30130A8", + "name":"Finish", + "documentation":null, + "target_task_spec":"sid-64E2EF25-F986-4834-8C3B-C3533746113E", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-B8192BBF-7DB4-4AA1-8990-5017C30130A8":{ + "id":"sid-B8192BBF-7DB4-4AA1-8990-5017C30130A8", + "name":"Finish", + "documentation":null, + "target_task_spec":"sid-64E2EF25-F986-4834-8C3B-C3533746113E", + "typename":"SequenceFlow" + } + }, + "spec":"sid-65436787-c39d-47c9-b99e-b4d7bd01b8f5", + "sub_workflow":null, + "typename":"CallActivity", + "extensions":{} + }, + "sid-64E2EF25-F986-4834-8C3B-C3533746113E":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_7", + "name":"sid-64E2EF25-F986-4834-8C3B-C3533746113E", + "description":"Done", + "manual":false, + "internal":false, + "position":{ + "x":690.0, + "y":115.0 + }, + "lookahead":2, + "inputs":[ + "sid-BC014079-199F-4720-95CD-244B0ACB6DE1" + ], + "outputs":[ + "sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin" + ], + "lane":"Tester", + "documentation":null, + "loopTask":false, + "outgoing_sequence_flows":{ + "sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin":{ + "id":"sid-64E2EF25-F986-4834-8C3B-C3533746113E.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin", + "typename":"SequenceFlow" + } + }, + "outgoing_sequence_flows_by_id":{ + "sid-64E2EF25-F986-4834-8C3B-C3533746113E.ToEndJoin":{ + "id":"sid-64E2EF25-F986-4834-8C3B-C3533746113E.ToEndJoin", + "name":null, + "documentation":null, + "target_task_spec":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7.EndJoin", + "typename":"SequenceFlow" + } + }, + "event_definition":{ + "internal":false, + "external":false, + "typename":"NoneEventDefinition" + }, + "typename":"EndEvent", + "extensions":{} + }, + "Root":{ + "id":"sid-c7ccc144-a90c-4a5b-973d-a9d67bc9aae7_8", + "name":"Root", + "description":"", + "manual":false, + "internal":false, + "position":{ + "x":0, + "y":0 + }, + "lookahead":2, + "inputs":[], + "outputs":[], + "typename":"Simple" + } + }, + "typename":"BpmnProcessSpec" + } + }, + "subprocesses":{ + "cc33a303-918a-4ad3-91c4-ef8b4e4fd127":[ + "ddda3f03-9fde-4b15-bba1-d053ce9adc88", + "88737152-d6ff-465b-92f1-50f19c45f64e", + "2bc86015-d947-4572-a2fd-8649d18bd55a", + "27ed00f2-962d-4208-8c37-34fa9146bebd", + "ed38c843-c6e7-408f-8433-117a31e52981", + "27c8287e-bce1-4b9e-afee-b637010bd837" + ], + "7ff9e4ff-adbe-4c60-9b76-e7645a6e1563":[ + "eaba8031-e898-4c7f-97a7-62ec00282748", + "26ddc593-6c9a-46c5-abe6-37c4b3522350", + "95912ad3-9951-4d4f-8591-f6e849f383bc", + "cc33a303-918a-4ad3-91c4-ef8b4e4fd127", + "ddda3f03-9fde-4b15-bba1-d053ce9adc88", + "88737152-d6ff-465b-92f1-50f19c45f64e", + "2bc86015-d947-4572-a2fd-8649d18bd55a", + "27ed00f2-962d-4208-8c37-34fa9146bebd", + "ed38c843-c6e7-408f-8433-117a31e52981", + "27c8287e-bce1-4b9e-afee-b637010bd837", + "54ac1086-be95-4f62-acd5-e4d52cfe758a", + "05ef5ac5-6579-4ac2-9b8f-09f2b5d98aca", + "4fa137ad-658d-4f21-8bd8-c591905dc059" + ] + } +} diff --git a/tests/SpiffWorkflow/bpmn/data/service_task.bpmn b/tests/SpiffWorkflow/bpmn/data/service_task.bpmn new file mode 100644 index 000000000..fa24627f1 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/service_task.bpmn @@ -0,0 +1,39 @@ + + + + + Flow_0l9vzsi + + + + Flow_0l9vzsi + Flow_16rdnn7 + + + Flow_16rdnn7 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_in_loop.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_in_loop.bpmn new file mode 100644 index 000000000..ec8720e0a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_in_loop.bpmn @@ -0,0 +1,88 @@ + + + + + Flow_0nlj5lh + + + Flow_0nlj5lh + Flow_16vai1a + Flow_1lkecht + + + + Flow_1lkecht + Flow_1vci114 + + + + Flow_0iui938 + Flow_0ew7zdi + Flow_16vai1a + + + Flow_0ew7zdi + + + done + + + + Flow_1vci114 + Flow_0iui938 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_in_loop_call_activity.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_in_loop_call_activity.bpmn new file mode 100644 index 000000000..2af69b3be --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_in_loop_call_activity.bpmn @@ -0,0 +1,38 @@ + + + + + Flow_1dbtwxp + + + + Flow_1t99mly + + + + Flow_1dbtwxp + Flow_1t99mly + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_within_sub_multi.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_within_sub_multi.bpmn new file mode 100644 index 000000000..95e29da0d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_within_sub_multi.bpmn @@ -0,0 +1,129 @@ + + + + + Flow_0dsbqk4 + + + + Flow_18e9qgr + + + Flow_1ona7kk + Flow_18e9qgr + + + Flow_05tjul5 + + + Flow_1pc1vib + + + Flow_1pc1vib + Flow_05tjul5 + + Flow_0hikak1 + + + Flow_0hikak1 + Flow_0oby5rd + my_var['new_info'] = "Adding this!" +my_var['name'] = my_var['name'] + "_edit" + + + + + Flow_0oby5rd + + + + + + + + + + Flow_0dsbqk4 + Flow_1ona7kk + my_collection = { + 'a':{'name':'Apple'}, + 'b':{'name':'Bubble'}, + 'c':{'name':'Crap, I should write better code'} +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi.bpmn new file mode 100644 index 000000000..1fb69933c --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi.bpmn @@ -0,0 +1,93 @@ + + + + + Flow_0dsbqk4 + + + + Flow_18e9qgr + + + Flow_1ona7kk + Flow_18e9qgr + + + Flow_14l2ton + Flow_06gypww + my_var['new_info'] = "Adding this!" +my_var['name'] = my_var['name'] + "_edit" + + + Flow_06gypww + + + Flow_14l2ton + + + + + + + + Flow_0dsbqk4 + Flow_1ona7kk + my_collection = { + 'a':{'name':'Apple'}, + 'b':{'name':'Bubble'}, + 'c':{'name':'Crap, I should write better code'} +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi1.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi1.bpmn new file mode 100644 index 000000000..478e18ffa --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi1.bpmn @@ -0,0 +1,59 @@ + + + + + Flow_0dsbqk4 + + + + Flow_1lbqsop + + + Flow_0n1o8w6 + Flow_1lbqsop + + 5 + done==True + + x = {'a':a} +if a==3: + done=True +a=x + + + + + Flow_0dsbqk4 + Flow_0n1o8w6 + done=False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi_parallel.bpmn b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi_parallel.bpmn new file mode 100644 index 000000000..b89d98f66 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/sub_workflow_multi_parallel.bpmn @@ -0,0 +1,93 @@ + + + + + Flow_0dsbqk4 + + + + Flow_18e9qgr + + + Flow_1ona7kk + Flow_18e9qgr + + + Flow_14l2ton + Flow_06gypww + my_var['new_info'] = "Adding this!" +my_var['name'] = my_var['name'] + "_edit" + + + Flow_06gypww + + + Flow_14l2ton + + + + + + + + Flow_0dsbqk4 + Flow_1ona7kk + my_collection = { + 'a':{'name':'Apple'}, + 'b':{'name':'Bubble'}, + 'c':{'name':'Crap, I should write better code'} +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer-cycle-start.bpmn b/tests/SpiffWorkflow/bpmn/data/timer-cycle-start.bpmn new file mode 100644 index 000000000..9d75c9c9e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer-cycle-start.bpmn @@ -0,0 +1,99 @@ + + + + + + + + + StartEvent + wait_timer + EndItAll + + + CycleStart + Refill_Coffee + CycleEnd + + + + Flow_1pahvlr + + + Flow_0jtfzsk + + (2,timedelta(seconds=0.1)) + + + + Flow_0jtfzsk + Flow_07sglzn + print('refill count = %d'%custom_function()) + + + Flow_07sglzn + + + Flow_1pahvlr + Flow_05ejbm4 + + timedelta(seconds=0.5) + + + + Flow_05ejbm4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer-cycle.bpmn b/tests/SpiffWorkflow/bpmn/data/timer-cycle.bpmn new file mode 100644 index 000000000..9252d2f54 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer-cycle.bpmn @@ -0,0 +1,84 @@ + + + + + Flow_1pahvlr + + + Flow_09d7dp2 + Flow_1pvkgnu + + + Flow_1pvkgnu + Flow_1ekgt3x + + + Flow_1ekgt3x + + + + + + + Flow_1pzc4jz + print('refill count = %d'%custom_function()) + + + + Flow_1pahvlr + Flow_09d7dp2 + refill_count = 0 + + + Flow_1pzc4jz + + (2,timedelta(seconds=0.01)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer-date-start.bpmn b/tests/SpiffWorkflow/bpmn/data/timer-date-start.bpmn new file mode 100644 index 000000000..7bead0fa2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer-date-start.bpmn @@ -0,0 +1,72 @@ + + + + + Flow_1i73q45 + + + Flow_1i73q45 + Flow_00e79cz + futuredate = dateparser.parse('in 1 second') - timedelta(seconds=.95) +futuredate2 = dateparser.parse('September 1 2021 at 10am EDT') + + + + + Flow_00e79cz + Flow_1bdrcxy + + futuredate + + + + + Flow_1bdrcxy + Flow_0bjksyv + print('yay!') +completed = True + + + Flow_0bjksyv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer-non-interrupt-boundary.bpmn b/tests/SpiffWorkflow/bpmn/data/timer-non-interrupt-boundary.bpmn new file mode 100644 index 000000000..25d750e27 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer-non-interrupt-boundary.bpmn @@ -0,0 +1,169 @@ + + + + + Flow_1hyztad + + + Flow_1hyztad + Flow_07l1pau + + Flow_1ls93l9 + + + + Flow_1ku6me6 + Flow_06jd2h7 + Flow_10bimyk + + + + + Flow_10bimyk + + + work_done == 'Yes' + + + + + + + + Flow_1ls93l9 + Flow_06jd2h7 + Flow_1ku6me6 + + + + Flow_03e1mfr + + timedelta(seconds=.2) + + + + + + + + + Flow_03e1mfr + Flow_0tlkkap + + + + + + + Flow_07l1pau + Flow_0tlkkap + Flow_0vper9q + + + + Flow_0or6odg + + + + + + + + + Flow_0vper9q + Flow_0or6odg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer.bpmn b/tests/SpiffWorkflow/bpmn/data/timer.bpmn new file mode 100644 index 000000000..fa26d75fb --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer.bpmn @@ -0,0 +1,68 @@ + + + + + Flow_1pahvlr + + + Flow_1pahvlr + Flow_1pvkgnu + + + Flow_1pvkgnu + Flow_1elbn9u + + timedelta(seconds=.25) + + + + Flow_1elbn9u + Flow_1ekgt3x + + + Flow_1ekgt3x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/timer_event_changes_last_task.bpmn b/tests/SpiffWorkflow/bpmn/data/timer_event_changes_last_task.bpmn new file mode 100644 index 000000000..8b6acb97d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/timer_event_changes_last_task.bpmn @@ -0,0 +1,77 @@ + + + + + Flow_164sojd + + + Flow_1m2vq4v + Flow_04tuv5z + + + + Flow_0ac4lx5 + + timedelta(milliseconds=2) + + + + + Flow_0ac4lx5 + timer_called = True + + + Some docs + Flow_04tuv5z + + + + + Flow_164sojd + Flow_1m2vq4v + timer_called = False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/too_many_loops.bpmn b/tests/SpiffWorkflow/bpmn/data/too_many_loops.bpmn new file mode 100644 index 000000000..8353d16d7 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/too_many_loops.bpmn @@ -0,0 +1,125 @@ + + + + + Flow_1gb8wca + Flow_1d2usdq + counter = counter + 1 + + + + ### Results +Submission for Pre-Review was sent to the HSR-IRB on {{ sent_local_date_str }} at {{ sent_local_time_str }}. + +The HSR-IRB started the Pre-Review process on {{ end_local_date_str }} at {{ end_local_time_str }} and assigned {{ irb_info.IRB_ADMINISTRATIVE_REVIEWER }} as the reviewer. + +### Metrics + + +Days elapsed: {{days_delta }} + Flow_1tj9oz1 + + + + Flow_15jw6a4 + Flow_0op1a19 + Flow_1gb8wca + + timedelta(milliseconds=10) + + + + Flow_0mxlkif + Flow_1tj9oz1 + Flow_0op1a19 + + + counter >= 20 + + + counter < 20 + + + + Flow_0q7fkb7 + Flow_15jw6a4 + counter = 0 + + + + Flow_1d2usdq + Flow_0mxlkif + + + Flow_0q7fkb7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/too_many_loops_call_activity.bpmn b/tests/SpiffWorkflow/bpmn/data/too_many_loops_call_activity.bpmn new file mode 100644 index 000000000..ee7f0479d --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/too_many_loops_call_activity.bpmn @@ -0,0 +1,48 @@ + + + + + Flow_175n91v + + + Flow_175n91v + Flow_1d2usdq + counter2 = 1000 + + + + ### Results +Submission for Pre-Review was sent to the HSR-IRB on {{ sent_local_date_str }} at {{ sent_local_time_str }}. + +The HSR-IRB started the Pre-Review process on {{ end_local_date_str }} at {{ end_local_time_str }} and assigned {{ irb_info.IRB_ADMINISTRATIVE_REVIEWER }} as the reviewer. + +### Metrics + + +Days elapsed: {{days_delta }} + Flow_1d2usdq + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/too_many_loops_sub_process.bpmn b/tests/SpiffWorkflow/bpmn/data/too_many_loops_sub_process.bpmn new file mode 100644 index 000000000..2f6a8b53a --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/too_many_loops_sub_process.bpmn @@ -0,0 +1,157 @@ + + + + + Flow_0q7fkb7 + + + + Flow_1gb8wca + Flow_1d2usdq + counter = counter + 1 + + + + ### Results +Submission for Pre-Review was sent to the HSR-IRB on {{ sent_local_date_str }} at {{ sent_local_time_str }}. + +The HSR-IRB started the Pre-Review process on {{ end_local_date_str }} at {{ end_local_time_str }} and assigned {{ irb_info.IRB_ADMINISTRATIVE_REVIEWER }} as the reviewer. + +### Metrics + + +Days elapsed: {{days_delta }} + Flow_1tj9oz1 + + + + Flow_15jw6a4 + Flow_1ivr6d7 + Flow_1gb8wca + + timedelta(milliseconds=10) + + + + Flow_1d2usdq + Flow_1tj9oz1 + Flow_0op1a19 + + + counter >= 20 + + + counter < 20 + + + + Flow_0q7fkb7 + Flow_15jw6a4 + counter = 0 +counter2 = 0 +counter3 = 0 + + + + Flow_0op1a19 + Flow_1ivr6d7 + + Flow_1fcanuu + + + + Flow_1fcanuu + Flow_04le6u5 + counter2 += 1 + + + Flow_04le6u5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/transaction.bpmn b/tests/SpiffWorkflow/bpmn/data/transaction.bpmn new file mode 100644 index 000000000..2feecea46 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/transaction.bpmn @@ -0,0 +1,282 @@ + + + + + Flow_0ppdvks + + + Flow_0ppdvks + Flow_0bnlh0h + + Flow_039gvks + + + + + + + + Flow_039gvks + Flow_0cfipfp + + + + + + + + Data_Default + Flow_0oab4hv + + + Quantity_Default + + + + + + Flow_0oab4hv + Quantity_Default + Quantity_LT_Zero + Flow_1k10r1p + + + + quantity < 0 + + + Quantity_LT_Zero + + + + quantity == 0 + + + Flow_1k10r1p + + + + Flow_1j0zczv + + + + Flow_0cfipfp + Flow_1j0zczv + Data_Default + + + + value == "" + + + + + + Flow_1yafeny + + + + Flow_0bnlh0h + Flow_1yafeny + print(f"Value: {value} / Quantity {quantity}") + + + + Flow_0qzlrzx + reason = "Error 1" + + + Flow_0qzlrzx + + + + Flow_189pa5w + + + + + Flow_189pa5w + reason = "Error None" + + + Flow_12218kd + + + + + Flow_12218kd + reason = "Cancel" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/data/two_top_level_procs.bpmn b/tests/SpiffWorkflow/bpmn/data/two_top_level_procs.bpmn new file mode 100644 index 000000000..363ccc120 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/data/two_top_level_procs.bpmn @@ -0,0 +1,79 @@ + + + + + + + + + Flow_1fumg40 + + + + Flow_1sfcxwo + + + + Flow_1fumg40 + Flow_1sfcxwo + + + + + Flow_0ptjvq1 + + + + Flow_12xe6lg + + + + Flow_0ptjvq1 + Flow_12xe6lg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/bpmn/events/ActionManagementTest.py b/tests/SpiffWorkflow/bpmn/events/ActionManagementTest.py new file mode 100644 index 000000000..699e50c25 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/ActionManagementTest.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class ActionManagementTest(BpmnWorkflowTestCase): + START_TIME_DELTA=0.01 + FINISH_TIME_DELTA=0.02 + + def now_plus_seconds(self, seconds): + return datetime.datetime.now() + datetime.timedelta(seconds=seconds) + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/Action-Management.bpmn20.xml', 'Action Management') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + start_time = self.now_plus_seconds(self.START_TIME_DELTA) + finish_time = self.now_plus_seconds(self.FINISH_TIME_DELTA) + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.workflow.get_tasks(TaskState.READY)[0].set_data( + start_time=start_time, finish_time=finish_time) + + def testRunThroughHappy(self): + self.do_next_exclusive_step("Review Action", choice='Approve') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual('NEW ACTION', self.workflow.get_tasks( + TaskState.READY)[0].get_data('script_output')) + self.assertEqual('Cancel Action (if necessary)', + self.workflow.get_tasks(TaskState.READY)[0].task_spec.description) + + time.sleep(self.START_TIME_DELTA) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step("Start Work") + self.workflow.do_engine_steps() + + self.do_next_named_step("Complete Work", choice="Done") + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + + def testRunThroughOverdue(self): + self.do_next_exclusive_step("Review Action", choice='Approve') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual('Cancel Action (if necessary)', + self.workflow.get_tasks(TaskState.READY)[0].task_spec.description) + + time.sleep(self.START_TIME_DELTA) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step("Start Work") + self.workflow.do_engine_steps() + + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual('Finish Time', self.workflow.get_tasks( + TaskState.WAITING)[1].task_spec.description) + time.sleep(self.FINISH_TIME_DELTA) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertNotEqual( + 'Finish Time', self.workflow.get_tasks(TaskState.WAITING)[0].task_spec.description) + + overdue_escalation_task = [ + t for t in self.workflow.get_tasks() if t.task_spec.description == 'Overdue Escalation'] + self.assertEqual(1, len(overdue_escalation_task)) + overdue_escalation_task = overdue_escalation_task[0] + self.assertEqual(TaskState.COMPLETED, overdue_escalation_task.state) + self.assertEqual( + 'ACTION OVERDUE', overdue_escalation_task.get_data('script_output')) + + self.do_next_named_step("Complete Work", choice="Done") + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + + def testRunThroughCancel(self): + + self.do_next_exclusive_step("Review Action", choice='Cancel') + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + + def testRunThroughCancelAfterApproved(self): + self.do_next_exclusive_step("Review Action", choice='Approve') + self.workflow.do_engine_steps() + + self.do_next_named_step("Cancel Action (if necessary)") + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + self.assertEqual( + 'ACTION CANCELLED', self.workflow.get_data('script_output')) + + def testRunThroughCancelAfterWorkStarted(self): + self.do_next_exclusive_step("Review Action", choice='Approve') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + time.sleep(self.START_TIME_DELTA) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step("Start Work") + self.workflow.do_engine_steps() + + self.do_next_named_step("Cancel Action (if necessary)") + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + self.assertEqual( + 'ACTION CANCELLED', self.workflow.get_data('script_output')) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ActionManagementTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/CallActivityEscalationTest.py b/tests/SpiffWorkflow/bpmn/events/CallActivityEscalationTest.py new file mode 100644 index 000000000..1e19e43b2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/CallActivityEscalationTest.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kbogus@gmail.com' + + +def on_reached_cb(workflow, task, completed_set): + # In workflows that load a subworkflow, the newly loaded children + # will not have on_reached_cb() assigned. By using this function, we + # re-assign the function in every step, thus making sure that new + # children also call on_reached_cb(). + for child in task.children: + track_task(child.task_spec, completed_set) + return True + + +def on_complete_cb(workflow, task, completed_set): + completed_set.add(task.task_spec.name) + return True + + +def track_task(task_spec, completed_set): + if task_spec.reached_event.is_connected(on_reached_cb): + task_spec.reached_event.disconnect(on_reached_cb) + task_spec.reached_event.connect(on_reached_cb, completed_set) + if task_spec.completed_event.is_connected(on_complete_cb): + task_spec.completed_event.disconnect(on_complete_cb) + task_spec.completed_event.connect(on_complete_cb, completed_set) + + +def track_workflow(wf_spec, completed_set): + for name in wf_spec.task_specs: + track_task(wf_spec.task_specs[name], completed_set) + + +class CallActivityEscalationTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'CallActivity-Escalation-Test') + self.workflow = BpmnWorkflow(self.spec, subprocesses) + + def testShouldEscalate(self): + completed_set = set() + track_workflow(self.spec, completed_set) + for task in self.workflow.get_tasks(TaskState.READY): + task.set_data(should_escalate=True) + self.workflow.do_engine_steps() + self.save_restore() + self.workflow.complete_all() + self.assertEqual(True, self.workflow.is_completed()) + + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_escalated' in completed_set) + + self.assertEqual(True, 'EndEvent_specific1_interrupting_normal' not in completed_set) + self.assertEqual(True, 'EndEvent_specific1_interrupting_escalated' in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_escalated' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_missingvariable' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_interrupting_normal' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_escalated' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_missingvariable' not in completed_set) + + self.assertEqual(True, 'EndEvent_general_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_general_noninterrupting_escalated' in completed_set) + + self.assertEqual(True, 'EndEvent_general_interrupting_normal' not in completed_set) + self.assertEqual(True, 'EndEvent_general_interrupting_escalated' in completed_set) + + def testShouldNotEscalate(self): + completed_set = set() + track_workflow(self.spec, completed_set) + for task in self.workflow.get_tasks(TaskState.READY): + task.set_data(should_escalate=False) + self.workflow.do_engine_steps() + self.save_restore() + self.workflow.complete_all() + self.assertEqual(True, self.workflow.is_completed()) + + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_escalated' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific1_interrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific1_interrupting_escalated' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_escalated' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_missingvariable' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_interrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_escalated' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_missingvariable' not in completed_set) + + self.assertEqual(True, 'EndEvent_general_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_general_noninterrupting_escalated' not in completed_set) + + self.assertEqual(True, 'EndEvent_general_interrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_general_interrupting_escalated' not in completed_set) + + def testMissingVariable(self): + completed_set = set() + track_workflow(self.spec, completed_set) + self.workflow.do_engine_steps() + self.save_restore() + self.workflow.complete_all() + self.assertEqual(True, self.workflow.is_completed()) + + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific1_noninterrupting_escalated' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific1_interrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific1_interrupting_escalated' not in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_escalated' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_noninterrupting_missingvariable' in completed_set) + + self.assertEqual(True, 'EndEvent_specific2_interrupting_normal' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_escalated' not in completed_set) + self.assertEqual(True, 'EndEvent_specific2_interrupting_missingvariable' in completed_set) + + self.assertEqual(True, 'EndEvent_general_noninterrupting_normal' in completed_set) + self.assertEqual(True, 'EndEvent_general_noninterrupting_escalated' in completed_set) + + self.assertEqual(True, 'EndEvent_general_interrupting_normal' not in completed_set) + self.assertEqual(True, 'EndEvent_general_interrupting_escalated' in completed_set) + + +class CallActivityEscalationWithoutSaveRestoreTest(CallActivityEscalationTest): + def save_restore(self): + pass # disabling save_restore for this test case + + +def suite(): + loader = unittest.TestLoader() + return unittest.TestSuite([ + loader.loadTestsFromTestCase(cls) + for cls in [ + CallActivityEscalationTest, + CallActivityEscalationWithoutSaveRestoreTest, + ] + ]) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/CancelBoundaryEventTest.py b/tests/SpiffWorkflow/bpmn/events/CancelBoundaryEventTest.py new file mode 100644 index 000000000..81788ea3e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/CancelBoundaryEventTest.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- + + + +import unittest +from SpiffWorkflow.bpmn.parser.ValidationException import ValidationException +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'michaelc' + + +class CancelBoundaryTest(BpmnWorkflowTestCase): + + def testInvalidCancelEvent(self): + self.assertRaises(ValidationException, self.load_workflow_spec, 'invalid_cancel.bpmn', 'Process_1dagb7t') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CancelBoundaryTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MessageInterruptsSpTest.py b/tests/SpiffWorkflow/bpmn/events/MessageInterruptsSpTest.py new file mode 100644 index 000000000..f66c3ee31 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MessageInterruptsSpTest.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MessageInterruptsSpTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'Message Interrupts SP') + + def testRunThroughHappySaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something In a Subprocess') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_exclusive_step('Ack Subprocess Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughInterruptSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_exclusive_step('Acknowledge SP Interrupt Message') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessageInterruptsSpTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MessageInterruptsTest.py b/tests/SpiffWorkflow/bpmn/events/MessageInterruptsTest.py new file mode 100644 index 000000000..55cfa8bf6 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MessageInterruptsTest.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MessageInterruptsTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'Test Workflows') + + def testRunThroughHappySaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + self.do_next_exclusive_step('Select Test', choice='Message Interrupts') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something That Takes A Long Time') + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterruptSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + self.do_next_exclusive_step('Select Test', choice='Message Interrupts') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_exclusive_step('Acknowledge Interrupt Message') + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step('Select Test', choice='Message Interrupts') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something That Takes A Long Time') + + self.workflow.do_engine_steps() + self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterrupt(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step('Select Test', choice='Message Interrupts') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_exclusive_step('Acknowledge Interrupt Message') + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessageInterruptsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptTest.py b/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptTest.py new file mode 100644 index 000000000..f7b278bb1 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptTest.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MessageNonInterruptTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'Test Workflows') + + def testRunThroughHappySaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something That Takes A Long Time') + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterruptSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Acknowledge Non-Interrupt Message') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Do Something That Takes A Long Time') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something That Takes A Long Time') + + self.workflow.do_engine_steps() + self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterrupt(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Acknowledge Non-Interrupt Message') + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_named_step('Do Something That Takes A Long Time') + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterruptOtherOrder(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Do Something That Takes A Long Time') + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Acknowledge Non-Interrupt Message') + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageInterruptOtherOrderSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + self.do_next_exclusive_step( + 'Select Test', choice='Message Non Interrupt') + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Do Something That Takes A Long Time') + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.do_next_named_step('Acknowledge Non-Interrupt Message') + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessageNonInterruptTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptsSpTest.py b/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptsSpTest.py new file mode 100644 index 000000000..d4192a23e --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MessageNonInterruptsSpTest.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MessageNonInterruptsSpTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'Message Non Interrupt SP') + + def testRunThroughHappySaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.do_next_exclusive_step('Do Something In a Subprocess') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_exclusive_step('Ack Subprocess Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + + self.do_next_named_step('Do Something In a Subprocess') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Ack Subprocess Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Acknowledge SP Parallel Message') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageOrder2SaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + self.do_next_named_step('Do Something In a Subprocess') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Acknowledge SP Parallel Message') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Ack Subprocess Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughMessageOrder3SaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.save_restore() + + self.workflow.do_engine_steps() + self.save_restore() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + + self.workflow.catch(MessageEventDefinition('Test Message')) + + self.do_next_named_step('Acknowledge SP Parallel Message') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Do Something In a Subprocess') + self.workflow.do_engine_steps() + self.save_restore() + + self.do_next_named_step('Ack Subprocess Done') + self.workflow.do_engine_steps() + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessageNonInterruptsSpTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MessagesTest.py b/tests/SpiffWorkflow/bpmn/events/MessagesTest.py new file mode 100644 index 000000000..486e53d24 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MessagesTest.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class MessagesTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('Test-Workflows/*.bpmn20.xml', 'Test Workflows') + + def testRunThroughHappy(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step('Select Test', choice='Messages') + self.workflow.do_engine_steps() + self.assertEqual([], self.workflow.get_tasks(TaskState.READY)) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.workflow.catch(MessageEventDefinition('Wrong Message')) + self.assertEqual([], self.workflow.get_tasks(TaskState.READY)) + self.workflow.catch(MessageEventDefinition('Test Message')) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.assertEqual( + 'Test Message', self.workflow.get_tasks(TaskState.READY)[0].task_spec.description) + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + def testRunThroughSaveAndRestore(self): + + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.do_next_exclusive_step('Select Test', choice='Messages') + self.workflow.do_engine_steps() + + self.save_restore() + + self.assertEqual([], self.workflow.get_tasks(TaskState.READY)) + self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING))) + self.workflow.catch(MessageEventDefinition('Wrong Message')) + self.assertEqual([], self.workflow.get_tasks(TaskState.READY)) + self.workflow.catch(MessageEventDefinition('Test Message')) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.save_restore() + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessagesTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/MultipleEventsTest.py b/tests/SpiffWorkflow/bpmn/events/MultipleEventsTest.py new file mode 100644 index 000000000..b1e2a24d5 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/MultipleEventsTest.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +import unittest + +from SpiffWorkflow.bpmn.specs.events import CancelEventDefinition, SignalEventDefinition +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class MultipleEventsTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('multipleEvents.bpmn', 'SignalAndCancel') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual("hello", ready_tasks[0].get_name()) + + def test_cancel_does_nothing_if_no_one_is_listening(self,save_restore = False): + + # Send cancel notifications to the workflow + self.workflow.catch(SignalEventDefinition('cancel')) # generate a cancel signal. + self.workflow.catch(CancelEventDefinition()) + + # Nothing should have happened. + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual("hello", ready_tasks[0].get_name()) + + def test_cancel_works_with_signal(self,save_restore = False): + + task = self.workflow.get_tasks(TaskState.READY)[0] + + # Move to User Task 1 + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_tasks(TaskState.READY)[0] + self.assertEqual('UserTaskOne', task.get_name()) + + # Send cancel notifications to the workflow + self.workflow.catch(SignalEventDefinition('cancel')) # generate a cancel signal. + self.workflow.catch(CancelEventDefinition()) + self.workflow.do_engine_steps() + + # The cancel event should have been called. + self.assertEqual("cancel_signal", self.workflow.last_task.data['cancel']) + + + def test_cancel_works_with_cancel_Event(self,save_restore = False): + + task = self.workflow.get_tasks(TaskState.READY)[0] + + # Move to User Task 2 + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_tasks(TaskState.READY)[0] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + task = self.workflow.get_tasks(TaskState.READY)[0] + self.assertEqual('UserTaskTwo', task.get_name()) + + # Send cancel notifications to the workflow + self.workflow.catch(SignalEventDefinition('cancel')) # generate a cancel signal. + self.workflow.catch(CancelEventDefinition()) + self.workflow.do_engine_steps() + + # The cancel event shave h + self.assertEqual("cancel_event", self.workflow.last_task.data['cancel']) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultipleEventsTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerCycleStartTest.py b/tests/SpiffWorkflow/bpmn/events/TimerCycleStartTest.py new file mode 100644 index 000000000..e4e8741c3 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerCycleStartTest.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +import unittest +import time + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + +counter = 0 +def my_custom_function(): + global counter + counter = counter+1 + return counter + +class CustomScriptEngine(PythonScriptEngine): + """This is a custom script processor that can be easily injected into Spiff Workflow. + It will execute python code read in from the bpmn. It will also make any scripts in the + scripts directory available for execution. """ + def __init__(self): + augment_methods = {'custom_function': my_custom_function} + super().__init__(scripting_additions=augment_methods) + + +class TimerCycleStartTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('timer-cycle-start.bpmn', 'timer') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses, script_engine=CustomScriptEngine()) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + global counter + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) # Start Event + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + # the data doesn't really propagate to the end as in a 'normal' workflow, so I call a + # custom function that records the number of times this got called so that + # we can keep track of how many times the triggered item gets called. + counter = 0 + + # We have a loop so we can continue to execute waiting tasks when + # timers expire. The test workflow has a wait timer that pauses long enough to + # allow the cycle to complete twice -- otherwise the first iteration through the + # cycle process causes the remaining tasks to be cancelled. + for loopcount in range(5): + if save_restore: + self.save_restore() + self.workflow.script_engine = CustomScriptEngine() + time.sleep(0.1) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(counter, 2) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerCycleStartTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerCycleTest.py b/tests/SpiffWorkflow/bpmn/events/TimerCycleTest.py new file mode 100644 index 000000000..8b9ad0f56 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerCycleTest.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- + +import unittest +import time + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + +counter = 0 +def my_custom_function(): + global counter + counter = counter+1 + return counter + +class CustomScriptEngine(PythonScriptEngine): + """This is a custom script processor that can be easily injected into Spiff Workflow. + It will execute python code read in from the bpmn. It will also make any scripts in the + scripts directory available for execution. """ + def __init__(self): + augment_methods = {'custom_function': my_custom_function} + super().__init__(scripting_additions=augment_methods) + + + +class TimerDurationTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('timer-cycle.bpmn', 'timer') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses, script_engine=CustomScriptEngine()) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + global counter + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) # Start Event + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) # GetCoffee + + # See comments in timer cycle test for more context + counter = 0 + for loopcount in range(5): + if save_restore: + self.save_restore() + self.workflow.script_engine = CustomScriptEngine() + time.sleep(0.01) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + + pass + #self.assertEqual(counter, 2) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerDurationTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerDateTest.py b/tests/SpiffWorkflow/bpmn/events/TimerDateTest.py new file mode 100644 index 000000000..a82698b72 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerDateTest.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time +import pytz + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class TimerDateTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('timer-date-start.bpmn', 'date_timer') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + global counter + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) # Start Event + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + loopcount = 0 + # test bpmn has a timeout of .05s + # we should terminate loop before that. + starttime = datetime.datetime.now() + counter = 0 + while loopcount < 8: + if len(self.workflow.get_tasks(TaskState.READY)) >= 1: + break + if save_restore: + self.save_restore() + + + waiting_tasks = self.workflow.get_tasks(TaskState.WAITING) + time.sleep(0.01) + self.workflow.refresh_waiting_tasks() + loopcount = loopcount +1 + endtime = datetime.datetime.now() + self.workflow.do_engine_steps() + tz = pytz.timezone('US/Eastern') + testdate = tz.localize(datetime.datetime.strptime('2021-09-01 10:00','%Y-%m-%d %H:%M')) + self.assertEqual(self.workflow.last_task.data['futuredate2'],testdate) + self.assertTrue('completed' in self.workflow.last_task.data) + self.assertTrue(self.workflow.last_task.data['completed']) + self.assertTrue((endtime-starttime) > datetime.timedelta(seconds=.02)) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerDateTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryOnTaskTest.py b/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryOnTaskTest.py new file mode 100644 index 000000000..ec743b54b --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryOnTaskTest.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time + +from SpiffWorkflow.bpmn.specs.events import EndEvent +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +__author__ = 'kellym' + + +class TimerDurationTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('boundary_timer_on_task.bpmn', 'test_timer') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + # In the normal flow of things, the final end event should be the last task + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) + end_events = [] + + for task in self.workflow.get_tasks(): + if isinstance(task.task_spec, EndEvent): + end_events.append(task) + self.assertEqual(1, len(end_events)) + + # In the event of a timer firing, the last task should STILL + # be the final end event. + + starttime = datetime.datetime.now() + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + time.sleep(0.1) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + task = self.workflow.get_ready_user_tasks()[0] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + + self.assertTrue(self.workflow.is_completed()) + end_events = [] + + for task in self.workflow.get_tasks(): + if isinstance(task.task_spec, EndEvent): + end_events.append(task) + self.assertEqual(1, len(end_events)) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerDurationTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryTest.py b/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryTest.py new file mode 100644 index 000000000..2297aa271 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerDurationBoundaryTest.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- + +import unittest +import time + +from SpiffWorkflow.bpmn.FeelLikeScriptEngine import FeelLikeScriptEngine +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase +__author__ = 'kellym' + + +class TimerDurationTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('boundary.bpmn', 'boundary_event') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + self.workflow.script_engine = FeelLikeScriptEngine() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + ready_tasks[0].data['answer']='No' + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + loopcount = 0 + # test bpmn has a timeout of .03s + # we should terminate loop before that. + + while loopcount < 11: + ready_tasks = self.workflow.get_tasks(TaskState.READY) + if len(ready_tasks) < 1: + break + if save_restore: + self.save_restore() + self.workflow.script_engine = FeelLikeScriptEngine() + #self.assertEqual(1, len(self.workflow.get_tasks(Task.WAITING))) + time.sleep(0.01) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + loopcount = loopcount +1 + + # Assure that the loopcount is less than 10, and the timer interrupt fired, rather + # than allowing us to continue to loop the full 10 times. + self.assertTrue(loopcount < 10) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerDurationTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerDurationTest.py b/tests/SpiffWorkflow/bpmn/events/TimerDurationTest.py new file mode 100644 index 000000000..24b27eeaa --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerDurationTest.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'kellym' + + +class TimerDurationTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('timer.bpmn', 'timer') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + loopcount = 0 + # test bpmn has a timeout of .25s + # we should terminate loop before that. + starttime = datetime.datetime.now() + while loopcount < 10: + if len(self.workflow.get_tasks(TaskState.READY)) >= 1: + break + if save_restore: self.save_restore() + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + time.sleep(0.1) + self.workflow.refresh_waiting_tasks() + loopcount = loopcount +1 + endtime = datetime.datetime.now() + duration = endtime-starttime + self.assertEqual(durationdatetime.timedelta(seconds=.2),True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerDurationTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TimerIntermediateTest.py b/tests/SpiffWorkflow/bpmn/events/TimerIntermediateTest.py new file mode 100644 index 000000000..6d8c256a2 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TimerIntermediateTest.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +import unittest +import datetime +import time +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'matth' + + +class TimerIntermediateTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesss = self.load_workflow_spec('Test-Workflows/Timer-Intermediate.bpmn20.xml', 'Timer Intermediate') + self.workflow = BpmnWorkflow(self.spec, self.subprocesss) + + def testRunThroughHappy(self): + + due_time = datetime.datetime.now() + datetime.timedelta(seconds=0.01) + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + self.workflow.get_tasks(TaskState.READY)[0].set_data(due_time=due_time) + + self.workflow.do_engine_steps() + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + + time.sleep(0.02) + + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.WAITING))) + self.workflow.refresh_waiting_tasks() + self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING))) + self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY))) + + self.workflow.do_engine_steps() + self.assertEqual( + 0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING))) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TimerIntermediateTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/TransactionSubprocssTest.py b/tests/SpiffWorkflow/bpmn/events/TransactionSubprocssTest.py new file mode 100644 index 000000000..1212d776c --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/events/TransactionSubprocssTest.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +__author__ = 'michaelc' + + +class TransactionSubprocessTest(BpmnWorkflowTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('transaction.bpmn', 'Main_Process') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + self.workflow.do_engine_steps() + + def testNormalCompletion(self): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + ready_tasks[0].update_data({'value': 'asdf'}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + ready_tasks[0].update_data({'quantity': 2}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + self.assertIn('value', self.workflow.last_task.data) + + # Check that workflow and next task completed + subprocess = self.workflow.get_tasks_from_spec_name('Subprocess')[0] + self.assertEqual(subprocess.get_state(), TaskState.COMPLETED) + print_task = self.workflow.get_tasks_from_spec_name("Activity_Print_Data")[0] + self.assertEqual(print_task.get_state(), TaskState.COMPLETED) + + # Check that the boundary events were cancelled + cancel_task = self.workflow.get_tasks_from_spec_name("Catch_Cancel_Event")[0] + self.assertEqual(cancel_task.get_state(), TaskState.CANCELLED) + error_1_task = self.workflow.get_tasks_from_spec_name("Catch_Error_1")[0] + self.assertEqual(error_1_task.get_state(), TaskState.CANCELLED) + error_none_task = self.workflow.get_tasks_from_spec_name("Catch_Error_None")[0] + self.assertEqual(error_none_task.get_state(), TaskState.CANCELLED) + + + def testSubworkflowCancelEvent(self): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + + # If value == '', we cancel + ready_tasks[0].update_data({'value': ''}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + + # If the subprocess gets cancelled, verify that data set there does not persist + self.assertNotIn('value', self.workflow.last_task.data) + + # Check that we completed the Cancel Task + cancel_task = self.workflow.get_tasks_from_spec_name("Cancel_Action")[0] + self.assertEqual(cancel_task.get_state(), TaskState.COMPLETED) + + # And cancelled the remaining tasks + error_1_task = self.workflow.get_tasks_from_spec_name("Catch_Error_1")[0] + self.assertEqual(error_1_task.get_state(), TaskState.CANCELLED) + error_none_task = self.workflow.get_tasks_from_spec_name("Catch_Error_None")[0] + self.assertEqual(error_none_task.get_state(), TaskState.CANCELLED) + + # We should not have this task, as we followed the 'cancel branch' + print_task = self.workflow.get_tasks_from_spec_name("Activity_Print_Data") + self.assertEqual(len(print_task), 0) + + def testSubworkflowErrorCodeNone(self): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + ready_tasks[0].update_data({'value': 'asdf'}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + + # If quantity == 0, we throw an error with no error code + ready_tasks[0].update_data({'quantity': 0}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + + # We formerly checked that subprocess data does not persist, but I think it should persist + # A boundary event is just an alternate path out of a workflow, and we might need the context + # of the event in later steps + + # The cancel boundary event should be cancelled + cancel_task = self.workflow.get_tasks_from_spec_name("Catch_Cancel_Event")[0] + self.assertEqual(cancel_task.get_state(), TaskState.CANCELLED) + + # We should catch the None Error, but not Error 1 + error_none_task = self.workflow.get_tasks_from_spec_name("Catch_Error_None")[0] + self.assertEqual(error_none_task.get_state(), TaskState.COMPLETED) + error_1_task = self.workflow.get_tasks_from_spec_name("Catch_Error_1")[0] + self.assertEqual(error_1_task.get_state(), TaskState.CANCELLED) + + # Make sure this branch didn't getfollowed + print_task = self.workflow.get_tasks_from_spec_name("Activity_Print_Data") + self.assertEqual(len(print_task), 0) + + def testSubworkflowErrorCodeOne(self): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + ready_tasks[0].update_data({'value': 'asdf'}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + + # If quantity < 0, we throw 'Error 1' + ready_tasks[0].update_data({'quantity': -1}) + ready_tasks[0].complete() + self.workflow.do_engine_steps() + + # The cancel boundary event should be cancelled + # I've removed this check, see previous test for rationale + + # Both boundary events should complete + error_none_task = self.workflow.get_tasks_from_spec_name("Catch_Error_None")[0] + self.assertEqual(error_none_task.get_state(), TaskState.COMPLETED) + error_1_task = self.workflow.get_tasks_from_spec_name("Catch_Error_1")[0] + self.assertEqual(error_1_task.get_state(), TaskState.COMPLETED) + + print_task = self.workflow.get_tasks_from_spec_name("Activity_Print_Data") + self.assertEqual(len(print_task), 0) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TransactionSubprocessTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/events/__init__.py b/tests/SpiffWorkflow/bpmn/events/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/bpmn/serializer/__init__.py b/tests/SpiffWorkflow/bpmn/serializer/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/bpmn/serializer/dictTest.py b/tests/SpiffWorkflow/bpmn/serializer/dictTest.py new file mode 100644 index 000000000..3556bee19 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/serializer/dictTest.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- + +from builtins import str +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..', '..')) + +import uuid +from SpiffWorkflow.bpmn.serializer.dict import BPMNDictionarySerializer +from tests.SpiffWorkflow.serializer.baseTest import SerializerTest +from SpiffWorkflow.workflow import Workflow + + +class BPMNDictionarySerializerTest(SerializerTest): + + def setUp(self): + super(BPMNDictionarySerializerTest, self).setUp() + self.serializer = BPMNDictionarySerializer() + self.return_type = dict + + def _compare_results(self, item1, item2, + exclude_dynamic=False, + exclude_items=None): + exclude_items = exclude_items if exclude_items is not None else [] + if exclude_dynamic: + if 'last_state_change' not in exclude_items: + exclude_items.append('last_state_change') + if 'last_task' not in exclude_items: + exclude_items.append('last_task') + if uuid.UUID not in exclude_items: + exclude_items.append(uuid.UUID) + if type(item1) in exclude_items: + return + + if isinstance(item1, dict): + self.assertIsInstance(item2, dict) + for key, value in list(item1.items()): + self.assertIn(key, item2) + if key in exclude_items: + continue + self._compare_results(value, item2[key], + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + for key in item2: + self.assertIn(key, item1) + + elif isinstance(item1, list): + msg = "item is not a list (is a " + str(type(item2)) + ")" + self.assertIsInstance(item2, list, msg) + msg = "list lengths differ: {} vs {}".format( + len(item1), len(item2)) + self.assertEqual(len(item1), len(item2), msg) + for i, listitem in enumerate(item1): + self._compare_results(listitem, item2[i], + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + + elif isinstance(item1, Workflow): + raise Exception("Item is a Workflow") + + else: + msg = "{}: types differ: {} vs {}".format( + str(item2), type(item1), type(item2)) + self.assertEqual(type(item1), type(item2), msg) + self.assertEqual(item1, item2) + + +def suite(): + return unittest.defaultTestLoader.loadTestsFromTestCase(BPMNDictionarySerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/bpmn/serializer/jsonTest.py b/tests/SpiffWorkflow/bpmn/serializer/jsonTest.py new file mode 100644 index 000000000..89ee05428 --- /dev/null +++ b/tests/SpiffWorkflow/bpmn/serializer/jsonTest.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..', '..')) + +import json +from SpiffWorkflow.bpmn.serializer.json import BPMNJSONSerializer +from tests.SpiffWorkflow.serializer.dictTest import DictionarySerializerTest + + +class BPMNJSONSerializerTest(DictionarySerializerTest): + + def setUp(self): + super(BPMNJSONSerializerTest, self).setUp() + self.serializer = BPMNJSONSerializer() + self.return_type = str + + def _prepare_result(self, item): + return json.loads(item) + + def _compare_results(self, item1, item2, exclude_dynamic=False, + exclude_items=None): + if exclude_dynamic: + exclude_items = ['__uuid__'] + else: + exclude_items = [] + super(BPMNJSONSerializerTest, self)._compare_results(item1, item2, + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + + +def suite(): + return unittest.defaultTestLoader.loadTestsFromTestCase(BPMNJSONSerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/BaseTestCase.py b/tests/SpiffWorkflow/camunda/BaseTestCase.py new file mode 100644 index 000000000..6ea39d0ac --- /dev/null +++ b/tests/SpiffWorkflow/camunda/BaseTestCase.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +import os + +from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer +from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser +from SpiffWorkflow.camunda.serializer import UserTaskConverter, StartEventConverter, EndEventConverter, \ + IntermediateCatchEventConverter, IntermediateThrowEventConverter, BoundaryEventConverter + +from SpiffWorkflow.dmn.serializer import BusinessRuleTaskConverter + +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + + +__author__ = 'danfunk' + +wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([ + UserTaskConverter, BusinessRuleTaskConverter, StartEventConverter, + EndEventConverter, BoundaryEventConverter, IntermediateCatchEventConverter, + IntermediateThrowEventConverter]) + +class BaseTestCase(BpmnWorkflowTestCase): + """ Provides some basic tools for loading up and parsing camunda BPMN files """ + + serializer = BpmnWorkflowSerializer(wf_spec_converter) + + def load_workflow_spec(self, filename, process_name, dmn_filename=None): + bpmn = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = CamundaParser() + parser.add_bpmn_files_by_glob(bpmn) + if dmn_filename is not None: + dmn = os.path.join(os.path.dirname(__file__), 'data', 'dmn', dmn_filename) + parser.add_dmn_files_by_glob(dmn) + top_level_spec = parser.get_spec(process_name) + subprocesses = parser.get_subprocess_specs(process_name) + return top_level_spec, subprocesses + + def reload_save_restore(self): + self.save_restore() diff --git a/tests/SpiffWorkflow/camunda/BusinessRuleTaskParserTest.py b/tests/SpiffWorkflow/camunda/BusinessRuleTaskParserTest.py new file mode 100644 index 000000000..24a9b189e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/BusinessRuleTaskParserTest.py @@ -0,0 +1,55 @@ +import unittest +from unittest.mock import patch + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + + +class BusinessRuleTaskParserTest(BaseTestCase): + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec( + 'ExclusiveGatewayIfElseAndDecision.bpmn', + 'Process_1', + 'test_integer_decision.dmn') + self.workflow = BpmnWorkflow(self.spec) + + def testDmnHappy(self): + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.workflow.do_engine_steps() + self.assertDictEqual(self.workflow.data, {'x': 3, 'y': 'A'}) + self.assertDictEqual(self.workflow.last_task.data, {'x': 3, 'y': 'A'}) + + def testDmnSaveRestore(self): + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.save_restore() + self.workflow.do_engine_steps() + self.save_restore() + self.assertDictEqual(self.workflow.data, {'x': 3, 'y': 'A'}) + self.assertDictEqual(self.workflow.last_task.data, {'x': 3, 'y': 'A'}) + + @patch('SpiffWorkflow.dmn.engine.DMNEngine.DMNEngine.evaluate') + def testDmnExecHasAccessToTask(self, mock_engine): + """At one time, the Execute and Evaluate methods received a Task object + but the DMN evaluate method did not get a task object. While this is + an optional argument, it should always exist if executed in the context + of a BPMNWorkflow""" + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.workflow.do_engine_steps() + task = self.workflow.get_tasks_from_spec_name('TaskDecision')[0] + name, args, kwargs = mock_engine.mock_calls[0] + self.assertIn(task, args) + + def testDmnUsesSameScriptEngineAsBPMN(self): + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.workflow.do_engine_steps() + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BusinessRuleTaskParserTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/CallActivityMessageTest.py b/tests/SpiffWorkflow/camunda/CallActivityMessageTest.py new file mode 100644 index 000000000..400f60117 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/CallActivityMessageTest.py @@ -0,0 +1,57 @@ +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from .BaseTestCase import BaseTestCase + +__author__ = 'essweine' + + +class CallActivityMessageTest(BaseTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('call_activity_with_message*.bpmn', 'Process_0xeaemr') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self, save_restore=False): + steps = [('Activity_EnterPlan',{'plan_details':'Bad'}), + ('Activity_ApproveOrDeny', {'approved':'No'}), + ('Activity_EnterPlan', {'plan_details':'Better'}), + ('Activity_ApproveOrDeny', {'approved':'No'}), + ('Activity_EnterPlan', {'plan_details':'Best'}), + ('Activity_ApproveOrDeny', {'approved':'Yes'}), + ('Activity_EnablePlan',{'Done':'OK!'}) + ] + + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + waiting_tasks = self.workflow.get_tasks(TaskState.WAITING) + self.assertEqual(1, len(ready_tasks),'Expected to have one ready task') + self.assertEqual(2, len(waiting_tasks), 'Expected to have two waiting tasks') + + for step in steps: + current_task = ready_tasks[0] + self.assertEqual(current_task.task_spec.name,step[0]) + current_task.update_data(step[1]) + current_task.complete() + self.workflow.do_engine_steps() + self.workflow.refresh_waiting_tasks() + if save_restore: self.save_restore() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(self.workflow.is_completed(),True,'Expected the workflow to be complete at this point') + self.assertEqual(self.workflow.last_task.data,{'plan_details': 'Best', + 'Approved': 'Yes', + 'Done': 'OK!'}) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CallActivityMessageTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/CamundaParserTest.py b/tests/SpiffWorkflow/camunda/CamundaParserTest.py new file mode 100644 index 000000000..1b4534490 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/CamundaParserTest.py @@ -0,0 +1,24 @@ +from SpiffWorkflow.bpmn.parser.util import full_tag +from SpiffWorkflow.camunda.specs.UserTask import UserTask +from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser +from SpiffWorkflow.camunda.parser.UserTaskParser import UserTaskParser +from SpiffWorkflow.camunda.parser.business_rule_task import BusinessRuleTaskParser +from SpiffWorkflow.dmn.specs.BusinessRuleTask import BusinessRuleTask + +from .BaseTestCase import BaseTestCase + +class CamundaParserTest(BaseTestCase): + + def setUp(self): + self.parser = CamundaParser() + + def test_overrides(self): + + overrides = [ + ('userTask', UserTaskParser, UserTask), + ('businessRuleTask', BusinessRuleTaskParser, BusinessRuleTask), + ] + + for key, parser, spec in overrides: + self.assertIn(full_tag(key), self.parser.OVERRIDE_PARSER_CLASSES) + self.assertEqual((parser, spec), self.parser.OVERRIDE_PARSER_CLASSES.get(full_tag(key))) \ No newline at end of file diff --git a/tests/SpiffWorkflow/camunda/ClashingNameTest.py b/tests/SpiffWorkflow/camunda/ClashingNameTest.py new file mode 100644 index 000000000..b078ddf3e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ClashingNameTest.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- + + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ClashingNameTest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_camunda_clash.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def testRunThroughHappyReset(self): + self.actual_test(save_restore=False,reset_data=True,expected={'do_step':False,'C':'c'}) + + def testRunThroughSaveRestoreReset(self): + self.actual_test(save_restore=True,reset_data=True,expected={'do_step':False,'C':'c'}) + + def actual_test(self, save_restore=False, reset_data=False, expected=None): + + if expected is None: + expected = {'do_step': False, 'A': 'a', 'B': 'b', 'C': 'c'} + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'do_step', + 'answer': True}, + {'taskname': 'FormA', + 'formvar': 'A', + 'answer': 'a'}, + {'taskname': 'FormB', + 'formvar': 'B', + 'answer': 'b'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None: + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + steps = [{'taskname':'First', + 'formvar': 'do_step', + 'answer': False}, + {'taskname': 'FormC', + 'formvar': 'C', + 'answer': 'c'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'do_step':False,'A':'a','B':'b','C':'c'}, + self.workflow.last_task.data) + + + + + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ClashingNameTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/DMNCustomScriptTest.py b/tests/SpiffWorkflow/camunda/DMNCustomScriptTest.py new file mode 100644 index 000000000..cde4662c0 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/DMNCustomScriptTest.py @@ -0,0 +1,56 @@ +import unittest +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + + +def my_custom_function(txt): + return str(txt).upper() + + +class CustomScriptEngine(PythonScriptEngine): + + def __init__(self): + augment_methods = {'my_custom_function': my_custom_function} + super().__init__(scripting_additions=augment_methods) + + +class DMNCustomScriptTest(BaseTestCase): + + def setUp(self): + + self.spec, subprocesses = self.load_workflow_spec('CustomScript.bpmn', 'start', 'CustomScript.dmn') + self.workflow = BpmnWorkflow(self.spec, script_engine=CustomScriptEngine()) + + def testConstructor(self): + pass # this is accomplished through setup. + + def complete_manual_task(self): + manual_task = self.workflow.get_tasks_from_spec_name('manual_task')[0] + self.workflow.complete_task_from_id(manual_task.id) + self.workflow.do_engine_steps() + + def testDmnHappy(self): + self.workflow.do_engine_steps() + self.complete_manual_task() + self.workflow.do_engine_steps() + self.assertDictEqual(self.workflow.last_task.data, + {'a': 'BILL', 'dmn_result': 'BILL'}) + + def testDmnSaveRestore(self): + self.save_restore() + self.workflow.script_engine = CustomScriptEngine() + self.workflow.do_engine_steps() + self.complete_manual_task() + self.workflow.do_engine_steps() + self.assertDictEqual(self.workflow.last_task.data, + {'a': 'BILL', 'dmn_result': 'BILL'}) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DMNCustomScriptTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/DMNDictTest.py b/tests/SpiffWorkflow/camunda/DMNDictTest.py new file mode 100644 index 000000000..053614b49 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/DMNDictTest.py @@ -0,0 +1,41 @@ + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + +class DMNDictTest(BaseTestCase): + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec('dmndict.bpmn', 'start', 'dmndict.dmn') + self.workflow = BpmnWorkflow(self.spec) + self.expectedResult = {'inputvar': 1, 'pi': {'test': {'me': 'yup it worked'}, 'test2': {'other': 'yes'}}} + + def testDmnHappy(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + x = self.workflow.get_ready_user_tasks() + self.workflow.complete_task_from_id(x[0].id) + self.workflow.do_engine_steps() + self.assertDictEqual(self.workflow.last_task.data, self.expectedResult) + + def testDmnSaveRestore(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + self.save_restore() + x = self.workflow.get_ready_user_tasks() + self.workflow.complete_task_from_id(x[0].id) + self.workflow.do_engine_steps() + self.save_restore() + self.assertDictEqual(self.workflow.last_task.data, self.expectedResult) + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DMNDictTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/DefaultGatewayPMITest.py b/tests/SpiffWorkflow/camunda/DefaultGatewayPMITest.py new file mode 100644 index 000000000..96852cc2c --- /dev/null +++ b/tests/SpiffWorkflow/camunda/DefaultGatewayPMITest.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'matth' + +class DefaultGatewayPMITest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('default_gateway_pmi.bpmn', 'DefaultGateway') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + def actual_test(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("DoStuff", task.task_spec.name) + task.update_data({"morestuff": 'Yep'}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + # Set the names of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i == 0: + self.assertEqual("GetMoreStuff", task.task_spec.name) + else: + self.assertEqual("GetMoreStuff_%d"%(i-1), task.task_spec.name) + + + task.update_data({"stuff.addstuff": "Stuff %d"%i}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + self.workflow.do_engine_steps() + + if save_restore: self.save_restore() + self.assertTrue(self.workflow.is_completed()) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DefaultGatewayPMITest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ExclusiveGatewayPMITest.py b/tests/SpiffWorkflow/camunda/ExclusiveGatewayPMITest.py new file mode 100644 index 000000000..1b65ba575 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ExclusiveGatewayPMITest.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'matth' + + +class ExclusiveGatewayPMITest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('default_gateway_pmi.bpmn', 'DefaultGateway') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + def testRunThroughHappyNo(self): + self.actual_test(False,'No') + + def testRunThroughSaveRestoreNo(self): + self.actual_test(True,'No') + + def actual_test(self, save_restore=False,response='Yes'): + + self.workflow.do_engine_steps() + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("DoStuff", task.task_spec.name) + task.update_data({"morestuff": response}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + # Set the names of the 3 family members. + if response == 'Yes': + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i == 0: + self.assertEqual("GetMoreStuff", task.task_spec.name) + else: + self.assertEqual("GetMoreStuff_%d"%(i-1), task.task_spec.name) + + + task.update_data({"stuff.addstuff": "Stuff %d"%i}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + self.workflow.do_engine_steps() + + if save_restore: self.save_restore() + self.assertTrue(self.workflow.is_completed()) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExclusiveGatewayPMITest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ExternalMessageBoundaryEventTest.py b/tests/SpiffWorkflow/camunda/ExternalMessageBoundaryEventTest.py new file mode 100644 index 000000000..7dd2b8df0 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ExternalMessageBoundaryEventTest.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.camunda.specs.events.event_definitions import MessageEventDefinition +from .BaseTestCase import BaseTestCase + +__author__ = 'kellym' + + +class ExternalMessageBoundaryTest(BaseTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('external_message.bpmn', 'ExternalMessage') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks),'Expected to have only one ready task') + self.workflow.catch(MessageEventDefinition('Interrupt', payload='SomethingImportant', result_var='interrupt_var')) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(2,len(ready_tasks),'Expected to have two ready tasks') + + # here because the thread just dies and doesn't lead to a task, we expect the data + # to die with it. + # item 1 should be at 'Pause' + self.assertEqual('Pause',ready_tasks[1].task_spec.description) + self.assertEqual('SomethingImportant', ready_tasks[1].data['interrupt_var']) + self.assertEqual(True, ready_tasks[1].data['caughtinterrupt']) + self.assertEqual('Meaningless User Task',ready_tasks[0].task_spec.description) + self.assertEqual(False, ready_tasks[0].data['caughtinterrupt']) + ready_tasks[1].complete() + self.workflow.do_engine_steps() + # what I think is going on here is that when we hit the reset, it is updating the + # last_task and appending the data to whatever happened there, so it would make sense that + # we have the extra variables that happened in 'pause' + # if on the other hand, we went on from 'meaningless task' those variables would not get added. + self.workflow.catch(MessageEventDefinition('reset', payload='SomethingDrastic', result_var='reset_var')) + ready_tasks = self.workflow.get_tasks(TaskState.READY) + # The user activity was cancelled and we should continue from the boundary event + self.assertEqual(1, len(ready_tasks),'Expected to have two ready tasks') + event = self.workflow.get_tasks_from_spec_name('Event_19detfv')[0] + event.complete() + self.assertEqual('SomethingDrastic', event.data['reset_var']) + self.assertEqual(False, event.data['caughtinterrupt']) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExternalMessageBoundaryTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/FeelBusinessRuleTaskParserTest.py b/tests/SpiffWorkflow/camunda/FeelBusinessRuleTaskParserTest.py new file mode 100644 index 000000000..36a4a45ed --- /dev/null +++ b/tests/SpiffWorkflow/camunda/FeelBusinessRuleTaskParserTest.py @@ -0,0 +1,43 @@ +import unittest + +from SpiffWorkflow.task import TaskState + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + +class FeelBusinessRuleTaskParserTest(BaseTestCase): + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec( + 'ExclusiveGatewayIfElseAndDecision.bpmn', 'Process_1', 'test_integer_decision_feel.dmn') + self.workflow = BpmnWorkflow(self.spec) + + def testConstructor(self): + pass # this is accomplished through setup. + + def testDmnHappy(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.workflow.do_engine_steps() + self.assertDictEqual(self.workflow.data, {'x': 3, 'y': 'A'}) + self.assertDictEqual(self.workflow.last_task.data, {'x': 3, 'y': 'A'}) + + def testDmnSaveRestore(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + self.save_restore() + self.workflow.do_engine_steps() + self.save_restore() + self.assertDictEqual(self.workflow.data, {'x': 3, 'y': 'A'}) + self.assertDictEqual(self.workflow.last_task.data, {'x': 3, 'y': 'A'}) + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelBusinessRuleTaskParserTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/InvalidBusinessRuleTaskParserTest.py b/tests/SpiffWorkflow/camunda/InvalidBusinessRuleTaskParserTest.py new file mode 100644 index 000000000..3ca9f3d05 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/InvalidBusinessRuleTaskParserTest.py @@ -0,0 +1,35 @@ +import os +import unittest + +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + + +class BusinessRuleTaskParserTest(BaseTestCase): + + def setUp(self): + self.spec, subproceses = self.load_workflow_spec( + 'invalid/InvalidDecision.bpmn', 'Process_1', 'invalid_decision.dmn') + self.workflow = BpmnWorkflow(self.spec) + + def testDmnRaisesTaskErrors(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.get_tasks(TaskState.READY)[0].set_data(x=3) + try: + self.workflow.do_engine_steps() + self.assertTrue(False, "An error should have been raised.") + except WorkflowTaskExecException as we: + self.assertTrue(True, "An error was raised..") + self.assertEquals("InvalidDecisionTaskId", we.sender.name) + self.maxDiff = 1000 + self.assertEquals("Error evaluating expression spam= 1", str(we)) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BusinessRuleTaskParserTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/MessageBoundaryEventTest.py b/tests/SpiffWorkflow/camunda/MessageBoundaryEventTest.py new file mode 100644 index 000000000..03606c233 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/MessageBoundaryEventTest.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- + + +import unittest +import time +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from .BaseTestCase import BaseTestCase + +__author__ = 'kellym' + + +class MessageBoundaryTest(BaseTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('MessageBoundary.bpmn', 'Process_1kjyavs') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + + def actual_test(self,save_restore = False): + steps = [('Activity_Interrupt', {'interrupt_task':'No'}), + ('Activity_Interrupt', {'interrupt_task': 'No'}), + ('Activity_Interrupt', {'interrupt_task': 'Yes'}), + ] + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(2, len(ready_tasks),'Expected to have two ready tasks') + for step in steps: + for task in ready_tasks: + if task.task_spec.name == step[0]: + task.update_data(step[1]) + + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + time.sleep(.01) + self.workflow.refresh_waiting_tasks() + if save_restore: self.save_restore() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + time.sleep(.01) + self.workflow.refresh_waiting_tasks() + self.workflow.do_engine_steps() + self.assertEqual(self.workflow.is_completed(),True,'Expected the workflow to be complete at this point') + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MessageBoundaryTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/MultiInstanceArrayTest.py b/tests/SpiffWorkflow/camunda/MultiInstanceArrayTest.py new file mode 100644 index 000000000..3244f16d3 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/MultiInstanceArrayTest.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.exceptions import WorkflowException + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'matth' + + +class MultiInstanceArrayTest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('multi_instance_array.bpmn', 'MultiInstanceArray') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + + def testRunThroughHappyList(self): + self.actual_test2(False) + + def testRunThroughSaveRestoreList(self): + self.actual_test2(True) + + def testRunThroughHappyDict(self): + self.actual_test_with_dict(False) + + def testRunThroughSaveRestoreDict(self): + self.actual_test_with_dict(True) + + def testGetTaskExtensions(self): + self.actual_test_for_extensions(False) + + + def actual_test(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + taskinfo = task.task_info() + self.assertEqual(taskinfo,{'is_looping':False, + 'is_sequential_mi':False, + 'is_parallel_mi':False, + 'mi_count':0, + 'mi_index':0}) + self.assertEqual("Activity_FamSize", task.task_spec.name) + task.update_data({"Family": {"Size": 3}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + # Set the names of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + taskinfo = task.task_info() + self.assertEqual(taskinfo, {'is_looping': False, + 'is_sequential_mi': True, + 'is_parallel_mi': False, + 'mi_count': 3, + 'mi_index': i+1}) + if i > 0: + self.assertEqual("FamilyMemberTask"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberTask", task.task_spec.name) + + + task.update_data({"FamilyMember": {"FirstName": "The Funk #%i" % i}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + self.workflow.do_engine_steps() + + self.assertEqual({'1': {'FirstName': 'The Funk #0'}, + '2': {'FirstName': 'The Funk #1'}, + '3': {'FirstName': 'The Funk #2'}}, + task.data["Family"]["Members"]) + #### NB - start here + ### Data is not correctly getting to the next task upon complete of the last task + ### after do_engine_steps, the next task in the list should be the same as task.data + ### but it is not. + + ### invalid copy of data?? ## appears that parent is not hooked up correctly + + # Set the birthdays of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i > 0: + self.assertEqual("FamilyMemberBday"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberBday", task.task_spec.name) + task.update_data({"CurrentFamilyMember": {"Birthdate": "10/0%i/1985" % i}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + self.workflow.do_engine_steps() + + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'1': {'FirstName': 'The Funk #0', "Birthdate": "10/00/1985"}, + '2': {'FirstName': 'The Funk #1', "Birthdate": "10/01/1985"}, + '3': {'FirstName': 'The Funk #2', "Birthdate": "10/02/1985"}}, + self.workflow.last_task.data["Family"]["Members"]) + + + + + def actual_test2(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("Activity_FamSize", task.task_spec.name) + task.update_data({"Family":{"Size": 3}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + # Set the names of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i > 0: + self.assertEqual("FamilyMemberTask"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberTask", task.task_spec.name) + task.update_data({"FamilyMember": {"FirstName": "The Funk #%i" % i}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + self.assertEqual({'1': {'FirstName': 'The Funk #0'}, + '2': {'FirstName': 'The Funk #1'}, + '3': {'FirstName': 'The Funk #2'}}, + task.data["Family"]["Members"]) + + + # Make sure that if we have a list as both input and output + # collection, that we raise an exception + + task = self.workflow.get_ready_user_tasks()[0] + task.data['Family']['Members'] = ['The Funk #0','The Funk #1','The Funk #2'] + self.assertEqual("FamilyMemberBday", task.task_spec.name) + task.update_data( + {"CurrentFamilyMember": {"Birthdate": "10/0%i/1985" % i}}) + with self.assertRaises(WorkflowException) as context: + self.workflow.complete_task_from_id(task.id) + + + def actual_test_with_dict(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("Activity_FamSize", task.task_spec.name) + task.update_data({"Family":{"Size": 3}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + # Set the names of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i > 0: + self.assertEqual("FamilyMemberTask"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberTask", task.task_spec.name) + task.update_data({"FamilyMember": {"FirstName": "The Funk #%i" % i}}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + self.assertEqual({'1': {'FirstName': 'The Funk #0'}, + '2': {'FirstName': 'The Funk #1'}, + '3': {'FirstName': 'The Funk #2'}}, + task.data["Family"]["Members"]) + + + + # Set the birthdays of the 3 family members. + for i in range(3): + task = self.workflow.get_ready_user_tasks()[0] + if i == 0: + # Modify so that the dict keys are alpha rather than int + task.data["Family"]["Members"] = { + "a": {'FirstName': 'The Funk #0'}, + "b": {'FirstName': 'The Funk #1'}, + "c": {'FirstName': 'The Funk #2'}} + if (i > 0): + self.assertEqual("FamilyMemberBday"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberBday", task.task_spec.name) + task.update_data( + {"CurrentFamilyMember": {"Birthdate": "10/0%i/1985" % i}}) + self.workflow.complete_task_from_id(task.id) +# if save_restore: self.save_restore() + + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({"a": {'FirstName': 'The Funk #0', "Birthdate": "10/00/1985"}, + "b": {'FirstName': 'The Funk #1', "Birthdate": "10/01/1985"}, + "c": {'FirstName': 'The Funk #2', "Birthdate": "10/02/1985"}}, + self.workflow.last_task.data["Family"]["Members"]) + + + + def actual_test_for_extensions(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("Activity_FamSize", task.task_spec.name) + extensions = task.task_spec.extensions # assume bpmn + self.assertEqual(extensions,{'Test1':'Value1','Test2':'Value2'}) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceArrayTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/MultiInstanceDMNTest.py b/tests/SpiffWorkflow/camunda/MultiInstanceDMNTest.py new file mode 100644 index 000000000..c381d5b6f --- /dev/null +++ b/tests/SpiffWorkflow/camunda/MultiInstanceDMNTest.py @@ -0,0 +1,47 @@ +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + +class MultiInstanceDMNTest(BaseTestCase): + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec( + 'DMNMultiInstance.bpmn', 'Process_1', 'test_integer_decision_multi.dmn') + self.workflow = BpmnWorkflow(self.spec) + + def testConstructor(self): + pass # this is accomplished through setup. + + def testDmnHappy(self): + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + self.workflow.complete_next() + self.workflow.do_engine_steps() + self.workflow.complete_next() + self.workflow.do_engine_steps() + self.assertEqual(self.workflow.data['stuff']['E']['y'], 'D') + + + def testDmnSaveRestore(self): + self.workflow = BpmnWorkflow(self.spec) + self.save_restore() + self.workflow.do_engine_steps() + self.workflow.complete_next() + self.save_restore() + self.workflow.do_engine_steps() + self.workflow.complete_next() + self.save_restore() + self.workflow.do_engine_steps() + self.save_restore() + self.assertEqual(self.workflow.data['stuff']['E']['y'], 'D') + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceDMNTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/MultiInstanceDeepDictEdit.py b/tests/SpiffWorkflow/camunda/MultiInstanceDeepDictEdit.py new file mode 100644 index 000000000..34b3db468 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/MultiInstanceDeepDictEdit.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- + + + + +import copy +import sys +import os +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +__author__ = 'matth' + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + + +class MultiInstanceDeepDictTest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + deep_dict = { + "StudyInfo": { + "investigators": { + "PI": { + "affiliation": "", + "department": "", + "display_name": "Daniel Harold Funk", + "email": "dhf8r@virginia.edu", + "given_name": "Daniel", + "sponsor_type": "Contractor", + "telephone_number": "", + "title": "", + "type_full": "Primary Investigator", + "user_id": "dhf8r" + }, + "DC": { + "type_full": "Department Contact", + "user_id": "John Smith" + } + } + } + } + + expected_result = copy.copy(deep_dict) + expected_result["StudyInfo"]["investigators"]["DC"]["email"] = "john.smith@gmail.com" + expected_result["StudyInfo"]["investigators"]["PI"]["email"] = "dan.funk@gmail.com" + + def setUp(self): + self.spec = self.load_workflow_spec( + 'data/multi_instance_parallel_deep_data_edit.bpmn', + 'MultiInstance') + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + def actual_test(self, save_restore=False): + + self.workflow = BpmnWorkflow(self.spec) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + # The initial task is a script task. Set the data there + # and move one. + task = self.workflow.get_ready_user_tasks()[0] + task.data = self.deep_dict + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + task = self.workflow.get_ready_user_tasks()[0] + taskinfo = task.task_info() + self.assertEqual(taskinfo,{'is_looping':False, + 'is_sequential_mi':False, + 'is_parallel_mi':True, + 'mi_count':2, + 'mi_index':1}) + self.assertEqual("MultiInstanceTask", task.task_spec.name) + self.assertTrue("investigator" in task.data) + data = copy.copy(task.data) + data['investigator']['email'] = "john.smith@gmail.com" + task.update_data(data) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.save_restore() + + + task = self.workflow.get_ready_user_tasks()[0] + taskinfo = task.task_info() + self.assertEqual(taskinfo,{'is_looping':False, + 'is_sequential_mi':False, + 'is_parallel_mi':True, + 'mi_count':2, + 'mi_index':2}) + self.assertEqual("MultiInstanceTask", task.task_spec.name) + self.assertTrue("investigator" in task.data) + data = copy.copy(task.data) + data['investigator']['email'] = "dan.funk@gmail.com" + task.update_data(data) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + task = self.workflow.last_task + self.assertEqual(self.expected_result, task.data) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceDeepDictTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/MultiInstanceParallelArrayTest.py b/tests/SpiffWorkflow/camunda/MultiInstanceParallelArrayTest.py new file mode 100644 index 000000000..42a616f9e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/MultiInstanceParallelArrayTest.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- + +import unittest +import random + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'matth' + +debug = True + +class MultiInstanceParallelArrayTest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('multi_instance_array_parallel.bpmn', 'MultiInstanceArray') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + def actual_test(self, save_restore=False): + + first_task = self.workflow.task_tree + + # A previous task (in this case the root task) will set the data + # so it must be found later. + first_task.update_data({"FamilySize": 3}) + self.workflow.do_engine_steps() + if save_restore: self.reload_save_restore() + # Set initial array size to 3 in the first user form. + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("Activity_FamSize", task.task_spec.name) + task.update_data({"FamilySize": 3}) + self.workflow.complete_task_from_id(task.id) + if save_restore: self.reload_save_restore() + self.workflow.do_engine_steps() + + # Set the names of the 3 family members. + for i in range(3): + + tasks = self.workflow.get_ready_user_tasks() + self.assertEqual(len(tasks),1) # still with sequential MI + task = tasks[0] + if i > 0: + self.assertEqual("FamilyMemberTask"+"_%d"%(i-1), task.task_spec.name) + else: + self.assertEqual("FamilyMemberTask", task.task_spec.name) + task.update_data({"FamilyMember": {"FirstName": "The Funk #%i" % i}}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: + self.reload_save_restore() + tasks = self.workflow.get_ready_user_tasks() + + self.assertEqual(3,len(tasks)) + # Set the birthdays of the 3 family members. + for i in range(3): # emulate random Access + task = random.choice(tasks) + x = task.internal_data['runtimes'] -1 + self.assertEqual("FamilyMemberBday", task.task_spec.name[:16]) + self.assertEqual({"FirstName": "The Funk #%i" % x}, + task.data["CurrentFamilyMember"]) + task.update_data( + {"CurrentFamilyMember": {"Birthdate": "10/05/1985" + str(x)}}) + self.workflow.do_engine_steps() + self.workflow.complete_task_from_id(task.id) + # The data should still be available on the current task. + self.assertEqual({'FirstName': "The Funk #%i" % x, + 'Birthdate': '10/05/1985' + str(x)}, + self.workflow.get_task(task.id) + .data['CurrentFamilyMember']) + self.workflow.do_engine_steps() + if save_restore: + self.reload_save_restore() + self.workflow.do_engine_steps() + + tasks = self.workflow.get_ready_user_tasks() + + self.workflow.do_engine_steps() + if save_restore: + self.reload_save_restore() + + names = task.data['FamilyMembers'] + bdays = task.data['FamilyMemberBirthday'] + for x in list(names.keys()): + self.assertEqual(str(names[x]['FirstName'][-1]),str(bdays[x]['Birthdate'][-1])) + self.assertTrue(self.workflow.is_completed()) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MultiInstanceParallelArrayTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/NIMessageBoundaryTest.py b/tests/SpiffWorkflow/camunda/NIMessageBoundaryTest.py new file mode 100644 index 000000000..a3c79fbba --- /dev/null +++ b/tests/SpiffWorkflow/camunda/NIMessageBoundaryTest.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + + +class NIMessageBoundaryTest(BaseTestCase): + """ + Non-Interrupting Timer boundary test + """ + def setUp(self): + spec, subprocesses = self.load_workflow_spec('noninterrupting-MessageBoundary.bpmn', 'MessageBoundary') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + + def actual_test(self,save_restore = False): + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + self.workflow.complete_task_from_id(ready_tasks[0].id) + self.workflow.do_engine_steps() + + # first we run through a couple of steps where we answer No to each + # question + answers = {'Activity_WorkLate':('flag_task','No'), + 'Activity_DoWork': ('work_done','No')} + for x in range(3): + ready_tasks = self.workflow.get_tasks(TaskState.READY) + for task in ready_tasks: + response = answers.get(task.task_spec.name,None) + self.assertEqual(response==None, + False, + 'We got a ready task that we did not expect - %s'%( + task.task_spec.name)) + task.data[response[0]] = response[1] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + # if we have a list of tasks - that list becomes invalid + # after we do a save restore, so I'm completing the list + # before doing the save restore. + if save_restore: + self.save_restore() + + + answers = {'Activity_WorkLate':('flag_task','Yes'), + 'Activity_DoWork': ('work_done','No'), + 'Activity_WorkLateReason':('work_late_reason','covid-19')} + for x in range(3): + ready_tasks = self.workflow.get_tasks(TaskState.READY) + for task in ready_tasks: + response = answers.get(task.task_spec.name,None) + self.assertEqual(response==None, + False, + 'We got a ready task that we did not expect - %s'%( + task.task_spec.name)) + task.data[response[0]] = response[1] + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(len(ready_tasks),1) + task = ready_tasks[0] + self.assertEqual(task.task_spec.name,'Activity_DoWork') + task.data['work_done'] = 'Yes' + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(len(ready_tasks), 1) + task = ready_tasks[0] + self.assertEqual(task.task_spec.name, 'Activity_WorkCompleted') + task.data['work_completed'] = 'Lots of Stuff' + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + self.assertEqual(self.workflow.is_completed(),True) + self.assertEqual(self.workflow.last_task.data,{'Event_InterruptBoundary_Response': 'Youre late!', + 'flag_task': 'Yes', + 'work_done': 'Yes', + 'work_completed': 'Lots of Stuff', + 'work_late_reason': 'covid-19'}) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(NIMessageBoundaryTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenMIParallelTest.py b/tests/SpiffWorkflow/camunda/ResetTokenMIParallelTest.py new file mode 100644 index 000000000..392071811 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenMIParallelTest.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- + +import unittest + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +__author__ = 'kellym' + +class ResetTokenTestMIParallel(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_MIParallel.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self, save_restore=False,reset_data=False): + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'task_data': {'do_step':'Yes'}}, + {'taskname': 'FormA', + 'task_data': {'current': {'A' : 'x'}}}, + {'taskname': 'FormA', + 'task_data': {'current': {'A' : 'y'}}}, + {'taskname': 'FormA', + 'task_data': {'current': {'A' : 'z'}}} + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name[:len(step['taskname'])]) + task.update_data(step['task_data']) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertEqual({'current': {'A': 'y'}, + 'do_step': 'Yes', + 'output': {'1': {'A': 'x'}, '2': {'A': 'y'}, '3': {'A': 'z'}}}, + self.workflow.last_task.data) + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormA', + 'task_data': {'current': {'A' : 'a1'}}}, + {'taskname': 'FormC', + 'task_data': {'C' : 'c'}}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data(step['task_data']) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'current': {'A': 'x'}, + 'do_step': 'Yes', + 'C': 'c', + 'output': {'1': {'A': 'a1'}, + '2': {'A': 'y'}, + '3': {'A': 'z'}}}, + self.workflow.last_task.data) + + + + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTestMIParallel) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenMITest.py b/tests/SpiffWorkflow/camunda/ResetTokenMITest.py new file mode 100644 index 000000000..5d6c2e27e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenMITest.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ResetTokenTestMI(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_MI.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self, save_restore=False,reset_data=False): + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'task_data': {'do_step':'Yes'}}, + {'taskname': 'FormA', + 'task_data': {'current': {'A' : 'x'}}}, + {'taskname': 'FormA_0', + 'task_data': {'current': {'A' : 'y'}}}, + {'taskname': 'FormA_1', + 'task_data': {'current': {'A' : 'z'}}} + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data(step['task_data']) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + + steps = [{'taskname': 'FormA', + 'task_data': {'current': {'A': 'a1'}}}, + {'taskname': 'FormA_0', + 'task_data': {'current': {'A': 'a2'}}}, + {'taskname': 'FormA_1', + 'task_data': {'current': {'A': 'a3'}}}, + {'taskname': 'FormC', + 'task_data': {'C': 'c'}} + ] + + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data(step['task_data']) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + self.assertEqual({'do_step': 'Yes', + 'output': {'1': {'A': 'a1'}, + '2': {'A': 'a2'}, + '3': {'A': 'a3'}}, + 'C': 'c'}, + self.workflow.last_task.data) + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTestMI) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenNestedParallelTest.py b/tests/SpiffWorkflow/camunda/ResetTokenNestedParallelTest.py new file mode 100644 index 000000000..698eac7eb --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenNestedParallelTest.py @@ -0,0 +1,214 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ResetTokenTestNestedParallel(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_nested_parallel.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def testRunThroughHappyAlt(self): + self.actual_test2(save_restore=False) + + def testRunThroughSaveRestoreAlt(self): + self.actual_test2(save_restore=True) + + def actual_test(self, save_restore=False,reset_data=False): + """ + Test a complicated parallel matrix, complete the matrix and + Reset somewhere in the middle. It should complete the row that we + Reset to, and retain all previous answers. + """ + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + {'taskname': 'FormB1', + 'formvar': 'B1', + 'answer': 'xb1'}, + {'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'xb2'}, + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'xb3'}, + {'taskname': 'FormC1', + 'formvar': 'C1', + 'answer': 'xc1'}, + {'taskname': 'FormC2', + 'formvar': 'C2', + 'answer': 'xc2'}, + {'taskname': 'FormC3', + 'formvar': 'C3', + 'answer': 'xc3'}, + + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormB2': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + self.workflow.reset_task_from_id(firsttaskid) + self.workflow.do_engine_steps() + #NB - this won't test random access + steps = [{'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'b2'}, + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + notworking = self.workflow.get_ready_user_tasks() + self.assertTrue(self.workflow.is_completed()) + self.assertEqual({'First': 'Yes', + 'A1': 'xa1', + 'A2': 'xa2', + 'A3': 'xa3', + 'B1': 'xb1', + 'B2': 'b2', + 'B3': 'xb3', + 'C1': 'xc1', + 'C2': 'xc2', + 'C3': 'xc3', + 'D': 'd'}, + + self.workflow.last_task.data) + + + def actual_test2(self, save_restore=False,reset_data=False): + """ + Test a complicated parallel matrix, + Complete several items in the parallel matrix, but do not complete it, + Reset to a previous version on another branch of the parallel, it should + complete that branch and then pick up where we left off. + Also, after we reset the branch, there should then be three tasks ready, + A2,B3,and C1 + """ + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + {'taskname': 'FormB1', + 'formvar': 'B1', + 'answer': 'xb1'}, + {'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'xb2'}, + + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA2': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'a2'}, + + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'b3'}, + + {'taskname': 'FormC1', + 'formvar': 'C1', + 'answer': 'c1'}, + {'taskname': 'FormC2', + 'formvar': 'C2', + 'answer': 'c2'}, + {'taskname': 'FormC3', + 'formvar': 'C3', + 'answer': 'c3'}, + + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + readytasks = [t.task_spec.name for t in self.workflow.get_ready_user_tasks()] + self.assertEqual(readytasks,['FormA2','FormB3','FormC1','FormC2','FormC3']) + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'First': 'Yes', + 'A1': 'xa1', + 'A2': 'a2', + 'A3': 'xa3', + 'B1': 'xb1', + 'B2': 'xb2', + 'B3': 'b3', + 'C1': 'c1', + 'C2': 'c2', + 'C3': 'c3', + 'D': 'd'}, + + self.workflow.last_task.data) + + + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTestNestedParallel) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenParallelMatrixTest.py b/tests/SpiffWorkflow/camunda/ResetTokenParallelMatrixTest.py new file mode 100644 index 000000000..a5cb0af0b --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenParallelMatrixTest.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ResetTokenTestParallelMatrix(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_parallel_matrix.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def testRunThroughHappyAlt(self): + self.actual_test2(save_restore=False) + + def testRunThroughSaveRestoreAlt(self): + self.actual_test2(save_restore=True) + + + + def actual_test(self, save_restore=False,reset_data=False): + """ + Test a complicated parallel matrix, complete the matrix and + Reset somewhere in the middle. It should complete the row that we + Reset to, and retain all previous answers. + """ + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + {'taskname': 'FormB1', + 'formvar': 'B1', + 'answer': 'xb1'}, + {'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'xb2'}, + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'xb3'}, + {'taskname': 'FormC1', + 'formvar': 'C1', + 'answer': 'xc1'}, + {'taskname': 'FormC2', + 'formvar': 'C2', + 'answer': 'xc2'}, + {'taskname': 'FormC3', + 'formvar': 'C3', + 'answer': 'xc3'}, + + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormB2': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'b2'}, + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'b3'}, + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'First': 'Yes', + 'A1': 'xa1', + 'A2': 'xa2', + 'A3': 'xa3', + 'B1': 'xb1', + 'B2': 'b2', + 'B3': 'b3', + 'C1': 'xc1', + 'C2': 'xc2', + 'C3': 'xc3', + 'D': 'd'}, + + self.workflow.last_task.data) + + + def actual_test2(self, save_restore=False,reset_data=False): + """ + Test a complicated parallel matrix, + Complete several items in the parallel matrix, but do not complete it, + Reset to a previous version on another branch of the parallel, it should + complete that branch and then pick up where we left off. + Also, after we reset the branch, there should then be three tasks ready, + A2,B3,and C1 + """ + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + {'taskname': 'FormB1', + 'formvar': 'B1', + 'answer': 'xb1'}, + {'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'xb2'}, + + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA2': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'a2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'a3'}, + + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'b3'}, + {'taskname': 'FormC1', + 'formvar': 'C1', + 'answer': 'c1'}, + {'taskname': 'FormC2', + 'formvar': 'C2', + 'answer': 'c2'}, + {'taskname': 'FormC3', + 'formvar': 'C3', + 'answer': 'c3'}, + + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + readytasks = [t.task_spec.name for t in self.workflow.get_ready_user_tasks()] + self.assertEqual(readytasks,['FormA2','FormB3','FormC1']) + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'First': 'Yes', + 'A1': 'xa1', + 'A2': 'a2', + 'A3': 'a3', + 'B1': 'xb1', + 'B2': 'xb2', + 'B3': 'b3', + 'C1': 'c1', + 'C2': 'c2', + 'C3': 'c3', + 'D': 'd'}, + + self.workflow.last_task.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTestParallelMatrix) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenParallelTaskCountTest.py b/tests/SpiffWorkflow/camunda/ResetTokenParallelTaskCountTest.py new file mode 100644 index 000000000..04eb7cf97 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenParallelTaskCountTest.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ResetTokenParallelTaskCountTest(BaseTestCase): + """Assure that setting the token does not effect the overall task + count. Added this when we discovered that this was growing + exponentially in some cases..""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_parallel_simple.bpmn', 'token_trial_parallel_simple') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self, save_restore=False): + total = 10 # I would expect there to be 9 tasks, but we get 10. + + # Set the workflow in motion, and assure we have the right + # number of tasks + + self.workflow.do_engine_steps() + self.assertEquals(total, len(self.workflow.get_tasks())) + + # Tell the exclusive gateway to skip the parallel tasks section. + # We should still have the same number of tasks. + data = {'skipParallel': True} + task = self.workflow.get_ready_user_tasks()[0] + task.data = data + self.workflow.complete_task_from_id(task.id) + self.assertEquals(total, len(self.workflow.get_tasks())) + + # Reset the token to the first user task. + # We should still have the same number of tasks. + self.workflow.task_tree.dump() + task.reset_token({}, reset_data=True) + print('=-----') + self.workflow.task_tree.dump() + self.assertEquals(total, len(self.workflow.get_tasks())) + self.assertEquals(1, len(self.workflow.get_ready_user_tasks())) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenParallelTaskCountTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenSubWorkflowTest.py b/tests/SpiffWorkflow/camunda/ResetTokenSubWorkflowTest.py new file mode 100644 index 000000000..f9236c88f --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenSubWorkflowTest.py @@ -0,0 +1,196 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + +class ResetTokenTestSubProcess(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial_subprocess.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self, save_restore=False): + """ + Test a complicated parallel matrix, complete the matrix and + Reset somewhere in the middle. It should complete the row that we + Reset to, and retain all previous answers. + """ + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + ] + + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA1': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'a1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'a2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'a3'}, + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'First': 'Yes', + 'A1': 'a1', + 'A2': 'a2', + 'A3': 'a3', + 'D': 'd'}, + + self.workflow.last_task.data) + + + def actual_test2(self, save_restore=False,reset_data=False): + """ + Test a complicated parallel matrix, + Complete several items in the parallel matrix, but do not complete it, + Reset to a previous version on another branch of the parallel, it should + complete that branch and then pick up where we left off. + Also, after we reset the branch, there should then be three tasks ready, + A2,B3,and C1 + """ + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'First', + 'answer': 'Yes'}, + {'taskname': 'FormA1', + 'formvar': 'A1', + 'answer': 'xa1'}, + {'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'xa2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'xa3'}, + {'taskname': 'FormB1', + 'formvar': 'B1', + 'answer': 'xb1'}, + {'taskname': 'FormB2', + 'formvar': 'B2', + 'answer': 'xb2'}, + ] + + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None and step['taskname']=='FormA2': + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + #NB - this won't test random access + steps = [{'taskname': 'FormA2', + 'formvar': 'A2', + 'answer': 'a2'}, + {'taskname': 'FormA3', + 'formvar': 'A3', + 'answer': 'a3'}, + + {'taskname': 'FormB3', + 'formvar': 'B3', + 'answer': 'b3'}, + {'taskname': 'FormC1', + 'formvar': 'C1', + 'answer': 'c1'}, + {'taskname': 'FormC2', + 'formvar': 'C2', + 'answer': 'c2'}, + {'taskname': 'FormC3', + 'formvar': 'C3', + 'answer': 'c3'}, + + {'taskname': 'FormD', + 'formvar': 'D', + 'answer': 'd'}, + ] + readytasks = [t.task_spec.name for t in self.workflow.get_ready_user_tasks()] + self.assertEqual(readytasks,['FormA2','FormB3','FormC1']) + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'First': 'Yes', + 'A1': 'xa1', + 'A2': 'a2', + 'A3': 'a3', + 'B1': 'xb1', + 'B2': 'xb2', + 'B3': 'b3', + 'C1': 'c1', + 'C2': 'c2', + 'C3': 'c3', + 'D': 'd'}, + + self.workflow.last_task.data) + + + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTestSubProcess) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/ResetTokenTest.py b/tests/SpiffWorkflow/camunda/ResetTokenTest.py new file mode 100644 index 000000000..555e2068c --- /dev/null +++ b/tests/SpiffWorkflow/camunda/ResetTokenTest.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + + +class ResetTokenTest(BaseTestCase): + """The example bpmn diagram tests both a set cardinality from user input + as well as looping over an existing array.""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('token_trial.bpmn', 'token') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testRunThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def testRunThroughHappyReset(self): + self.actual_test(save_restore=False,reset_data=True,expected={'do_step':False,'C':'c'}) + + def testRunThroughSaveRestoreReset(self): + self.actual_test(save_restore=True,reset_data=True,expected={'do_step':False,'C':'c'}) + + + + def actual_test(self, save_restore=False, reset_data=False, expected=None): + + if expected is None: + expected = {'do_step': False, 'A': 'a', 'B': 'b', 'C': 'c'} + + self.workflow.do_engine_steps() + firsttaskid = None + steps = [{'taskname':'First', + 'formvar': 'do_step', + 'answer': True}, + {'taskname': 'FormA', + 'formvar': 'A', + 'answer': 'a'}, + {'taskname': 'FormB', + 'formvar': 'B', + 'answer': 'b'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + if firsttaskid == None: + firsttaskid = task.id + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.workflow.reset_task_from_id(firsttaskid) + steps = [{'taskname':'First', + 'formvar': 'do_step', + 'answer': False}, + {'taskname': 'FormC', + 'formvar': 'C', + 'answer': 'c'}, + ] + for step in steps: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual(step['taskname'], task.task_spec.name) + task.update_data({step['formvar']: step['answer']}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertTrue(self.workflow.is_completed()) + + self.assertEqual({'do_step':False,'A':'a','B':'b','C':'c'}, + self.workflow.last_task.data) + + + + + + + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ResetTokenTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/StartMessageEventTest.py b/tests/SpiffWorkflow/camunda/StartMessageEventTest.py new file mode 100644 index 000000000..a96d2e422 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/StartMessageEventTest.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +import unittest + +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from .BaseTestCase import BaseTestCase +__author__ = 'kellym' + + +class StartMessageTest(BaseTestCase): + + def setUp(self): + self.spec, self.subprocesses = self.load_workflow_spec('message_test.bpmn', 'ThrowCatch') + self.workflow = BpmnWorkflow(self.spec, self.subprocesses) + + def testRunThroughHappy(self): + self.actual_test(save_restore=False) + + def testThroughSaveRestore(self): + self.actual_test(save_restore=True) + + def actual_test(self,save_restore = False): + steps = [('Activity_EnterPlan',{'plan_details':'Bad'}), + ('Activity_ApproveOrDeny', {'approved':'No'}), + ('Activity_EnterPlan', {'plan_details':'Better'}), + ('Activity_ApproveOrDeny', {'approved':'No'}), + ('Activity_EnterPlan', {'plan_details':'Best'}), + ('Activity_ApproveOrDeny', {'approved':'Yes'}), + ('Activity_EnablePlan',{'Done':'OK!'})] + self.workflow.do_engine_steps() # get around start task + ready_tasks = self.workflow.get_tasks(TaskState.READY) + waiting_tasks = self.workflow.get_tasks(TaskState.WAITING) + self.assertEqual(1, len(ready_tasks),'Expected to have one ready task') + self.assertEqual(1, len(waiting_tasks), 'Expected to have one waiting task') + + for step in steps: + current_task = ready_tasks[0] + self.assertEqual(current_task.task_spec.name,step[0]) + current_task.update_data(step[1]) + current_task.complete() + self.workflow.do_engine_steps() + self.workflow.refresh_waiting_tasks() + if save_restore: + self.save_restore() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + + self.assertEqual(self.workflow.is_completed(),True,'Expected the workflow to be complete at this point') + self.assertEqual(self.workflow.last_task.data, + { + 'plan_details': 'Best', + 'ApprovalResult': 'Yes', + 'Done': 'OK!' + }) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(StartMessageTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/SubWorkflowTest.py b/tests/SpiffWorkflow/camunda/SubWorkflowTest.py new file mode 100644 index 000000000..75331022e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/SubWorkflowTest.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +import unittest +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + +__author__ = 'kellym' + + +class SubWorkflowTest(BaseTestCase): + """The tests a somewhat complex subworkflow and verifies that it does + what we expect""" + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('subWorkflowComplex.bpmn', 'SubWorkflow') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + self.answers = ['A','A1','A2','B'] + + def testRunThroughHappy(self): + self.actual_test(False) + + def testRunThroughSaveRestore(self): + self.actual_test(True) + + def actual_test(self, save_restore=False): + + # Set initial array size to 3 in the first user form. + for answer in self.answers: + task = self.workflow.get_ready_user_tasks()[0] + self.assertEqual("Activity_"+answer, task.task_spec.name) + task.update_data({"Field"+answer: answer}) + self.workflow.complete_task_from_id(task.id) + self.workflow.do_engine_steps() + if save_restore: self.save_restore() + + self.assertEqual(self.workflow.last_task.data,{'FieldA': 'A', + 'FieldA1': 'A1', + 'FieldA2': 'A2', + 'FieldB': 'B'}) + self.assertTrue(self.workflow.is_completed()) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(SubWorkflowTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/__init__.py b/tests/SpiffWorkflow/camunda/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/camunda/data/CustomScript.bpmn b/tests/SpiffWorkflow/camunda/data/CustomScript.bpmn new file mode 100644 index 000000000..586ff2a58 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/CustomScript.bpmn @@ -0,0 +1,63 @@ + + + + + Flow_0k348ph + + + + Flow_0k348ph + Flow_03rcoxc + a = my_custom_function("bill") + + + Flow_02v0zk5 + Flow_0pvahf7 + + + + Flow_0pvahf7 + + + + + Flow_03rcoxc + Flow_02v0zk5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/DMNMultiInstance.bpmn b/tests/SpiffWorkflow/camunda/data/DMNMultiInstance.bpmn new file mode 100644 index 000000000..ddf2c44e5 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/DMNMultiInstance.bpmn @@ -0,0 +1,105 @@ + + + + + Flow_1b29lxw + + + Flow_0fusz9y + + + + Flow_0z7tfh1 + SequenceFlow_06fnqj2 + + + + + + Flow_066d5e1 + Flow_0fusz9y + print('EndScript') +print(stuff) + + + + This is a test +of documentation + Flow_1b29lxw + Flow_09ciw49 + stuff={'A': {'x': 3}, + 'B': {'x': 4}, + 'C': {'x': 5}, + 'D': {'x': 6}, + 'E': {'x': 7}} + + + + Flow_09ciw49 + Flow_0z7tfh1 + + + + SequenceFlow_06fnqj2 + Flow_066d5e1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/ExclusiveGatewayIfElseAndDecision.bpmn b/tests/SpiffWorkflow/camunda/data/ExclusiveGatewayIfElseAndDecision.bpmn new file mode 100644 index 000000000..1d72c93d8 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/ExclusiveGatewayIfElseAndDecision.bpmn @@ -0,0 +1,112 @@ + + + + + SequenceFlow_0b7whlk + + + SequenceFlow_15emspo + + + SequenceFlow_0b7whlk + SequenceFlow_15emspo + SequenceFlow_030p6mf + SequenceFlow_14jk7cm + + + SequenceFlow_030p6mf + + + + x==1 + + + x==2 + + + SequenceFlow_06fnqj2 + + + + + SequenceFlow_14jk7cm + SequenceFlow_06fnqj2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/MessageBoundary.bpmn b/tests/SpiffWorkflow/camunda/data/MessageBoundary.bpmn new file mode 100644 index 000000000..5966e0fdb --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/MessageBoundary.bpmn @@ -0,0 +1,243 @@ + + + + + + + + + Event_0d3xq5q + Activity_Interrupt + Gateway_0ncff13 + Event_0l8sadb + Event_0g8w85g + + + Event_12moz8m + Event_0j702hl + Activity_1m4766l + Event_InterruptBoundary + + + + Flow_0bvln2b + + + + + + + + + Flow_0bvln2b + Flow_1t2ocwk + Flow_1ya6ran + + + Flow_1ya6ran + Flow_0saykw5 + Flow_1t2ocwk + + + + interrupt_task == 'Yes' + + + Flow_0saykw5 + Flow_0lekhj5 + + + + Flow_0lekhj5 + + + + + Flow_1gd7a2h + + + + + + Flow_0o0l113 + Flow_093roev + + + Flow_1gd7a2h + Flow_093roev + + Flow_1gs89vo + + + Flow_1gs89vo + Flow_0wuxluk + Flow_11u0pgk + + + + Flow_11u0pgk + Flow_1rqk2v9 + + timedelta(seconds=.01) + + + + + Flow_1rqk2v9 + Flow_18d90uu + Flow_0wuxluk + + + Flow_18d90uu + + + False + + + + + + Flow_0o0l113 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/call_activity_with_message.bpmn b/tests/SpiffWorkflow/camunda/data/call_activity_with_message.bpmn new file mode 100644 index 000000000..60d6107e5 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/call_activity_with_message.bpmn @@ -0,0 +1,110 @@ + + + + + Flow_0za7l4k + + + + + + + + + Flow_0za7l4k + Flow_No + Flow_1watnli + + + + Flow_17adrta + Flow_00cg7b6 + + + + + Flow_00cg7b6 + Flow_No + Flow_Yes + + + + + Approved == "Yes" + + + Flow_Yes + + + + Flow_1watnli + Flow_17adrta + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/call_activity_with_message_parent.bpmn b/tests/SpiffWorkflow/camunda/data/call_activity_with_message_parent.bpmn new file mode 100644 index 000000000..7737ec0c4 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/call_activity_with_message_parent.bpmn @@ -0,0 +1,138 @@ + + + + + + + + + Activity_ApproveOrDeny + Event_Send_Approval_Response + Event_EndEvent1 + Event_Get_Approval_Request + + + Event_NormalStart + Activity_EnablePlan + Event_EndEvent2 + Activity_RequestApproval + + + + + + + + + Flow_1pfh6m0 + Flow_1ndkq1b + + + Flow_1ndkq1b + Flow_1qnods2 + + + + Flow_1qnods2 + + + + + + Flow_087wt6r + + + + + + + + + + Flow_01vvra7 + Flow_1afin8v + + + + Flow_1afin8v + + + + Flow_1pfh6m0 + + + + Flow_087wt6r + Flow_01vvra7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/common_workflow.bpmn b/tests/SpiffWorkflow/camunda/data/common_workflow.bpmn new file mode 100644 index 000000000..3902b9b4a --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/common_workflow.bpmn @@ -0,0 +1,89 @@ + + + + + Flow_0xpz6la + Flow_03yam6h + my_custom_function('test 1 from common workflow') + + + Flow_1jz376x + + + + + + + + + Flow_03yam6h + Flow_0pc6yx9 + + + + Flow_0pc6yx9 + Flow_16t7ue6 + my_custom_function('test 2 from common workflow') + + + + + + + + + + + + + Flow_16t7ue6 + Flow_1jz376x + + + Flow_0xpz6la + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/default_gateway_pmi.bpmn b/tests/SpiffWorkflow/camunda/data/default_gateway_pmi.bpmn new file mode 100644 index 000000000..d98baf5d8 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/default_gateway_pmi.bpmn @@ -0,0 +1,89 @@ + + + + + Flow_1wis1un + + + + + + + + Flow_1wis1un + Flow_144jxvd + + + + Flow_144jxvd + Flow_1riszc2 + Flow_0xdvee4 + + + + + Flow_13ncefd + Flow_0xdvee4 + + + + + + + + + Flow_1riszc2 + Flow_13ncefd + + 3 + + + + morestuff == 'No' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/CustomScript.dmn b/tests/SpiffWorkflow/camunda/data/dmn/CustomScript.dmn new file mode 100644 index 000000000..514ea4071 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/CustomScript.dmn @@ -0,0 +1,44 @@ + + + + + + + my_custom_function('bill') + + + + + + 'BILL' + + + my_custom_function('bill') + + + + + my_custom_function('jane') + + + my_custom_function('jane') + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/dmndict.dmn b/tests/SpiffWorkflow/camunda/data/dmn/dmndict.dmn new file mode 100644 index 000000000..2670ed14c --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/dmndict.dmn @@ -0,0 +1,61 @@ + + + + + + + inputvar + + + + + + + + + + + + 1 + + + + + + 'yup it worked' + + + "yes" + + + + + 2 + + + + + + 'didnt expect this' + + + "No" + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/invalid_decision.dmn b/tests/SpiffWorkflow/camunda/data/dmn/invalid_decision.dmn new file mode 100644 index 000000000..cbafd50c1 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/invalid_decision.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + spam + + + + + This is complletely wrong. + + mGender Description + = 1 + + + "wrong" + + + + so is this. + + >= 100 + + + "My cat's breath smells like cat food." + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision.dmn b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision.dmn new file mode 100644 index 000000000..8f85db1b1 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision.dmn @@ -0,0 +1,49 @@ + + + + + + + + + + + + A Annotation + + 3 + + + "A" + + + + B Annotation + + 4 + + + "B" + + + + C Annotation + + 5 + + + "C" + + + + D Annotation + + >= 6 + + + "D" + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_feel.dmn b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_feel.dmn new file mode 100644 index 000000000..8f85db1b1 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_feel.dmn @@ -0,0 +1,49 @@ + + + + + + + + + + + + A Annotation + + 3 + + + "A" + + + + B Annotation + + 4 + + + "B" + + + + C Annotation + + 5 + + + "C" + + + + D Annotation + + >= 6 + + + "D" + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_multi.dmn b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_multi.dmn new file mode 100644 index 000000000..7565b4c0e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmn/test_integer_decision_multi.dmn @@ -0,0 +1,49 @@ + + + + + + + item.x + + + + + A Annotation + + 3 + + + "A" + + + + B Annotation + + 4 + + + "B" + + + + C Annotation + + 5 + + + "C" + + + + D Annotation + + >= 6 + + + "D" + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/dmndict.bpmn b/tests/SpiffWorkflow/camunda/data/dmndict.bpmn new file mode 100644 index 000000000..4778f57b3 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/dmndict.bpmn @@ -0,0 +1,64 @@ + + + + + Flow_0k348ph + + + + Flow_132mhgo + Flow_03rcoxc + pi = {'test':{'me':'stupid var'}} +inputvar = 1 + + + Flow_03rcoxc + Flow_0pvahf7 + + + + Flow_0pvahf7 + + + + + Flow_0k348ph + Flow_132mhgo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/exclusive_gateway_pmi.bpmn b/tests/SpiffWorkflow/camunda/data/exclusive_gateway_pmi.bpmn new file mode 100644 index 000000000..4acb9f8e3 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/exclusive_gateway_pmi.bpmn @@ -0,0 +1,94 @@ + + + + + Flow_1wis1un + + + + + + + + Flow_1wis1un + Flow_144jxvd + + + + Flow_144jxvd + Flow_1riszc2 + Flow_0xdvee4 + + + + morestuff == 'Yes' + + + Flow_13ncefd + Flow_0xdvee4 + + + + + + + + + Flow_1riszc2 + Flow_13ncefd + + 3 + + + + morestuff == 'No' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/external_message.bpmn b/tests/SpiffWorkflow/camunda/data/external_message.bpmn new file mode 100644 index 000000000..ce3a8f5a0 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/external_message.bpmn @@ -0,0 +1,109 @@ + + + + + Flow_1a0tyih + + + + + + + + Flow_081mykh + Flow_08pe1c9 + + + + Flow_18jn2xj + + + + Flow_18jn2xj + Flow_0q62iou + caughtinterrupt = True + + + + Flow_1pv9l9r + + + + + Flow_1a0tyih + Flow_1pv9l9r + Flow_081mykh + caughtinterrupt = False + + + + + + + + + Flow_0q62iou + + + + Flow_08pe1c9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/invalid/InvalidDecision.bpmn b/tests/SpiffWorkflow/camunda/data/invalid/InvalidDecision.bpmn new file mode 100644 index 000000000..56b4c1c1e --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/invalid/InvalidDecision.bpmn @@ -0,0 +1,112 @@ + + + + + SequenceFlow_0b7whlk + + + SequenceFlow_06fnqj2 + + + + SequenceFlow_14jk7cm + SequenceFlow_06fnqj2 + + + SequenceFlow_15emspo + + + SequenceFlow_030p6mf + + + SequenceFlow_0b7whlk + SequenceFlow_14jk7cm + SequenceFlow_15emspo + SequenceFlow_030p6mf + + + + x==1 + + + + x==2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/message_test.bpmn b/tests/SpiffWorkflow/camunda/data/message_test.bpmn new file mode 100644 index 000000000..2f7565067 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/message_test.bpmn @@ -0,0 +1,210 @@ + + + + + + + + + Activity_ApproveOrDeny + SendDecision + Event_EndEvent2 + StartApprovalProcess + + + Event_NormalStart + SendApprovalRequest + GetDecision + Gateway_Approved + Activity_EnterPlan + Activity_EnablePlan + Event_EndEvent1 + + + + Flow_060cfic + + + Flow_1nsjil4 + Flow_1t3bhky + + + + Flow_1t3bhky + Flow_1jdfc06 + + + + Flow_1jdfc06 + Flow_0jqxt85 + Flow_1tfirpy + + + + + + + ApprovalResult=="Yes" + + + + + + + + + + + Flow_1ym5g7r + Flow_0m1dzpq + + + + + + + + + Flow_1tfirpy + Flow_060cfic + Flow_1nsjil4 + + + + Flow_0m1dzpq + Flow_0abuvsx + + + + Flow_0abuvsx + + + Flow_1ym5g7r + + + + + + + + + Flow_0jqxt85 + Flow_1ync7ek + + + Flow_1ync7ek + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/multi_instance_array.bpmn b/tests/SpiffWorkflow/camunda/data/multi_instance_array.bpmn new file mode 100644 index 000000000..f37b7e525 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/multi_instance_array.bpmn @@ -0,0 +1,99 @@ + + + + + Flow_0bplvtg + + + Please enter family size: + + + + + + + + + + + + + + + + + + + + Flow_0bplvtg + Flow_0zpm0rc + + + + Please enter information for family member {{ FamilyMember }}: + + + + + + Flow_0zpm0rc + Flow_0659lqh + + Family.Size + + + + + Enter Birthday for {{ CurrentFamilyMember['FamilyMember.FormField_FirstName'] }} + + + + + + Flow_0659lqh + Flow_0ncqf54 + + + + + + XXX + Flow_0ncqf54 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/multi_instance_array_parallel.bpmn b/tests/SpiffWorkflow/camunda/data/multi_instance_array_parallel.bpmn new file mode 100644 index 000000000..fbcd2cf1d --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/multi_instance_array_parallel.bpmn @@ -0,0 +1,99 @@ + + + + + Flow_0bplvtg + + + Please enter family size: + + + + + + + + + + + + + + + + Flow_0bplvtg + Flow_0zpm0rc + + + + Please enter information for family member {{ FamilyMember }}: + + + + + + Flow_0zpm0rc + Flow_0659lqh + + FamilySize + + + + + Enter Birthday for {{ CurrentFamilyMember['FamilyMember.FormField_FirstName'] }} + + + + + + Flow_0659lqh + Flow_0ncqf54 + + FamilyMembers + + + + + + XXX + Flow_0ncqf54 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/multi_instance_parallel_deep_data_edit.bpmn b/tests/SpiffWorkflow/camunda/data/multi_instance_parallel_deep_data_edit.bpmn new file mode 100644 index 000000000..7ce994be9 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/multi_instance_parallel_deep_data_edit.bpmn @@ -0,0 +1,66 @@ + + + + + Flow_0t6p1sb + + + + Flow_0ugjw69 + + + + # Please provide addtional information about: +## Investigator ID: {{investigator.user_id}} +## Role: {{investigator.type_full}} + + + + + + SequenceFlow_1p568pp + Flow_0ugjw69 + + + + + Imagine a script task here that loads a complex data set. + Flow_0t6p1sb + SequenceFlow_1p568pp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/no_form.bpmn b/tests/SpiffWorkflow/camunda/data/no_form.bpmn new file mode 100644 index 000000000..20dfc7f5f --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/no_form.bpmn @@ -0,0 +1,54 @@ + + + + + SequenceFlow_0ik56h0 + + + + + + + + + SequenceFlow_0ik56h0 + SequenceFlow_1de4q40 + + + SequenceFlow_1de4q40 + + + + This is a user task with no form in it, It should not error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/noninterrupting-MessageBoundary.bpmn b/tests/SpiffWorkflow/camunda/data/noninterrupting-MessageBoundary.bpmn new file mode 100644 index 000000000..3ea3f311f --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/noninterrupting-MessageBoundary.bpmn @@ -0,0 +1,287 @@ + + + + + + + + + Event_12moz8m + Gateway_0mlgg9d + Activity_WorkLateReason + Event_1w6cide + Activity_1m4766l + Event_InterruptBoundary + + + Event_0d3xq5q + Activity_WorkLate + Gateway_0ncff13 + Event_0g8w85g + Event_0l8sadb + + + + Flow_0bvln2b + + + + + + + + Flow_0bvln2b + Flow_1t2ocwk + Flow_1ya6ran + + + Flow_1ya6ran + Flow_0saykw5 + Flow_1t2ocwk + + + Flow_0saykw5 + Flow_0lekhj5 + + + + Flow_0lekhj5 + + + Flow_1gd7a2h + + + Flow_1g8u810 + Flow_1firdqj + Flow_10gq9an + + + + + + + + Flow_0o0l113 + Flow_1g8u810 + + + Flow_10gq9an + + + Flow_1gd7a2h + Flow_1firdqj + + Flow_1gs89vo + + + + + Flow_11u0pgk + Flow_18d90uu + Flow_0wuxluk + + + Flow_1x6ji2h + + + work_done == 'Yes' + + + + + + + + + Flow_1gs89vo + Flow_0wuxluk + Flow_11u0pgk + + + + + + + + + Flow_18d90uu + Flow_1x6ji2h + + + + Flow_0o0l113 + + + + + + + + flag_task == 'Yes' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/random_fact.bpmn b/tests/SpiffWorkflow/camunda/data/random_fact.bpmn new file mode 100644 index 000000000..db4eec0b1 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/random_fact.bpmn @@ -0,0 +1,96 @@ + + + + + SequenceFlow_0ik56h0 + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_0ik56h0 + SequenceFlow_1wl4cli + + + + + + + + SequenceFlow_1wl4cli + Flow_1wgkcv6 + scripts.FactService + + + + Flow_1wgkcv6 + + + + User sets the Fact.type to cat, norris, or buzzword + + + + Makes an API  call to get a fact of the required type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/random_fact.svg b/tests/SpiffWorkflow/camunda/data/random_fact.svg new file mode 100644 index 000000000..3078ea0e3 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/random_fact.svg @@ -0,0 +1,4 @@ + + + +Set TypeDisplay FactUser sets the Fact.type to cat,norris, or buzzwordMakes an API call to get a factof the required type. \ No newline at end of file diff --git a/tests/SpiffWorkflow/camunda/data/subWorkflowComplex.bpmn b/tests/SpiffWorkflow/camunda/data/subWorkflowComplex.bpmn new file mode 100644 index 000000000..5f8651526 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/subWorkflowComplex.bpmn @@ -0,0 +1,162 @@ + + + + + Flow_1 + + + Flow_1 + Flow_4 + + Flow_2 + + + + Enter Form1 + + + + + + Flow_2 + Flow_0j8meqp + + + + + Enter Form A1 + + + + + + Flow_1jbvpss + Flow_1w00bbg + + + + Enter Form A2 + + + + + + Flow_0vl1ixa + Flow_0kzcljc + + + + + Flow_1cnvx4h + + + + Flow_0j8meqp + Flow_1jbvpss + Flow_0vl1ixa + + + Flow_1w00bbg + Flow_0kzcljc + Flow_1cnvx4h + + + + + + Enter form 2 + + + + + + Flow_4 + Flow_5 + + + Flow_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial.bpmn new file mode 100644 index 000000000..89cc6dc0b --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial.bpmn @@ -0,0 +1,144 @@ + + + + + Flow_03vnrmv + + + Flow_0g2wjhu + Flow_0ya87hl + Flow_1qgke9w + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_13qpm6f + + + + Flow_13qpm6f + Flow_04bpvfu + Flow_0g2wjhu + + + Yes + + + do_step == True + + + do_step== False + + + + + + FormA + + + + + + Flow_04bpvfu + Flow_0ahlz50 + + + FormB + + + + + + Flow_0ahlz50 + Flow_0ya87hl + + + FormC + + + + + + Flow_1qgke9w + Flow_039y4lk + + + + Flow_039y4lk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_MI.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_MI.bpmn new file mode 100644 index 000000000..368cd4f08 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_MI.bpmn @@ -0,0 +1,83 @@ + + + + + Flow_03vnrmv + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_10pdq2v + + + FormC + + + + + + Flow_0ztfesh + Flow_039y4lk + + + + Flow_039y4lk + + + + MI item + + + + + + Flow_10pdq2v + Flow_0ztfesh + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_MIParallel.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_MIParallel.bpmn new file mode 100644 index 000000000..3e2f1b19b --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_MIParallel.bpmn @@ -0,0 +1,83 @@ + + + + + Flow_03vnrmv + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_10pdq2v + + + FormC + + + + + + Flow_0ztfesh + Flow_039y4lk + + + + Flow_039y4lk + + + + MI item + + + + + + Flow_10pdq2v + Flow_0ztfesh + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_camunda_clash.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_camunda_clash.bpmn new file mode 100644 index 000000000..ee11331ba --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_camunda_clash.bpmn @@ -0,0 +1,142 @@ + + + + + Flow_03vnrmv + + + Flow_0g2wjhu + Flow_0ya87hl + Flow_1qgke9w + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_13qpm6f + + + + Flow_13qpm6f + Flow_04bpvfu + Flow_0g2wjhu + + + Yes + do_step == True + + + do_step== False + + + + + + FormA + + + + + + Flow_04bpvfu + Flow_0ahlz50 + + + FormB + + + + + + Flow_0ahlz50 + Flow_0ya87hl + + + FormC + + + + + + Flow_1qgke9w + Flow_039y4lk + + + + Flow_039y4lk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_nested_parallel.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_nested_parallel.bpmn new file mode 100644 index 000000000..1ff66eaa9 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_nested_parallel.bpmn @@ -0,0 +1,402 @@ + + + + + Flow_03vnrmv + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_10pdq2v + + + FormD + + + + + + Flow_08nd97v + Flow_039y4lk + + + + Flow_039y4lk + + + + + + Flow_10pdq2v + Flow_0rg1whs + Flow_0pyul3k + Flow_1l934p1 + + + Flow_093ce35 + Flow_0c4mntn + Flow_0knduft + Flow_08nd97v + + + FormA1 + + + + + + Flow_1uw6r98 + Flow_0n71r7a + + + FormA2 + + + + + + Flow_1rihpzh + Flow_0p30bun + + + FormA3 + + + + + + Flow_0098ozb + Flow_04lzszv + + + FormB1 + + + + + + Flow_1tpkm1k + Flow_0zndavy + + + FormB2 + + + + + + Flow_0oz5j4d + Flow_1u9tezs + + + FormB3 + + + + + + Flow_11diihw + Flow_1xgsff0 + + + FormC1 + + + + + + Flow_04yup8h + Flow_0v6ozza + + + FormC2 + + + + + + Flow_1ay413y + Flow_1d1kroa + + + FormC3 + + + + + + Flow_0etaqvr + Flow_0kahsqi + + + Flow_0rg1whs + Flow_1uw6r98 + Flow_1rihpzh + Flow_0098ozb + + + Flow_0n71r7a + Flow_0p30bun + Flow_04lzszv + Flow_0c4mntn + + + + + + + + + + Flow_0pyul3k + Flow_1tpkm1k + Flow_0oz5j4d + Flow_11diihw + + + Flow_0zndavy + Flow_1u9tezs + Flow_1xgsff0 + Flow_093ce35 + + + + + + + + + + + + Flow_1l934p1 + Flow_04yup8h + Flow_1ay413y + Flow_0etaqvr + + + Flow_0v6ozza + Flow_1d1kroa + Flow_0kahsqi + Flow_0knduft + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_parallel_matrix.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_parallel_matrix.bpmn new file mode 100644 index 000000000..276897834 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_parallel_matrix.bpmn @@ -0,0 +1,272 @@ + + + + + Flow_03vnrmv + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_10pdq2v + + + FormD + + + + + + Flow_08nd97v + Flow_039y4lk + + + + Flow_039y4lk + + + + + + Flow_10pdq2v + Flow_0fme0gm + Flow_0cmqr9j + Flow_0dv8nod + + + Flow_1pf4svr + Flow_0y1tqui + Flow_1h5wu4u + Flow_08nd97v + + + + + FormA1 + + + + + + Flow_0fme0gm + Flow_05w8299 + + + FormA2 + + + + + + Flow_05w8299 + Flow_16gvr7i + + + + FormA3 + + + + + + Flow_16gvr7i + Flow_1pf4svr + + + + FormB1 + + + + + + Flow_0cmqr9j + Flow_0ae6rzq + + + FormB2 + + + + + + Flow_0ae6rzq + Flow_0643kan + + + FormB3 + + + + + + Flow_0643kan + Flow_0y1tqui + + + + + + + FormC1 + + + + + + Flow_0dv8nod + Flow_0mtw6yv + + + FormC2 + + + + + + Flow_0mtw6yv + Flow_0rqbd7e + + + FormC3 + + + + + + Flow_0rqbd7e + Flow_1h5wu4u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_parallel_simple.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_parallel_simple.bpmn new file mode 100644 index 000000000..5c3658575 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_parallel_simple.bpmn @@ -0,0 +1,216 @@ + + + + + Flow_1w2tcdp + + + Flow_1vtdwmy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_1242uxm + SequenceFlow_09c4dnr + + + #### Please plan to ensure adequate supplies for staff cleaning before and after patients + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_1ylxjys + SequenceFlow_0rwnquq + + + Flow_0f6q83k + SequenceFlow_1242uxm + SequenceFlow_1ylxjys + + + + + SequenceFlow_09c4dnr + SequenceFlow_0rwnquq + SequenceFlow_00fpfhi + + + + + + SequenceFlow_00fpfhi + Flow_0wycgzo + Flow_1vtdwmy + + + Flow_00zjlx7 + Flow_0f6q83k + Flow_0wycgzo + + + skipParallel == False + + + skipParallel == True + + + + + Flow_1w2tcdp + Flow_00zjlx7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/token_trial_subprocess.bpmn b/tests/SpiffWorkflow/camunda/data/token_trial_subprocess.bpmn new file mode 100644 index 000000000..20610a94c --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/token_trial_subprocess.bpmn @@ -0,0 +1,151 @@ + + + + + Flow_03vnrmv + + + Do you want to do the next steps? + + + + + + Flow_03vnrmv + Flow_13362mb + + + FormD + + + + + + Flow_0e9x16w + Flow_039y4lk + + + + Flow_039y4lk + + + + Flow_13362mb + Flow_0e9x16w + + Flow_1sy7h5y + + + FormA1 + + + + + + Flow_1sy7h5y + Flow_0f89gdk + + + FormA2 + + + + + + Flow_0f89gdk + Flow_0nudpra + + + FormA3 + + + + + + Flow_0nudpra + Flow_0zucva0 + + + + + + Flow_0zucva0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/data/top_workflow.bpmn b/tests/SpiffWorkflow/camunda/data/top_workflow.bpmn new file mode 100644 index 000000000..c36573741 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/data/top_workflow.bpmn @@ -0,0 +1,64 @@ + + + + + Flow_1xegt6f + + + + + Flow_0qc6vpv + + + + + Flow_1xegt6f + Flow_11qyfqv + my_custom_function('test 1 from top workflow') + + + Flow_11qyfqv + Flow_0hntmrc + + + Flow_0hntmrc + Flow_0qc6vpv + my_custom_function('test 2 from top workflow') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/camunda/serializer/CamundaExtensionsTest.py b/tests/SpiffWorkflow/camunda/serializer/CamundaExtensionsTest.py new file mode 100644 index 000000000..902a911e6 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/serializer/CamundaExtensionsTest.py @@ -0,0 +1,33 @@ +import unittest + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + + +class CamundaExtensionsTest(BaseTestCase): + + def setUp(self): + spec, subprocesses = self.load_workflow_spec('random_fact.bpmn', 'random_fact') + self.workflow = BpmnWorkflow(spec, subprocesses) + + def testExtensionsAreSerialized(self): + self.assertMyExtension() + self.save_restore() + self.assertMyExtension() + + def assertMyExtension(self): + """Assure that we have a very specific extension on specific task.""" + task = self.workflow.get_task_spec_from_name("Task_User_Select_Type") + self.assertIsNotNone(task) + self.assertTrue(hasattr(task, 'extensions')) + self.assertTrue("my_extension" in task.extensions) + self.assertEqual(task.extensions["my_extension"], 'my very own extension') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CamundaExtensionsTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/serializer/CamundaParserTest.py b/tests/SpiffWorkflow/camunda/serializer/CamundaParserTest.py new file mode 100644 index 000000000..29760e9db --- /dev/null +++ b/tests/SpiffWorkflow/camunda/serializer/CamundaParserTest.py @@ -0,0 +1,28 @@ +import unittest + +from SpiffWorkflow.camunda.parser.UserTaskParser import UserTaskParser +from SpiffWorkflow.camunda.specs.UserTask import UserTask +from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser + + +class CamundaParserTest(unittest.TestCase): + CORRELATE = CamundaParser + + def setUp(self): + self.parser = CamundaParser() + + def test_overrides(self): + expected_key = "{http://www.omg.org/spec/BPMN/20100524/MODEL}userTask" + self.assertIn(expected_key, + self.parser.OVERRIDE_PARSER_CLASSES) + + self.assertEqual((UserTaskParser, UserTask), + self.parser.OVERRIDE_PARSER_CLASSES.get(expected_key)) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(CamundaParserTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/serializer/UserTaskParserTest.py b/tests/SpiffWorkflow/camunda/serializer/UserTaskParserTest.py new file mode 100644 index 000000000..40d4a3aa0 --- /dev/null +++ b/tests/SpiffWorkflow/camunda/serializer/UserTaskParserTest.py @@ -0,0 +1,49 @@ +import unittest + +from SpiffWorkflow.camunda.parser.UserTaskParser import UserTaskParser +from tests.SpiffWorkflow.camunda.BaseTestCase import BaseTestCase + + +class UserTaskParserTest(BaseTestCase): + CORRELATE = UserTaskParser + + def setUp(self): + self.spec, subprocesses = self.load_workflow_spec('random_fact.bpmn', 'random_fact') + + def testGetForm(self): + form = self.spec.task_specs['Task_User_Select_Type'].form + self.assertIsNotNone(form) + + def testGetEnumField(self): + form = self.spec.task_specs['Task_User_Select_Type'].form + self.assertEquals("Fact", form.key) + self.assertEquals(1, len(form.fields)) + self.assertEquals("type", form.fields[0].id) + self.assertEquals(3, len(form.fields[0].options)) + + def testGetFieldProperties(self): + form = self.spec.task_specs['Task_User_Select_Type'].form + self.assertEquals(1, len(form.fields[0].properties)) + self.assertEquals('description', form.fields[0].properties[0].id) + self.assertEquals('Choose from the list of available types of random facts', form.fields[0].properties[0].value) + + def testGetFieldValidation(self): + form = self.spec.task_specs['Task_User_Select_Type'].form + self.assertEquals(1, len(form.fields[0].validation)) + self.assertEquals('maxlength', form.fields[0].validation[0].name) + self.assertEquals('25', form.fields[0].validation[0].config) + + def testNoFormDoesNotBombOut(self): + self.load_workflow_spec('no_form.bpmn', 'no_form') + self.assertTrue(True) # You can load a user task that has no form and you can still get here. + + def testCreateTask(self): + pass + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(UserTaskParserTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/serializer/__init__.py b/tests/SpiffWorkflow/camunda/serializer/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/camunda/specs/UserTaskSpecTest.py b/tests/SpiffWorkflow/camunda/specs/UserTaskSpecTest.py new file mode 100644 index 000000000..2d3c16d7f --- /dev/null +++ b/tests/SpiffWorkflow/camunda/specs/UserTaskSpecTest.py @@ -0,0 +1,152 @@ +import json +import unittest + +from SpiffWorkflow.camunda.specs.UserTask import FormField, UserTask, Form, \ + EnumFormField +from SpiffWorkflow.specs import WorkflowSpec, TaskSpec + + +class UserTaskSpecTest(unittest.TestCase): + CORRELATE = UserTask + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + task_spec = TaskSpec(self.wf_spec, 'testtask', description='foo') + self.form = Form() + return UserTask(self.wf_spec, 'userTask', self.form) + + def setUp(self): + self.wf_spec = WorkflowSpec() + self.user_spec = self.create_instance() + + def testConstructor(self): + self.assertEquals(self.user_spec.name, 'userTask') + self.assertEqual(self.user_spec.data, {}) + self.assertEqual(self.user_spec.defines, {}) + self.assertEqual(self.user_spec.pre_assign, []) + self.assertEqual(self.user_spec.post_assign, []) + self.assertEqual(self.user_spec.locks, []) + + def test_set_form(self): + self.assertEqual(self.form, self.user_spec.form) + + def testSerialize(self): + pass + + def test_text_field(self): + form_field = FormField(form_type="text") + form_field.id = "1234" + self.form.add_field(form_field) + self.assertEqual(form_field, self.user_spec.form.fields[0]) + + def test_enum_field(self): + enum_field = EnumFormField() + enum_field.label = "Which kind of fool are you" + enum_field.add_option('old fool', 'This is old, therefor it is good.') + enum_field.add_option('new fool', + 'This is new, therefor it is better.') + self.form.add_field(enum_field) + self.assertEqual(enum_field, self.user_spec.form.fields[-1]) + + def test_properties(self): + form_field = FormField(form_type="text") + self.assertFalse(form_field.has_property("wilma")) + form_field.add_property("wilma", "flintstone") + self.assertTrue(form_field.has_property("wilma")) + self.assertEquals("flintstone", form_field.get_property("wilma")) + + def test_validations(self): + form_field = FormField(form_type="text") + self.assertFalse(form_field.has_validation("barney")) + form_field.add_validation("barney", "rubble") + self.assertTrue(form_field.has_validation("barney")) + self.assertEquals("rubble", form_field.get_validation("barney")) + + def testIsEngineTask(self): + self.assertFalse(self.user_spec.is_engine_task()) + + def test_convert_to_dict(self): + form = Form() + + field1 = FormField(form_type="text") + field1.id = "quest" + field1.label = "What is your quest?" + field1.default_value = "I seek the grail!" + + field2 = EnumFormField() + field2.id = "color" + field2.label = "What is your favorite color?" + field2.add_option("red", "Red") + field2.add_option("orange", "Green") + field2.add_option("yellow", "Yellow") + field2.add_option("green", "Green") + field2.add_option("blue", "Blue") + field2.add_option("indigo", "Indigo") + field2.add_option("violet", "Violet") + field2.add_option("other", "Other") + field2.add_property("description", "You know what to do.") + field2.add_validation("maxlength", "25") + + form.key = "formKey" + form.add_field(field1) + form.add_field(field2) + + def JsonableHandler(Obj): + if hasattr(Obj, 'jsonable'): + return Obj.jsonable() + else: + raise 'Object of type %s with value of %s is not JSON serializable' % ( + type(Obj), repr(Obj)) + + json_form = json.dumps(form, default=JsonableHandler) + actual = json.loads(json_form) + + expected = { + "fields": [ + { + "default_value": "I seek the grail!", + "label": "What is your quest?", + "id": "quest", + "properties": [], + "type": "text", + "validation": [], + }, + { + "default_value": "", + "id": "color", + "label": "What is your favorite color?", + "options": [ + {"id": "red", "name": "Red"}, + {"id": "orange", "name": "Green"}, + {"id": "yellow", "name": "Yellow"}, + {"id": "green", "name": "Green"}, + {"id": "blue", "name": "Blue"}, + {"id": "indigo", "name": "Indigo"}, + {"id": "violet", "name": "Violet"}, + {"id": "other", "name": "Other"}, + ], + "properties": [ + {"id": "description", "value": "You know what to do."}, + ], + "type": "enum", + "validation": [ + {"name": "maxlength", "config": "25"}, + ], + } + ], + "key": "formKey", + } + + expected_parsed = json.loads(json.dumps(expected)) + + self.maxDiff = None + self.assertDictEqual(actual, expected_parsed) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(UserTaskSpecTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/camunda/specs/__init__.py b/tests/SpiffWorkflow/camunda/specs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/data/__init__.py b/tests/SpiffWorkflow/data/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/data/empty1.xml b/tests/SpiffWorkflow/data/empty1.xml new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/data/empty2.xml b/tests/SpiffWorkflow/data/empty2.xml new file mode 100644 index 000000000..4adc209d8 --- /dev/null +++ b/tests/SpiffWorkflow/data/empty2.xml @@ -0,0 +1 @@ + diff --git a/tests/SpiffWorkflow/data/spiff/__init__.py b/tests/SpiffWorkflow/data/spiff/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.path new file mode 100644 index 000000000..d94b3e03d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.path @@ -0,0 +1,10 @@ +Start + first + task_f1 + task_f2 + task_f3 + excl_choice_1 + join + End + task_g2 + foo diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.xml new file mode 100644 index 000000000..096fb7fe1 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/acyclic_synchronizing_merge.xml @@ -0,0 +1,49 @@ + + + Pattern 37 (Acyclic Synchronizing Merge) + + + first + + + + + task_f1 + task_f2 + task_f3 + + + + + join + + + join + + + excl_choice_1 + + + + + task_g1 + + + task_g2 + + + + + join + + + + foo + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.path b/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.path new file mode 100644 index 000000000..3009ea82e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.path @@ -0,0 +1,10 @@ +Start + first + excl_choice_1 + go_to_repetition + return_to_first + first + excl_choice_1 + task_c1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.xml b/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.xml new file mode 100644 index 000000000..7c4e4e994 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/arbitrary_cycles.xml @@ -0,0 +1,38 @@ + + + Pattern 10 (Arbitrary Cycles) + + + + + first + + + + + excl_choice_1 + + + + + task_c1 + + + go_to_repetition + + + + + + + first + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.path b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.path new file mode 100644 index 000000000..aa1fa1eb1 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.path @@ -0,0 +1,14 @@ +Start + first + task_f1 + struct_discriminator_1 + excl_choice_1 + return_to_first + first + task_f1 + struct_discriminator_1 + excl_choice_1 + last + End + task_f2 + task_f3 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.xml b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.xml new file mode 100644 index 000000000..d011b9c09 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_discriminator.xml @@ -0,0 +1,45 @@ + + + Pattern 28 (Blocking Discriminator) + + + first + + + + + task_f1 + task_f2 + task_f3 + + + + + struct_discriminator_1 + + + struct_discriminator_1 + + + struct_discriminator_1 + + + + + excl_choice_1 + + + + + last + + + first + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.path b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.path new file mode 100644 index 000000000..ac1c7c858 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.path @@ -0,0 +1,15 @@ +Start + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + excl_choice_1 + return_to_multi_choice_1 + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + excl_choice_1 + last + End + task_e4 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.xml b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.xml new file mode 100644 index 000000000..a8706bf9e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/blocking_partial_join.xml @@ -0,0 +1,61 @@ + + + Pattern 31 (Blocking Partial Join) + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + task_e4 + + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + excl_choice_1 + + + + + last + + + multi_choice_1 + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.path new file mode 100644 index 000000000..8fdb95b6d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.path @@ -0,0 +1,4 @@ +Start + one1 + one2 + cancel diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.xml new file mode 100644 index 000000000..d3952fe91 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_case.xml @@ -0,0 +1,41 @@ + + + Pattern 20 (Cancel Job) + + + + one1 + two1 + + + + + one2 + + + cancel + + + + + + + two2a + two2b + + + two3 + + + two3 + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.path new file mode 100644 index 000000000..5c6c45de9 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.path @@ -0,0 +1,14 @@ +Start + first + add_instance_1 + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + task_g1 + task_g2 + cancel_multi_instance_1 + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.xml new file mode 100644 index 000000000..c39533e78 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_multi_instance_task.xml @@ -0,0 +1,59 @@ + + + Pattern 15 (Multiple Instances without a priori Run-Time Knowledge) + + + first + + + + + add_instance_1 + multi_instance_1 + cancel_multi_instance_1 + + + + + join + + + + + + + task_g1 + task_g2 + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + join + + + + + + multi_instance_1 + join + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.path new file mode 100644 index 000000000..28d132ff4 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.path @@ -0,0 +1,9 @@ +Start + one1 + one2 + cancel + last + End + two1 + two2b + two3 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.xml new file mode 100644 index 000000000..3d408cb42 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_region.xml @@ -0,0 +1,48 @@ + + + Pattern 19 (Cancel Task) + + + + one1 + two1 + + + + + one2 + + + cancel + + + two2a + two4 + last + + + + + + two2a + two2b + + + two3 + + + two3 + + + two4 + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.path new file mode 100644 index 000000000..981bb91de --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.path @@ -0,0 +1,11 @@ +Start + one1 + one2 + cancel + last + End + two1 + two2b + two3 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.xml new file mode 100644 index 000000000..28c5278c8 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancel_task.xml @@ -0,0 +1,44 @@ + + + Pattern 25 (Cancel Region) + + + + one1 + two1 + + + + + one2 + + + cancel + + + two2a + last + + + + + + two2a + two2b + + + two3 + + + two3 + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.path new file mode 100644 index 000000000..a56b255eb --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.path @@ -0,0 +1,12 @@ +Start + first + task_f1 + struct_discriminator_1 + excl_choice_1 + return_to_first + first + task_f1 + struct_discriminator_1 + excl_choice_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.xml new file mode 100644 index 000000000..cb6c23372 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_discriminator.xml @@ -0,0 +1,45 @@ + + + Pattern 29 (Cancelling Discriminator) + + + + first + + + + task_f1 + task_f2 + task_f3 + + + + + struct_discriminator_1 + + + struct_discriminator_1 + + + struct_discriminator_1 + + + + + excl_choice_1 + + + + + last + + + first + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.path new file mode 100644 index 000000000..74fd5b2fb --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.path @@ -0,0 +1,13 @@ +Start + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + excl_choice_1 + return_to_multi_choice_1 + multi_choice_1 + task_e1 + struct_synch_merge_1 + excl_choice_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.xml new file mode 100644 index 000000000..55bdb5015 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join.xml @@ -0,0 +1,61 @@ + + + Pattern 32 (Cancelling Partial Join) + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + task_e4 + + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + excl_choice_1 + + + + + last + + + multi_choice_1 + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.path b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.path new file mode 100644 index 000000000..076e8d8e6 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.path @@ -0,0 +1,11 @@ +Start + add_instance_1 + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + join_1 + join_2 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.xml b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.xml new file mode 100644 index 000000000..f9e0df71a --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/cancelling_partial_join_for_multi_instance.xml @@ -0,0 +1,47 @@ + + + Pattern 35 (Cancelling Partial Join for Multiple Instances) + + + + add_instance_1 + multi_instance_1 + + + + + + task_g1 + task_g2 + + + + + join_1 + + + join_1 + + + + + join_2 + + + + + + join_2 + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.path b/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.path new file mode 100644 index 000000000..04daa7da1 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.path @@ -0,0 +1,10 @@ +Start + multi_instance_1 + task_g1 + task_g1 + task_g1 + trigger_join + join_1 + join_2 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.xml b/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.xml new file mode 100644 index 000000000..f0ddbcf33 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/complete_multiple_instance_activity.xml @@ -0,0 +1,38 @@ + + + Pattern 27 (Complete Multiple Instance Task) + + + + multi_instance_1 + trigger_join + + + + + + task_g1 + + + + join_1 + + + + join_2 + + + + + + join_2 + + + + + last + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.path b/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.path new file mode 100644 index 000000000..38d31ccb5 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.path @@ -0,0 +1,18 @@ +Start + one_1 + one_2 + one_3 + one_4 + two_2 + two_3 + two_4 + last + End + last + End + two_1 + two_2 + two_3 + two_4 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.xml b/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.xml new file mode 100644 index 000000000..cb3e93b88 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/critical_section.xml @@ -0,0 +1,50 @@ + + + Pattern 39 (Critical Section) + + + + one_1 + two_1 + + + + + lock_one + one_2 + + + lock_two + one_3 + + + lock_three + two_2 + one_4 + + + lock_four + last + + + + + + two_2 + + + two_3 + + + two_4 + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.path b/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.path new file mode 100644 index 000000000..8ed93edb4 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.path @@ -0,0 +1,10 @@ +Start + make_choice + last + End + first + deferred_choice_1 + task_e2 + task_e4 + join_1 + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.xml b/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.xml new file mode 100644 index 000000000..2a6334fd6 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/deferred_choice.xml @@ -0,0 +1,76 @@ + + + Pattern 16 (Deferred Choice) + + + + make_choice + first + + + + + deferred_choice_1 + + + + + task_e1 + task_e2 + + + task_e3 + + + + task_e4 + + + + task_e5 + + + + task_e6 + + + + + join_1 + + + join_1 + + + join_1 + + + join_1 + + + join_1 + + + join_1 + + + + end + + + + + + task_e2 + task_e4 + task_e6 + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.path b/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.path new file mode 100644 index 000000000..c870bba11 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.path @@ -0,0 +1,13 @@ +Start + add_instance_1 + multi_instance_1 + task_g1 + task_g2 + join_1 + join_2 + last + End + task_g1 + task_g2 + task_g1 + task_g2 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.xml b/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.xml new file mode 100644 index 000000000..2cab3c6cb --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/dynamic_partial_join_for_multi_instance.xml @@ -0,0 +1,47 @@ + + + Pattern 36 (Dynamic Partial Join for Multiple Instances) + + + + add_instance_1 + multi_instance_1 + + + + + + task_g1 + task_g2 + + + + + join_1 + + + join_1 + + + + + join_2 + + + + + + join_2 + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.path b/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.path new file mode 100644 index 000000000..0d8e14e13 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.path @@ -0,0 +1,8 @@ +Start + first + excl_choice_1 + task_c1 + excl_choice_2 + task_d2 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.xml b/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.xml new file mode 100644 index 000000000..78e4eb2ab --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/exclusive_choice.xml @@ -0,0 +1,67 @@ + + + Pattern 4 (Exclusive Choice) + + + + first + + + + + excl_choice_1 + + + + + task_c1 + + + task_c2 + + + + task_c3 + + + + + + excl_choice_2 + + + excl_choice_2 + + + excl_choice_2 + + + + + task_d1 + + + task_d2 + + + + task_d3 + + + + + + last + + + last + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.path b/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.path new file mode 100644 index 000000000..8fdb95b6d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.path @@ -0,0 +1,4 @@ +Start + one1 + one2 + cancel diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.xml b/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.xml new file mode 100644 index 000000000..f9af8706c --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/explicit_termination.xml @@ -0,0 +1,41 @@ + + + Pattern 43 (Explicit Termination) + + + + one1 + two1 + + + + + one2 + + + cancel + + + + + + + two2a + two2b + + + two3 + + + two3 + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.path new file mode 100644 index 000000000..4c5758087 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.path @@ -0,0 +1,21 @@ +Start + first + task_a1 + task_b1 + task_c1 + loop_back_to_c1_once + join + End + return_to_task_c1 + task_c1 + loop_back_to_c1_once + task_c2 + go_to_stub + stub_1 + loop_back_to_stub_1_once + return_to_stub_1 + stub_1 + loop_back_to_stub_1_once + go_to_stub_3 + stub_3 + foo diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.xml new file mode 100644 index 000000000..908781436 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/general_synchronizing_merge.xml @@ -0,0 +1,89 @@ + + + Pattern 37 (Acyclic Synchronizing Merge) + + + first + + + + + task_a1 + task_b1 + task_c1 + + + + + join + + + join + + + loop_back_to_c1_once + + + + + task_c1 + + + task_c2 + + + + + go_to_stub + + + + + task_g1 + + + stub_1 + + + + + join + + + + loop_back_to_stub_1_once + + + + + stub_1 + + + go_to_stub_3 + + + + + + stub_2 + + + stub_3 + + + + + foo + + + + foo + + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.path b/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.path new file mode 100644 index 000000000..7fbb5ffff --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.path @@ -0,0 +1,22 @@ +Start + first + task_e1 + task_f1 + task_e2 + task_f2 + task_e3 + task_f3 + struct_synch_merge_1 + excl_choice_1 + return_to_first + first + task_e1 + task_f1 + task_e2 + task_f2 + task_e3 + task_f3 + struct_synch_merge_1 + excl_choice_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.xml b/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.xml new file mode 100644 index 000000000..22b879d4d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/generalized_and_join.xml @@ -0,0 +1,61 @@ + + + Pattern 33 (Generalized AND-Join) + + + first + + + + + + task_e1 + task_e2 + task_e3 + + + + + task_f1 + + + task_f2 + + + task_f3 + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + excl_choice_1 + + + + + last + + + first + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.path b/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.path new file mode 100644 index 000000000..399ad2b4a --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.path @@ -0,0 +1,5 @@ +Start + first + task_f1 + task_f2 + task_f3 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.xml b/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.xml new file mode 100644 index 000000000..c887a1cf3 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/implicit_termination.xml @@ -0,0 +1,21 @@ + + + Pattern 11 (Implicit Termination) + + + + first + + + + task_f1 + task_f2 + task_f3 + + + + + + + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.path b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.path new file mode 100644 index 000000000..5f0d47b66 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.path @@ -0,0 +1,7 @@ +Start + one1 + two1 + two2 + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.xml b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.xml new file mode 100644 index 000000000..6ff3f7f1e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_parallel_routing.xml @@ -0,0 +1,38 @@ + + + Pattern 17 (Interleaved Parallel Routing) + + + + one1 + two1 + + + + + one_task_at_a_time + join + + + + + + one_task_at_a_time + two2 + + + one_task_at_a_time + join + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.path b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.path new file mode 100644 index 000000000..6a42a92cd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.path @@ -0,0 +1,9 @@ +Start + first + one1 + two1 + three1 + four1 + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.xml b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.xml new file mode 100644 index 000000000..7cf4a99dd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/interleaved_routing.xml @@ -0,0 +1,47 @@ + + + Pattern 40 (Interleaved Routing) + + + + first + + + + + one_task_at_a_time + one1 + two1 + three1 + four1 + + + + + one_task_at_a_time + join + + + one_task_at_a_time + join + + + one_task_at_a_time + join + + + one_task_at_a_time + join + + + + + one_task_at_a_time + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/milestone.path b/tests/SpiffWorkflow/data/spiff/control-flow/milestone.path new file mode 100644 index 000000000..b0e4a2edf --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/milestone.path @@ -0,0 +1,10 @@ +Start + task_e1 + task_f1 + task_f2 + task_e2 + task_e3 + last + End + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/milestone.xml b/tests/SpiffWorkflow/data/spiff/control-flow/milestone.xml new file mode 100644 index 000000000..95534fd56 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/milestone.xml @@ -0,0 +1,31 @@ + + + Pattern 18 (Milestone) + + + task_e1 + task_f1 + + + + task_e2 + + + task_e3 + + + last + + + + task_f2 + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.path new file mode 100644 index 000000000..aaff59dcd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.path @@ -0,0 +1,8 @@ +Start + multi_choice_1 + task_e1 + last + End + task_e3 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.xml new file mode 100644 index 000000000..9c6c004ae --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_choice.xml @@ -0,0 +1,40 @@ + + + Pattern 6 (Multi-Choice) + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + + + last + + + last + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.path new file mode 100644 index 000000000..9dcfb3b4a --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.path @@ -0,0 +1,9 @@ +Start + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + struct_synch_merge_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.xml new file mode 100644 index 000000000..187c45312 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_design_time_knowledge.xml @@ -0,0 +1,32 @@ + + + Pattern 13 (Multiple Instances with a priori Design-Time Knowledge) + + + + multi_instance_1 + + + + + task_g1 + + + + + task_g2 + + + struct_synch_merge_1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.path new file mode 100644 index 000000000..9dcfb3b4a --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.path @@ -0,0 +1,9 @@ +Start + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + struct_synch_merge_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.xml new file mode 100644 index 000000000..81a1cc1a7 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_with_a_priori_run_time_knowledge.xml @@ -0,0 +1,34 @@ + + + Pattern 14 (Multiple Instances with a priori Run-Time Knowledge) + + + multi_instance_1 + + + + + task_g1 + + + + + task_g2 + + + struct_synch_merge_1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.path new file mode 100644 index 000000000..e5354f1cd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.path @@ -0,0 +1,13 @@ +Start + add_instance_1 + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + task_g1 + task_g2 + struct_synch_merge_1 + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.xml new file mode 100644 index 000000000..5ee7761df --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_a_priori.xml @@ -0,0 +1,47 @@ + + + Pattern 15 (Multiple Instances without a priori Run-Time Knowledge) + + + + add_instance_1 + multi_instance_1 + + + + + join + + + + + + + task_g1 + task_g2 + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + join + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.path new file mode 100644 index 000000000..258ce1841 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.path @@ -0,0 +1,20 @@ +Start + multi_instance_1 + task_g1 + last + End + task_g2 + last + End + task_g1 + last + End + task_g2 + last + End + task_g1 + last + End + task_g2 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.xml new file mode 100644 index 000000000..0052dd33b --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_instance_without_synch.xml @@ -0,0 +1,27 @@ + + + Pattern 12 (Multiple Instances without Synchronization) + + + multi_instance_1 + + + + + task_g1 + task_g2 + + + + + last + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.path new file mode 100644 index 000000000..a26e33b5e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.path @@ -0,0 +1,10 @@ +Start + multi_choice_1 + task_e1 + merge + last + End + task_e3 + merge + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.xml new file mode 100644 index 000000000..9b50f57dd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/multi_merge.xml @@ -0,0 +1,46 @@ + + + Pattern 8 (Mutli-Merge) + + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + + + merge + + + merge + + + merge + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.path b/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.path new file mode 100644 index 000000000..e288c161d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.path @@ -0,0 +1,11 @@ +Start + first + task_f1 + last + End + task_f2 + last + End + task_f3 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.xml b/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.xml new file mode 100644 index 000000000..045265842 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/parallel_split.xml @@ -0,0 +1,30 @@ + + + Pattern 2 (Parallel Split) + + + + first + + + + task_f1 + task_f2 + task_f3 + + + + last + + + last + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.path b/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.path new file mode 100644 index 000000000..5272df1c2 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.path @@ -0,0 +1,22 @@ +Start + trigger_before_1 + trigger_before_2 + last + End + add_instance_1 + last + End + multi_instance_1 + task_g1 + last + End + task_g1 + last + End + trigger_after_1 + add_instance_1 + task_g1 + last + End + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.xml b/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.xml new file mode 100644 index 000000000..f37a07ba0 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/persistent_trigger.xml @@ -0,0 +1,48 @@ + + + Pattern 15 (Multiple Instances without a priori Run-Time Knowledge) + + + + trigger_before_1 + add_instance_1 + multi_instance_1 + trigger_after_1 + + + + + trigger_before_2 + + + last + + + + + + last + + + + + + task_g1 + + + + last + + + + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/recursion.path b/tests/SpiffWorkflow/data/spiff/control-flow/recursion.path new file mode 100644 index 000000000..4b406b8f8 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/recursion.path @@ -0,0 +1,11 @@ +Start + first + excl_choice_1 + sub_workflow_1 + Start + first + excl_choice_1 + last + End + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/recursion.xml b/tests/SpiffWorkflow/data/spiff/control-flow/recursion.xml new file mode 100644 index 000000000..6440145d1 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/recursion.xml @@ -0,0 +1,36 @@ + + + Pattern 22 (Recursion) + + + first + + + + excl_choice_1 + + + + + last + + + sub_workflow_1 + + + + + + + + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/sequence.path b/tests/SpiffWorkflow/data/spiff/control-flow/sequence.path new file mode 100644 index 000000000..e5c7316be --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/sequence.path @@ -0,0 +1,5 @@ +Start + first + second + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/sequence.xml b/tests/SpiffWorkflow/data/spiff/control-flow/sequence.xml new file mode 100644 index 000000000..0b9b58750 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/sequence.xml @@ -0,0 +1,20 @@ + + + Pattern 1 (Sequence) + + + first + + + + second + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.path new file mode 100644 index 000000000..6a9d94d25 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.path @@ -0,0 +1,7 @@ +Start + first + excl_choice_1 + task_c1 + task_d1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.xml new file mode 100644 index 000000000..4464f4293 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/simple_merge.xml @@ -0,0 +1,41 @@ + + + Pattern 5 (Simple Merge) + + + + first + + + + + excl_choice_1 + + + + + task_c1 + + + task_c2 + + + + + + task_d1 + + + task_d1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.path b/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.path new file mode 100644 index 000000000..6037a0183 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.path @@ -0,0 +1,13 @@ +Start + add_instance_1 + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + join_1 + join_2 + last + End + task_g1 + task_g2 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.xml b/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.xml new file mode 100644 index 000000000..15fc1f910 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/static_partial_join_for_multi_instance.xml @@ -0,0 +1,47 @@ + + + Pattern 34 (Static Partial Join for Multiple Instances) + + + + add_instance_1 + multi_instance_1 + + + + + + task_g1 + task_g2 + + + + + join_1 + + + join_1 + + + + + join_2 + + + + + + join_2 + + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.path b/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.path new file mode 100644 index 000000000..ac4192e7c --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.path @@ -0,0 +1,7 @@ +Start + multi_choice_1 + task_a1 + discriminator + last + End + task_a3 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.xml b/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.xml new file mode 100644 index 000000000..7f84b34d3 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_discriminator.xml @@ -0,0 +1,45 @@ + + + Pattern 9 (Structured Discriminator) + + + multi_choice_1 + + + + + + + task_a1 + + + + task_a2 + + + + task_a3 + + + + + + discriminator + + + discriminator + + + discriminator + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.path b/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.path new file mode 100644 index 000000000..02ad65cc4 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.path @@ -0,0 +1,8 @@ +Start + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + last + End + task_e4 diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.xml b/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.xml new file mode 100644 index 000000000..1de54ff21 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_partial_join.xml @@ -0,0 +1,52 @@ + + + Pattern 30 (Structured Partial Join) + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + task_e4 + + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.path new file mode 100644 index 000000000..4fdd836cf --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.path @@ -0,0 +1,9 @@ +Start + multi_choice_1 + task_e1 + task_e3 + task_g3a + task_g3b + struct_synch_merge_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.xml new file mode 100644 index 000000000..ff788fde2 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/structured_synchronizing_merge.xml @@ -0,0 +1,53 @@ + + + Pattern 7 (Structured Synchronizing Merge) + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + task_g3a + task_g3b + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.path b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.path new file mode 100644 index 000000000..e3a1fde8e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.path @@ -0,0 +1,11 @@ +Start + first + sub_workflow_1 + Start + first + last + End + second + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.xml b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.xml new file mode 100644 index 000000000..87e3f85ec --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join.xml @@ -0,0 +1,37 @@ + + + Pattern 10 (Block Task to Sub-Workflow Decomposition) + + + + first + + + + sub_workflow_1 + second + + + + join + + + + + + + + + + + join + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join_inner.xml b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join_inner.xml new file mode 100644 index 000000000..835a836f9 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/subworkflow_to_join_inner.xml @@ -0,0 +1,17 @@ + + + Pattern 10 (Block Task to Sub-Workflow Decomposition) - Sub-Workflow + + + first + + + + last + + + + end + + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.path b/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.path new file mode 100644 index 000000000..a20827006 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.path @@ -0,0 +1,9 @@ +Start + first + task_f1 + task_f2 + task_f3 + task_g3a + task_g3b + join + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.xml b/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.xml new file mode 100644 index 000000000..239cc892e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/synchronization.xml @@ -0,0 +1,39 @@ + + + Pattern 3 (Synchronization) + + + + first + + + + task_f1 + task_f2 + task_f3 + + + + + join + + + join + + + task_g3a + task_g3b + + + + join + + + join + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.path b/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.path new file mode 100644 index 000000000..e80f960b7 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.path @@ -0,0 +1,23 @@ +Start + thread_split_1 + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + thread_merge_1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.xml b/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.xml new file mode 100644 index 000000000..fce686cad --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/thread_merge.xml @@ -0,0 +1,46 @@ + + + Pattern 41 (Thread Merge) + + + + thread_split_1 + + + + + task_f1 + task_g1 + + + + + task_f2 + + + join + + + + + task_g2 + + + join + + + + + thread_merge_1 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.path b/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.path new file mode 100644 index 000000000..c3a3dea65 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.path @@ -0,0 +1,26 @@ +Start + thread_split_1 + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + last + End + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + last + End + ThreadStart + task_f1 + task_f2 + task_g1 + task_g2 + join + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.xml b/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.xml new file mode 100644 index 000000000..fbe8f45ac --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/thread_split.xml @@ -0,0 +1,41 @@ + + + Pattern 41 (Thread Merge) + + + + thread_split_1 + + + + + task_f1 + task_g1 + + + + + task_f2 + + + join + + + + + task_g2 + + + join + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.path b/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.path new file mode 100644 index 000000000..09f82df11 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.path @@ -0,0 +1,12 @@ +Start + add_instance_1 + add_instance_2 + last + End + multi_instance_1 + task_g1 + last + End + task_g1 + last + End diff --git a/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.xml b/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.xml new file mode 100644 index 000000000..c66660847 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/control-flow/transient_trigger.xml @@ -0,0 +1,34 @@ + + + Pattern 15 (Multiple Instances without a priori Run-Time Knowledge) + + + + add_instance_1 + multi_instance_1 + + + + + add_instance_2 + + + last + + + + + + task_g1 + + + + last + + + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/block_data.xml b/tests/SpiffWorkflow/data/spiff/data/block_data.xml new file mode 100644 index 000000000..265b5c75e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_data.xml @@ -0,0 +1,27 @@ + + + Pattern 2 (Block Data) + + + + first + + + + sub_workflow_1 + + + + + + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/block_data.xml.data b/tests/SpiffWorkflow/data/spiff/data/block_data.xml.data new file mode 100644 index 000000000..3e157d00e --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_data.xml.data @@ -0,0 +1,9 @@ +Start: data_1=outer/ +first: data_1=outer/ +sub_workflow_1: data_1=outer/ +Start: data_1=inner/ +first: data_1=inner/ +last: data_1=inner/ +End: data_1=inner/ +last: data_1=outer/ +End: data_1=outer/ diff --git a/tests/SpiffWorkflow/data/spiff/data/block_data_inner.xml b/tests/SpiffWorkflow/data/spiff/data/block_data_inner.xml new file mode 100644 index 000000000..9d0ddda05 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_data_inner.xml @@ -0,0 +1,18 @@ + + + Pattern 2 (Block Data) - Sub-Workflow + + + + first + + + + last + + + + end + + + diff --git a/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml new file mode 100644 index 000000000..62cfaf7b6 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml @@ -0,0 +1,28 @@ + + + Pattern 10 (Block Task to Sub-Workflow Decomposition) + + + + first + + + + sub_workflow_1 + + + + + + + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml.data b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml.data new file mode 100644 index 000000000..97ea252af --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow.xml.data @@ -0,0 +1,9 @@ +Start: data_1=outer/ +first: data_1=outer/ +sub_workflow_1: data_1=outer/ +Start: sub_workflow_data=outer/ +first: sub_workflow_data=outer/ +last: sub_workflow_data=outer/ +End: sub_workflow_data=outer/ +last: data_1=outer/ +End: data_1=outer/ diff --git a/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow_inner.xml b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow_inner.xml new file mode 100644 index 000000000..835a836f9 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/block_to_subworkflow_inner.xml @@ -0,0 +1,17 @@ + + + Pattern 10 (Block Task to Sub-Workflow Decomposition) - Sub-Workflow + + + first + + + + last + + + + end + + + diff --git a/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml new file mode 100644 index 000000000..52c7d5028 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml @@ -0,0 +1,27 @@ + + + Pattern 11 (Sub-Workflow Decomposition to Block Task) + + + first + + + + sub_workflow_1 + + + + + + + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml.data b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml.data new file mode 100644 index 000000000..b8ee56205 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block.xml.data @@ -0,0 +1,9 @@ +Start: / +first: / +sub_workflow_1: / +Start: sub_workflow_data=inner/ +first: sub_workflow_data=inner/ +last: sub_workflow_data=inner/ +End: sub_workflow_data=inner/ +last: data_1=inner/ +End: data_1=inner/ diff --git a/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block_inner.xml b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block_inner.xml new file mode 100644 index 000000000..7ebecf8f1 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/subworkflow_to_block_inner.xml @@ -0,0 +1,17 @@ + + + Pattern 11 (Sub-Workflow Decomposition to Block Task) - Sub-Workflow + + + + first + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/task_data.xml b/tests/SpiffWorkflow/data/spiff/data/task_data.xml new file mode 100644 index 000000000..b78d2af5d --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/task_data.xml @@ -0,0 +1,18 @@ + + + Pattern 1 (Task Data) + + + + first + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/task_data.xml.data b/tests/SpiffWorkflow/data/spiff/data/task_data.xml.data new file mode 100644 index 000000000..e763ac785 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/task_data.xml.data @@ -0,0 +1,4 @@ +Start: data_attribute=at_start/ +first: data_attribute=at_start/data_attribute=at_first +last: data_attribute=at_start/ +End: data_attribute=at_start/ diff --git a/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml b/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml new file mode 100644 index 000000000..663545ea3 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml @@ -0,0 +1,18 @@ + + + Pattern 9 (Task To Task) + + + + first + + + + + last + + + + end + + diff --git a/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml.data b/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml.data new file mode 100644 index 000000000..31a383b14 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/data/task_to_task.xml.data @@ -0,0 +1,4 @@ +Start: data_attribute_1=at_start/ +first: data_attribute_1=at_start;data_attribute_2=at_first/ +last: data_attribute_1=at_start;data_attribute_2=at_first/ +End: data_attribute_1=at_start;data_attribute_2=at_first/ diff --git a/tests/SpiffWorkflow/data/spiff/resource/.gitignore b/tests/SpiffWorkflow/data/spiff/resource/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/data/spiff/workflow1.path b/tests/SpiffWorkflow/data/spiff/workflow1.path new file mode 100644 index 000000000..0b5bc042b --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/workflow1.path @@ -0,0 +1,41 @@ +Start + task_a1 + task_a2 + task_b1 + task_b2 + synch_1 + excl_choice_1 + task_c1 + excl_choice_2 + task_d3 + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + task_f1 + struct_discriminator_1 + excl_choice_3 + return_to_excl_choice_1 + excl_choice_1 + task_c1 + excl_choice_2 + task_d3 + multi_choice_1 + task_e1 + task_e3 + struct_synch_merge_1 + task_f1 + struct_discriminator_1 + excl_choice_3 + multi_instance_1 + task_g1 + task_g2 + task_g1 + task_g2 + task_g1 + task_g2 + struct_synch_merge_2 + last + End + task_f2 + task_f3 diff --git a/tests/SpiffWorkflow/data/spiff/workflow1.py b/tests/SpiffWorkflow/data/spiff/workflow1.py new file mode 100644 index 000000000..fba204bd6 --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/workflow1.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- + +from SpiffWorkflow.specs import ExclusiveChoice, Join, MultiChoice, MultiInstance, Simple, WorkflowSpec +from SpiffWorkflow.operators import Attrib, Equal, NotEqual + + +class TestWorkflowSpec(WorkflowSpec): + + def __init__(self): + WorkflowSpec.__init__(self) + # Build one branch. + a1 = Simple(self, 'task_a1') + self.start.connect(a1) + + a2 = Simple(self, 'task_a2') + a1.connect(a2) + + # Build another branch. + b1 = Simple(self, 'task_b1') + self.start.connect(b1) + + b2 = Simple(self, 'task_b2') + b1.connect(b2) + + # Merge both branches (synchronized). + synch_1 = Join(self, 'synch_1') + a2.connect(synch_1) + b2.connect(synch_1) + + # If-condition that does not match. + excl_choice_1 = ExclusiveChoice(self, 'excl_choice_1') + synch_1.connect(excl_choice_1) + + c1 = Simple(self, 'task_c1') + excl_choice_1.connect(c1) + + c2 = Simple(self, 'task_c2') + cond = Equal(Attrib('test_attribute1'), Attrib('test_attribute2')) + excl_choice_1.connect_if(cond, c2) + + c3 = Simple(self, 'task_c3') + excl_choice_1.connect_if(cond, c3) + + # If-condition that matches. + excl_choice_2 = ExclusiveChoice(self, 'excl_choice_2') + c1.connect(excl_choice_2) + c2.connect(excl_choice_2) + c3.connect(excl_choice_2) + + d1 = Simple(self, 'task_d1') + excl_choice_2.connect(d1) + + d2 = Simple(self, 'task_d2') + excl_choice_2.connect_if(cond, d2) + + d3 = Simple(self, 'task_d3') + cond = Equal(Attrib('test_attribute1'), Attrib('test_attribute1')) + excl_choice_2.connect_if(cond, d3) + + # If-condition that does not match. + multichoice = MultiChoice(self, 'multi_choice_1') + d1.connect(multichoice) + d2.connect(multichoice) + d3.connect(multichoice) + + e1 = Simple(self, 'task_e1') + multichoice.connect_if(cond, e1) + + e2 = Simple(self, 'task_e2') + cond = Equal(Attrib('test_attribute1'), Attrib('test_attribute2')) + multichoice.connect_if(cond, e2) + + e3 = Simple(self, 'task_e3') + cond = Equal(Attrib('test_attribute2'), Attrib('test_attribute2')) + multichoice.connect_if(cond, e3) + + # StructuredSynchronizingMerge + syncmerge = Join(self, 'struct_synch_merge_1', 'multi_choice_1') + e1.connect(syncmerge) + e2.connect(syncmerge) + e3.connect(syncmerge) + + # Implicit parallel split. + f1 = Simple(self, 'task_f1') + syncmerge.connect(f1) + + f2 = Simple(self, 'task_f2') + syncmerge.connect(f2) + + f3 = Simple(self, 'task_f3') + syncmerge.connect(f3) + + # Discriminator + discrim_1 = Join(self, + 'struct_discriminator_1', + 'struct_synch_merge_1', + threshold=1) + f1.connect(discrim_1) + f2.connect(discrim_1) + f3.connect(discrim_1) + + # Loop back to the first exclusive choice. + excl_choice_3 = ExclusiveChoice(self, 'excl_choice_3') + discrim_1.connect(excl_choice_3) + cond = NotEqual(Attrib('excl_choice_3_reached'), Attrib('two')) + excl_choice_3.connect_if(cond, excl_choice_1) + + # Split into 3 branches, and implicitly split twice in addition. + multi_instance_1 = MultiInstance(self, 'multi_instance_1', times=3) + excl_choice_3.connect(multi_instance_1) + + # Parallel tasks. + g1 = Simple(self, 'task_g1') + g2 = Simple(self, 'task_g2') + multi_instance_1.connect(g1) + multi_instance_1.connect(g2) + + # StructuredSynchronizingMerge + syncmerge2 = Join(self, 'struct_synch_merge_2', 'multi_instance_1') + g1.connect(syncmerge2) + g2.connect(syncmerge2) + + # Add a final task. + last = Simple(self, 'last') + syncmerge2.connect(last) + + # Add another final task :-). + end = Simple(self, 'End') + last.connect(end) diff --git a/tests/SpiffWorkflow/data/spiff/workflow1.xml b/tests/SpiffWorkflow/data/spiff/workflow1.xml new file mode 100644 index 000000000..d33f71dbd --- /dev/null +++ b/tests/SpiffWorkflow/data/spiff/workflow1.xml @@ -0,0 +1,168 @@ + + + + A test workflow that contains all possible tasks. + + + + + task_a1 + task_b1 + + + + + task_a2 + + + synch_1 + + + + + + task_b2 + + + synch_1 + + + + + + excl_choice_1 + + + + + task_c1 + + + task_c2 + + + + task_c3 + + + + + + excl_choice_2 + + + excl_choice_2 + + + excl_choice_2 + + + + + task_d1 + + + task_d2 + + + + task_d3 + + + + + + multi_choice_1 + + + multi_choice_1 + + + multi_choice_1 + + + + + + + task_e1 + + + + task_e2 + + + + task_e3 + + + + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + struct_synch_merge_1 + + + + + task_f1 + task_f2 + task_f3 + + + + + struct_discriminator_1 + + + struct_discriminator_1 + + + struct_discriminator_1 + + + + + excl_choice_3 + + + + + multi_instance_1 + + + excl_choice_1 + + + + + + task_g1 + task_g2 + + + + + struct_synch_merge_2 + + + struct_synch_merge_2 + + + + + last + + + + + end + + diff --git a/tests/SpiffWorkflow/dmn/DecisionRunner.py b/tests/SpiffWorkflow/dmn/DecisionRunner.py new file mode 100644 index 000000000..0c266bfd4 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/DecisionRunner.py @@ -0,0 +1,51 @@ +import os + +from lxml import etree + +from SpiffWorkflow.bpmn.PythonScriptEngine import Box +from SpiffWorkflow.dmn.engine.DMNEngine import DMNEngine +from SpiffWorkflow.dmn.parser.DMNParser import DMNParser + + +class Workflow: + def __init__(self, script_engine): + self.script_engine = script_engine + self.outer_workflow = self + self.spec = Box({'file': 'my_mock_file'}) + +class TaskSpec: + def __init__(self): + self.name = "MockTestSpec" + self.description = "Mock Test Spec" + +class Task: + def __init__(self, script_engine, data): + self.data = data + self.workflow = Workflow(script_engine) + self.task_spec = TaskSpec() + +class DecisionRunner: + + def __init__(self, script_engine, filename, path=''): + self.script_engine = script_engine + fn = os.path.join(os.path.dirname(__file__), path, 'data', filename) + + with open(fn) as fh: + node = etree.parse(fh) + + self.dmnParser = DMNParser(None, node.getroot()) + self.dmnParser.parse() + + decision = self.dmnParser.decision + assert len(decision.decisionTables) == 1, \ + 'Exactly one decision table should exist! (%s)' \ + % (len(decision.decisionTables)) + + self.dmnEngine = DMNEngine(decision.decisionTables[0]) + + def decide(self, context): + + if not isinstance(context, dict): + context = {'input': context} + task = Task(self.script_engine, context) + return self.dmnEngine.decide(task) diff --git a/tests/SpiffWorkflow/dmn/Dmn20151101VersionTest.py b/tests/SpiffWorkflow/dmn/Dmn20151101VersionTest.py new file mode 100644 index 000000000..8ff40003b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/Dmn20151101VersionTest.py @@ -0,0 +1,24 @@ +import os +import unittest + +from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +class DmnVersionTest(BpmnWorkflowTestCase): + PARSER_CLASS = BpmnDmnParser + + def setUp(self): + self.parser = BpmnDmnParser() + + def testLoad(self): + dmn = os.path.join(os.path.dirname(__file__), 'data', + 'dmn_version_20191111_test.dmn') + self.assertIsNone(self.parser.add_dmn_file(dmn)) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DmnVersionTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/Dmn20191111VersionTest.py b/tests/SpiffWorkflow/dmn/Dmn20191111VersionTest.py new file mode 100644 index 000000000..8ff40003b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/Dmn20191111VersionTest.py @@ -0,0 +1,24 @@ +import os +import unittest + +from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +class DmnVersionTest(BpmnWorkflowTestCase): + PARSER_CLASS = BpmnDmnParser + + def setUp(self): + self.parser = BpmnDmnParser() + + def testLoad(self): + dmn = os.path.join(os.path.dirname(__file__), 'data', + 'dmn_version_20191111_test.dmn') + self.assertIsNone(self.parser.add_dmn_file(dmn)) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DmnVersionTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/DmnFailVersionTest.py b/tests/SpiffWorkflow/dmn/DmnFailVersionTest.py new file mode 100644 index 000000000..a645aa93d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/DmnFailVersionTest.py @@ -0,0 +1,43 @@ +import unittest +import os + +from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser + + +class DmnVersionTest(unittest.TestCase): + + def setUp(self): + self.parser = BpmnDmnParser() + + def testLoadV1_2_supported(self): + self._assert_parse_all_pass('v1_2_supported') + + def testLoadV1_2_unsupported(self): + self._assert_parse_all_fail('v1_2_unsupported') + + def testLoadV1_3_supported(self): + self._assert_parse_all_pass('v1_3_supported') + + def testLoadV1_3_unsupported(self): + self._assert_parse_all_fail('v1_3_unsupported') + + def _assert_parse_all_pass(self, dir_path): + dirname = os.path.join(os.path.dirname(__file__), 'data', 'dmn_version_test', dir_path) + self.parser.add_dmn_files_by_glob(f'{dirname}/*.dmn') + for parser in self.parser.dmn_parsers.values(): + parser.parse() + self.assertIsNotNone(parser.get_id()) + self.assertIsNotNone(parser.get_name()) + + def _assert_parse_all_fail(self, dir_path): + dirname = os.path.join(os.path.dirname(__file__), 'data', 'dmn_version_test', dir_path) + with self.assertRaises(IndexError): + self.parser.add_dmn_files_by_glob(f'{dirname}/*.dmn') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DmnVersionTest) + + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/__init__.py b/tests/SpiffWorkflow/dmn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_20151101_test.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_20151101_test.dmn new file mode 100644 index 000000000..c3ecf312e --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_20151101_test.dmn @@ -0,0 +1,32 @@ + + + + + + + + + + + + They are allergic to peanuts + + mGender Description + "PEANUTS" in ? + + + "isPeanuts" + + + + They are not allergic to peanuts + + "PEANUTS" not in ? + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_20191111_test.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_20191111_test.dmn new file mode 100644 index 000000000..44a946465 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_20191111_test.dmn @@ -0,0 +1,39 @@ + + + + + + + + + + + + They are allergic to peanuts + + mGender Description + "PEANUTS" in ? + + + "isPeanuts" + + + + They are not allergic to peanuts + + "PEANUTS" not in ? + + + "IsNotPeanuts" + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_fail_test.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_fail_test.dmn new file mode 100644 index 000000000..6bcee64f5 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_fail_test.dmn @@ -0,0 +1,32 @@ + + + + + + + + + + + + They are allergic to peanuts + + mGender Description + "PEANUTS" in ? + + + "isPeanuts" + + + + They are not allergic to peanuts + + "PEANUTS" not in ? + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-decision-with-listed-input-data.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-decision-with-listed-input-data.dmn new file mode 100644 index 000000000..1882e06d7 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-decision-with-listed-input-data.dmn @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-shape-with-label-text.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-shape-with-label-text.dmn new file mode 100644 index 000000000..f4aef81fe --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_supported/diagram-interchange-shape-with-label-text.dmn @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example-financial.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example-financial.dmn new file mode 100644 index 000000000..ea71d782b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example-financial.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example.dmn new file mode 100644 index 000000000..6acdb378d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/chapter-11-example.dmn @@ -0,0 +1,2521 @@ + + + + + + feel:string + + "DECLINE","BUREAU","THROUGH" + + + + feel:string + + "INELIGIBLE","ELIGIBLE" + + + + feel:string + + "FULL","MINI","NONE" + + + + feel:string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + feel:number + + + feel:string + + "S","M" + + + + feel:string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + feel:boolean + + + + feel:number + + + feel:number + + + feel:number + + + + + + feel:boolean + + + feel:number + + [0..999], null + + + + + feel:string + + "DECLINE","REFER","ACCEPT" + + + + + feel:string + + "STANDARD LOAN","SPECIAL LOAN" + + + + feel:number + + + feel:number + + + feel:number + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + Post-bureau risk category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + "LOW" + + + "MINI" + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> +<p>&nbsp;</p> + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + "MEDIUM" + + + 0.7 + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table + + + + + Risk Category + + + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment +then true +else false + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + false + + + < 100 + + + "HIGH" + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + false + + + [120..130] + + + "LOW" + + + + + false + + + > 130 + + + "VERY LOW" + + + + + true + + + < 80 + + + "DECLINE" + + + + + true + + + [80..90) + + + "HIGH" + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MartitalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + [22..26) + + + - + + + - + + + 35 + + + + + [26..36) + + + - + + + - + + + 40 + + + + + [36..50) + + + - + + + - + + + 43 + + + + + >=50 + + + - + + + - + + + 48 + + + + + - + + + "S" + + + - + + + 25 + + + + + - + + + "M" + + + - + + + 45 + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + if Product Type = "STANDARD LOAN" +then 20.00 +else if Product Type = "SPECIAL LOAN" +then 25.00 +else null + + + + + + Financial.PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-decision-service.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-decision-service.dmn new file mode 100644 index 000000000..4f9baa33f --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-decision-service.dmn @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-dish-example.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-dish-example.dmn new file mode 100644 index 000000000..4afe54dba --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_2_unsupported/diagram-interchange-dish-example.dmn @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + season + + + + + guestCount + + + + + + + + + + + + + + + + + + + + 8]]> + + + + + + + + + + + 10]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =10]]> + + + + + + + + + + + + + + + temperature + + + + + + 30]]> + + + + + + + + + + + + + + + + [10..30] + + + + + + + + + + + + + + + dayType + + + + + + + + + 4 + + + + + + + + 10 + + + + + + + + 15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-decision-with-listed-input-data.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-decision-with-listed-input-data.dmn new file mode 100644 index 000000000..8284abf8a --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-decision-with-listed-input-data.dmn @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-shape-with-label-text.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-shape-with-label-text.dmn new file mode 100644 index 000000000..fda0fc42d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_supported/diagram-interchange-shape-with-label-text.dmn @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/chapter-11-example.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/chapter-11-example.dmn new file mode 100644 index 000000000..deaf94a23 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/chapter-11-example.dmn @@ -0,0 +1,2995 @@ + + + + + + + + + + + + string + + "DECLINE","BUREAU","THROUGH" + + + + string + + "INELIGIBLE","ELIGIBLE" + + + + string + + "FULL","MINI","NONE" + + + + string + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + number + + + string + + "S","M" + + + + string + + "EMPLOYED","SELF-EMPLOYED","STUDENT","UNEMPLOYED" + + + + boolean + + + + number + + + number + + + number + + + + + + boolean + + + number + + [0..999], null + + + + + string + + "DECLINE","REFER","ACCEPT" + + + + + string + + "STANDARD LOAN","SPECIAL LOAN" + + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p><span lang="JA">Determine if&nbsp;an application requiring adjudication should be accepted or declined given the available application data and supporting documents.</span></p> + Should this application that has been referred for adjudication be accepted? + Yes/No + + + + + + + + + + + + + + + + + + + + + + + <p>The collected wisdom of the credit officers as collected in their best practice wiki.</p> + Expertise + + + + <p>Documents associated with a loan that are not processed electronically but are available for manual adjudication.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Bureau call type&nbsp;</span>table, passing the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter.</span></p> + How much data should be requested from the credit bureau for this application? + A value from the explicit list "Full", "Mini", "None" + + + + + + + + + + + + Bureau call type table + + + + + Pre-bureau risk category + + + + + + <p><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Strategy&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, unique-hit decision table deriving Strategy from&nbsp;</span>Eligibility and Bureau call type.</span></p> + What is the appropriate handling strategy for this application? + A value from the explicit list "Decline", "Bureau", "Through" + + + + + + + + + + + + + + + + Eligibility + + + "INELIGIBLE","ELIGIBLE" + + + + + Bureau call type + + + "FULL","MINI","NONE" + + + + + "DECLINE","BUREAU","THROUGH" + + + + + + "INELIGIBLE" + + + - + + + "DECLINE" + + + + + + + + "ELIGIBLE" + + + "FULL", "MINI" + + + "BUREAU" + + + + + + + + "ELIGIBLE" + + + "NONE" + + + "THROUGH" + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility&nbsp;</span></strong><span lang="JA">decision logic invokes the Eligibility rules business&nbsp;</span>knowledge model, passing Applicant data.Age as the Age parameter, the output of the Pre-bureau risk category decision as the Pre-Bureau Risk Category parameter, and the output of the Pre-bureau affordability decision as the Pre-Bureau Affordability parameter.</span></p> + Does this applicant appear eligible for the loan they applied for given only their application data? + Value from the explicit list "Eligible", "Not Eligible" + + + + + + + + + + + + + + + + + Eligibility rules + + + + + Applicant data.Age + + + + + + Pre-bureau risk category + + + + + + Pre-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Eligibility rules&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Eligibility from Pre-Bureau Risk Category, Pre-Bureau Affordability and Age.</span></p> + + + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Pre-Bureau Affordability + + + + + Age + + + + + "INELIGIBLE","ELIGIBLE" + + + + + + "DECLINE" + + + - + + + - + + + "INELIGIBLE" + + + + + + + + - + + + false + + + - + + + "INELIGIBLE" + + + + + + + + - + + + - + + + < 18 + + + "INELIGIBLE" + + + + + + + + - + + + - + + + - + + + "ELIGIBLE" + + + + + + + + + + + + + <p>Definitions of the products, their cost structure and eligibility criteria.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing Rules&nbsp;</span></strong><span lang="JA">decision logic defines a complete, priority-ordered single hit decision table&nbsp;</span>deriving Routing from Post-Bureau Risk Category, Post-Bureau Affordability, Bankrupt and Credit Score.</span></p> + + + + + + + + + + Post-bureau risk category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + Post-bureau affordability + + + + + Bankrupt + + + + + Credit score + + + null, [0..999] + + + + + "DECLINE","REFER","ACCEPT" + + + + + + - + + + false + + + - + + + - + + + "DECLINE" + + + + + + + + - + + + - + + + true + + + - + + + "DECLINE" + + + + + + + + "HIGH" + + + - + + + - + + + - + + + "REFER" + + + + + + + + - + + + - + + + - + + + < 580 + + + "REFER" + + + + + + + + - + + + - + + + - + + + - + + + "ACCEPT" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Routing&nbsp;</span></strong><span lang="JA">decision logic invokes the Routing rules business&nbsp;</span>knowledge model, passing Bureau data . Bankrupt as the Bankrupt parameter, Bureau data . CreditScore as the Credit Score parameter, the output of the Post-bureau risk category decision as the Post-Bureau Risk Category parameter, and the output of the Post-bureau affordability decision as the Post-Bureau Affordability parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Bankrupt and Credit Score parameters will be null.</span></p> + How this should this applicant be routed given all available data? + A value from the explicit list "Decline", "Refer for Adjudication", "Accept without Review" + + + + + + + + + + + + + + + + + + + + + Routing rules + + + + + Bureau data.Bankrupt + + + + + + Bureau data.CreditScore + + + + + + Post-bureau risk category + + + + + + Post-bureau affordability + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Bureau call type table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table deriving&nbsp;</span>Bureau Call Type from Pre-Bureau Risk Category.</span></p> + + + + + + + Pre-Bureau Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + "FULL","MINI","NONE" + + + + + + "HIGH", "MEDIUM" + + + "FULL" + + + + + + + + "LOW" + + + "MINI" + + + + + + + + "VERY LOW", "DECLINE" + + + "NONE" + + + + + + + + + + + + + <p>Overall risk management approach for the financial institution including its approach to&nbsp;application risk, credit contingencies and credit risk scoring.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"></span><span lang="JA">The&nbsp;</span><strong><span lang="JA">Credit contingency factor table&nbsp;</span></strong><span lang="JA"><span style="font-size: 10pt; font-family: arial, helvetica, sans-serif;">decision</span> logic defines a complete, unique-hit decision table&nbsp;</span>deriving Credit contingency factor from Risk Category.</p> +<p>&nbsp;</p> + + + + + + + Risk Category + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + + "HIGH", "DECLINE" + + + 0.6 + + + + + + + + "MEDIUM" + + + 0.7 + + + + + + + + "LOW", "VERY LOW" + + + 0.8 + + + + + + + + + + + + + <p>Internal spreadsheet showing the relationship of income, payments, expenses, risk and affordability.</p> + Policy + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Affordability calculation&nbsp;</span></strong><span lang="JA">decision logic defines a boxed function deriving Affordability from&nbsp;</span>Monthly Income, Monthly Repayments, Monthly Expenses and Required Monthly Installment. One step in this calculation derives Credit contingency factor by invoking the Credit contingency factor table business</span></p> + + + + + + + + + + + + Monthly Income - (Monthly Repayments + Monthly Expenses) + + + + + + + Credit contingency factor table + + + + + Risk Category + + + + + + + + if Disposable Income * Credit Contingency Factor > Required Monthly Installment +then true +else false + + + + + Affordability + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Pre-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given only their application data? + Yes/No + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Pre-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau affordability&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Affordability calculation business knowledge model, passing Applicant data.Monthly.Income as the Monthly Income parameter, Applicant data.Monthly.Repayments as the Monthly Repayments parameter, Applicant data.Monthly.Expenses as the Monthly Expenses parameter, the output of the Post-bureau risk category decision as the Risk Category parameter, and the output of the Required monthly installment decision as the Required Monthly Installment parameter.</span></p> + Can the applicant afford the loan they applied for given all available data? + Yes/No + + + + + + + + + + + + + + + + + Affordability calculation + + + + + Applicant data.Monthly.Income + + + + + + Applicant data.Monthly.Repayments + + + + + + Applicant data.Monthly.Expenses + + + + + + Post-bureau risk category + + + + + + Required monthly installment + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category&nbsp;</span></strong><span lang="JA">decision logic invokes the Post-bureau&nbsp;</span>risk category business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter, Bureau data.CreditScore as the Credit Score parameter, and the output of the Application risk score decision as the Application Risk Score parameter. Note that if Bureau data is null (due to the THROUGH strategy bypassing the Collect bureau data task) the Credit Score parameter will be null.</span></p> + Which risk category is most appropriate for this applicant given all available data? + A value from the explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + + + + + + + + + + + + + + + + + Post-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Bureau data.CreditScore + + + + + + Application risk score + + + + + + <p>External credit score and bankruptcy information provided by a bureau.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Post-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Post-Bureau Risk Category from Existing Customer, Application Risk Score and Credit Score.</span></p> + + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + Credit Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 120 + + + < 590 + + + "HIGH" + + + + + + + + false + + + < 120 + + + [590..610] + + + "MEDIUM" + + + + + + + + false + + + < 120 + + + > 610 + + + "LOW" + + + + + + + + false + + + [120..130] + + + < 600 + + + "HIGH" + + + + + + + + false + + + [120..130] + + + [600..625] + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + > 625 + + + "LOW" + + + + + + + + false + + + > 130 + + + - + + + "VERY LOW" + + + + + + + + true + + + <= 100 + + + < 580 + + + "HIGH" + + + + + + + + true + + + <= 100 + + + [580..600] + + + "MEDIUM" + + + + + + + + true + + + <= 100 + + + > 600 + + + "LOW" + + + + + + + + true + + + > 100 + + + < 590 + + + "HIGH" + + + + + + + + true + + + > 100 + + + [590..615] + + + "MEDIUM" + + + + + + + + true + + + > 100 + + + > 615 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-Bureau Risk Category&nbsp;</span></strong><span lang="JA">decision logic&nbsp;invokes the Pre-bureau&nbsp;</span>risk category table business knowledge model, passing Applicant data.ExistingCustomer as the Existing Customer parameter and the output of the Application risk score decision as the Application Risk Score parameter.</span></p> + Which risk category is most appropriate for this applicant given only their application data? + Value from explicit list "Decline", "High Risk", "Medium Risk", "Low Risk", "Very Low Risk" + + + + + + + + + + + + + + Pre-bureau risk category table + + + + + Applicant data.ExistingCustomer + + + + + + Application risk score + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Pre-bureau risk category table&nbsp;</span></strong><span lang="JA">decision logic defines a complete, unique-hit decision table&nbsp;</span>deriving Pre-bureau risk category from Existing Customer and Application Risk Score.</span></p> + + + + + + + + Existing Customer + + + + + Application Risk Score + + + + + "DECLINE","HIGH","MEDIUM","LOW","VERY LOW" + + + + + + false + + + < 100 + + + "HIGH" + + + + + + + + false + + + [100..120) + + + "MEDIUM" + + + + + + + + false + + + [120..130] + + + "LOW" + + + + + + + + false + + + > 130 + + + "VERY LOW" + + + + + + + + true + + + < 80 + + + "DECLINE" + + + + + + + + true + + + [80..90) + + + "HIGH" + + + + + + + + true + + + [90..110] + + + "MEDIUM" + + + + + + + + true + + + > 110 + + + "LOW" + + + + + + + + + + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application Risk Score&nbsp;</span></strong><span lang="JA">decision logic invokes the Application&nbsp;</span>risk score model business knowledge model, passing Applicant data.Age as the Age parameter, Applicant data.MaritalStatus as the Marital Status parameter and Applicant data.EmploymentStatus as the Employment Status parameter.</span></p> + What is the risk score for this applicant? + A number greater than 70 and less than 150 + + + + + + + + + + + + Application risk score model + + + + + Applicant data.Age + + + + + + Applicant data.MartitalStatus + + + + + + Applicant data.EmploymentStatus + + + + + + <p>Credit risk scorecard analysis to determine the relevant factors for application risk scoring</p> + + + + + + + + + + Analytic Insight + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Application risk score model&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a complete, no-order multiple-hit table&nbsp;</span>with aggregation, deriving Application risk score from Age, Marital Status and Employment Status, as the sum of the Partial scores of all matching rows (this is therefore a predictive scorecard represented as a decision table).</span></p> + + + + + + + + + Age + + + [18..120] + + + + + Marital Status + + + "S","M" + + + + + Employment Status + + + "UNEMPLOYED","STUDENT","EMPLOYED","SELF-EMPLOYED" + + + + + + + [18..22) + + + - + + + - + + + 32 + + + + + + + + [22..26) + + + - + + + - + + + 35 + + + + + + + + [26..36) + + + - + + + - + + + 40 + + + + + + + + [36..50) + + + - + + + - + + + 43 + + + + + + + + >=50 + + + - + + + - + + + 48 + + + + + + + + - + + + "S" + + + - + + + 25 + + + + + + + + - + + + "M" + + + - + + + 45 + + + + + + + + - + + + - + + + "UNEMPLOYED" + + + 15 + + + + + + + + - + + + - + + + "STUDENT" + + + 18 + + + + + + + + - + + + - + + + "EMPLOYED" + + + 45 + + + + + + + + - + + + - + + + "SELF-EMPLOYED" + + + 36 + + + + + + + + + + + + + <p>Information about the applicant including personal information, marital status and household income/expenses.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Required monthly installment&nbsp;</span></strong><span lang="JA">decision logic invokes the&nbsp;</span>Installment calculation business knowledge model, passing Requested product.ProductType as the Product Type parameter, Requested product.Rate as the Rate parameter, Requested product.Term as the Term parameter, and Requested product.Amount as the Amount parameter.</span></p> + What is the minimum monthly installment payment required for this loan product? + A dollar amount greater than zero + + + + + + + + + + + Installment calculation + + + + + Requested product.ProductType + + + + + + Requested product.Rate + + + + + + Requested product.Term + + + + + + Requested product.Amount + + + + + + <p>Details of the loan the applicant has applied for.</p> + + + + <p><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><span lang="JA">The&nbsp;</span><strong><span lang="JA">Installment calculation&nbsp;</span></strong><span lang="JA">decision logic&nbsp;defines a boxed function deriving monthly installment&nbsp;</span>from Product Type, Rate, Term and Amount.</span></p> + + + + + + + + + + + if Product Type = "STANDARD LOAN" +then 20.00 +else if Product Type = "SPECIAL LOAN" +then 25.00 +else null + + + + + + Financial.PMT(Rate, Term, Amount) + + + + + Monthly Repayment + Monthly Fee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>Information about historical loan defaults.</p> + + + + The credit risk scorecard is built from past applicants' data and information about those loans that defaulted. It must conform to the overall risk management strategy. + + + <p>Individuals in the Retail Banking organization responsible for manual adjudication of loans.</p> + + + + <p>Organization responsible for defining loan and other banking products, how those products are priced, sold and tracked for profitability.</p> + + + + + + <p>Organization within the bank responsible for defining credit risk strategies and policies and providing tools for managing against these.</p> + + + + + + + + + + <p>Organization responsible for credit risk models and the use of data to predict credit risk for customers and loan applicants.</p> + + + + <p>The percentage of loans accepted in a calendar month.</p> + + + + + + <p>The percentage of loans that did not require a credit officer to review the case in a calendar month.</p> + + + + + <p>The total value of Loans written in a calendar month</p> + + + + + + <p>By end of the current year, have an auto-adjudication rate of at least 90 percent</p> + + + + + <p>The total cost charged by the bureau for all Bureau Data requested while originating Loans in a calendar month.</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-decision-service.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-decision-service.dmn new file mode 100644 index 000000000..ba8febdb3 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-decision-service.dmn @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-dish-example.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-dish-example.dmn new file mode 100644 index 000000000..7ad1c9ea1 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/diagram-interchange-dish-example.dmn @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + season + + + + + guestCount + + + + + + + + + + + + + + + + + + + + 8]]> + + + + + + + + + + + 10]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =10]]> + + + + + + + + + + + + + + + temperature + + + + + + 30]]> + + + + + + + + + + + + + + + + [10..30] + + + + + + + + + + + + + + + dayType + + + + + + + + + 4 + + + + + + + + 10 + + + + + + + + 15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/financial.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/financial.dmn new file mode 100644 index 000000000..5a722a9bc --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/financial.dmn @@ -0,0 +1,31 @@ + + + + + + + + + <p><span lang="JA">Standard calculation of monthly installment&nbsp;</span>from Rate, Term and Amount.</p> + + + + + + + (Amount *Rate/12) / (1 - (1 + Rate/12)**-Term) + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/loan-info.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/loan-info.dmn new file mode 100644 index 000000000..64ae12740 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/loan-info.dmn @@ -0,0 +1,758 @@ + + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + string + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + + tPercent + + + tPercent + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + number + + + number + + + tPercent + + + number + + + number + + + tPercent + + + tPercent + + + number + + + number + + + + + tProductName + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + decimal((Property.Purchase Price - Down Payment)*Loan Product.Points Pct/100,2) + + + + + + Property.Purchase Price - Down Payment + Loan Product.Fees Amount + Points Amount + + + + + + decimal(100*Note Amount/Property.Purchase Price,2) + + + + + + decimal(0.02*Note Amount,2) + + + + + + Note Amount - Loan Product.Fees Amount - Points Amount - Closing Costs + + + + + + Loan Product.Best Rate Pct + Rate Adjustment(Credit Score, LTV) + + + + + + if Loan Product.Type="Variable rate" then Interest Rate Percent+2 else Interest Rate Percent + + + + + + + payment + + + + + Note Amount + + + + + + Interest Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + payment + + + + + Note Amount + + + + + + Qualifying Rate Percent/100 + + + + + + Loan Product.Term + + + + + + + + + + + + + + + + + + Credit Score + + + [300..850] + + + + + LTV + + + + + + + >=660 + + + <=60 + + + 0 + + + + + + + + [620..660) + + + <=60 + + + 0.125 + + + + + + + + >=700 + + + >60 + + + 0.125 + + + + + + + + [660..700) + + + (60..70] + + + 0.125 + + + + + + + + [620..660) + + + (60..70] + + + 0.25 + + + + + + + + [680..700) + + + >70 + + + 0.25 + + + + + + + + [640..680) + + + >70 + + + 0.375 + + + + + + + + [620..640) + + + (70..80] + + + 0.375 + + + + + + + + [620..640) + + + >80 + + + 0.5 + + + + + + + + <620 + + + - + + + 0.5 + + + + + + + + + + + + + + + + decimal(p*r/12/(1-(1+r/12)**-n),2) + + + + + + + + + + + + + + + + + + + + + + Loan Product.Product Name + + + + + + Loan Product.Type + + + + + + Loan Data.LTV + + + + + + Loan Data.Note Amount + + + + + + Loan Data.Interest Rate Percent + + + + + + Loan Data.Qualifying Rate Percent + + + + + + Loan Data.Monthly Payment + + + + + + Loan Data.Qualifying Payment + + + + + + Loan Data.Points Amount + + + + + + Loan Product.Fees Amount + + + + + + Loan Data.Funds Toward Purchase + + + + + + Down Payment + + + + + + Loan Data.Closing Costs + + + + + + Property.Purchase Price - Funds Toward Purchase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/recommended-loan-products.dmn b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/recommended-loan-products.dmn new file mode 100644 index 000000000..3c1983eeb --- /dev/null +++ b/tests/SpiffWorkflow/dmn/data/dmn_version_test/v1_3_unsupported/recommended-loan-products.dmn @@ -0,0 +1,1412 @@ + + + + + + string + + + string + + + number + + + number + + + tAssets + + + tLiabilities + + + + + tAssetType + + + string + + + number + + + + tAsset + + + string + + "Checking Savings Brokerage account","Real Estate","Other Liquid","Other Non-Liquid" + + + + + tLiabilityType + + + string + + + number + + + number + + + boolean + + + + tLiability + + + string + + "Credit card","Auto loan","Student loan","Lease","Lien","Real estate loan","Alimony child support","Other" + + + + string + + "Fixed rate","Variable rate" + + + + + tAmortizationType + + + number + + + number + + + number + + + number + + + + + + string + + + string + + + string + + + string + + + string + + + + number + + + number + + + number + + + number + + + + number + + + number + + + number + + [300..850] + + + + string + + "Affordable","Marginal","Unaffordable" + + + + string + + "Fixed30-NoPoints","Fixed30-Standard","Fixed15-NoPoints","Fixed15-Standard","ARM5/1-NoPoints","ARM5/1-Standard" + + + + + string + + + tProductName + + "Fixed30-NoPointsOrFees","Fixed30-Standard","Fixed30-LowestRate","Fixed15-NoPointsOrFees","Fixed15-Standard" + + + + tAmortizationType + + "Fixed rate","Variable rate" + + + + tPercent + + + tPercent + + + number + + + number + + + + tLoanProduct + + + + tProductName + + + tAmortizationType + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + number + + + + tLoanInfoRow + + + tTableRow + + + string + + "Low","Medium","High" + + + + + tAffordability + + + number + + + tLTVCategory + + + + + tPercent + + + tAffordability + + "Affordable","Marginal","Unaffordable" + + + + tLTVCategory + + "Low","Medium","High" + + + + number + + + number + + + + + number + + + number + + + number + + + tPercent + + + number + + + number + + + number + + + number + + + + + string + + + number + + [1..5] + + + + + tLenderRating + + + string + + "Best","Good","Not Recommended","Ineligible" + + + + + string + + + number + + + tPercent + + + number + + + tPercent + + + tPercent + + + number + + + number + + + number + + + tCreditScore + + [300..850] + + + + tRecommendation + + "Best","Good","Not Recommended","Ineligible" + + + + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + + string + + + + tformattedrow_1 + + + + string + + + string + + + string + + + string + + + string + + + tCreditScore + + [300..850] + + + + string + + + + + + + + + + + + + + + + + + + + + + + + DTI + + + + + LTV + + + + + Reserves + + + + + [300..850] + + + + + + <=36 + + + <=75 + + + >2 + + + 620 + + + + + + + + <=36 + + + <=75 + + + >0 + + + 640 + + + + + + + + <=36 + + + (75..95] + + + >6 + + + 660 + + + + + + + + <=36 + + + (75..95] + + + >0 + + + 680 + + + + + + + + (36..45] + + + <=75 + + + >6 + + + 660 + + + + + + + + (36..45] + + + <=75 + + + >0 + + + 680 + + + + + + + + (36..45] + + + (75..95] + + + >6 + + + 700 + + + + + + + + (36..45] + + + (75..95] + + + >0 + + + 720 + + + + + + + + + + + + + + + + + + + + + "Lender A" + + + "Fixed30-NoPoints" + + + "Fixed rate" + + + 3.95 + + + 0 + + + 1925 + + + 360 + + + + + "Lender C" + + + "Fixed30-Standard" + + + "Fixed rate" + + + 3.75 + + + 0.972 + + + 1975 + + + 360 + + + + + "Lender A" + + + "Fixed15-NoPoints" + + + "Fixed rate" + + + 3.625 + + + 0 + + + 816 + + + 180 + + + + + "Lender C" + + + "Fixed15-Standard" + + + "Fixed rate" + + + 3.25 + + + 0.767 + + + 1975 + + + 180 + + + + + "Lender B" + + + "ARM5/1-NoPoints" + + + "Variable rate" + + + 3.875 + + + 0 + + + 1776 + + + 360 + + + + + "Lender B" + + + "ARM5/1-Standard" + + + "Variable rate" + + + 3.625 + + + 0.667 + + + 1975 + + + 360 + + + + + + + + + + + + + + + + + + + + + + + for x in Loan Products return Services.Loan Info Service(x,Down Payment,Property,Credit Score) + + + + + + + + + + + + + + + + + + + + + + + + + + + for i in 1..count(Loan Products) return Eligibility(Loan Products[i], Borrower, Loan Info Table[i], +Property, Credit Score, Lender Ratings) + + + + + + + + + + + + + + + + Eligibility Parameters(Loan Product, Borrower, Loan Info, +Property, Credit Score) + + + + + + Min Credit Score(Params.DTI Pct, Loan Info.LTV, Params.Reserves) + + + + + + if Required Credit Score != null then +Credit Score >= Required Credit Score else false + + + + + + + + Loan Product + + + + + Eligible + + + + + "Best","Good","Not Recommended","Ineligible" + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating > 4] )>0 + + + true + + + "Best" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating in [3..4]] )>0 + + + true + + + "Good" + + + + + + + + count(Ratings[Lender Name=?.Lender Name and Customer Rating <3] )>0 + + + true + + + "Not Recommended" + + + + + + + + - + + + - + + + "Ineligible" + + + + + + + + + + + + + + Loan Product.Lender Name + " - " + Loan Product.Product Name + + + + + + Loan Info.Note Amount + + + + + + Loan Info.Initial Rate Pct + + + + + + Loan Info.Initial Monthly Payment + + + + + + Loan Info.LTV + + + + + + Params.DTI Pct + + + + + + Loan Info.Cash to Close + + + + + + Params.Liquid Assets After Closing + + + + + + Params.Reserves + + + + + + Required Credit Score + + + + + + Recommendation + + + + + + + Table Row + + + + + + + + + + + + + + + + + + + + + + + + + + + if x.Recommendation != "Ineligible" and y.Recommendation != "Ineligible" +then x.Monthly Payment<y.Monthly Payment +else if x.Recommendation != "Ineligible" and y.Recommendation = "Ineligible" +then true else false + + + + + + + sort(Eligibility Table, precedes) + + + + + for row in Sorted Table return Format Row(row) + + + + + + + + + + + + + + + + + sum([Loan Info.Qualifying Monthly Payment, Property.Monthly Tax Payment, +Property.Monthly Insurance Payment, Property.Monthly HOA Condo Fee][item != null]) + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" and To be paid off +=false].Monthly payment) + + + + + + sum([Borrower.Employment Income, Borrower.Other Income][item != null]) + + + + + + decimal((Housing Expense+Non-Housing Debt Payments)/Income*100,2) + + + + + + sum(Borrower.Assets[Type="Checking Savings Brokerage account" +or Type="Other Liquid"].Value) + + + + + + sum(Borrower.Liabilities[Type!="Real estate loan" +and To be paid off=true].Balance[item!=null]) + + + + + + Liquid Assets Before Closing - Debts Paid Off By Closing - Loan Info.Cash to Close + + + + + + decimal(Liquid Assets After Closing/Housing Expense,2) + + + + + + + + + + + + + + + + + + + + + + + "java.lang.String" + + + + + + "format( java.lang.String, [Ljava.lang.Object; )" + + + + + + + + + + + + row.Product + + + + + + string format("$%,4.2f", row.Note Amount) + + + + + + string format(" %,4.2f", row.Interest Rate Pct) + + + + + + string format("$%,4.2f", row.Monthly Payment) + + + + + + string format("$%,4.2f", row.Cash to Close) + + + + + + row.Required Credit Score + + + + + + row.Recommendation + + + + + + + formatted row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelBoolDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelBoolDecisionTest.py new file mode 100644 index 000000000..3addab0e3 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelBoolDecisionTest.py @@ -0,0 +1,31 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelBoolDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('bool_decision_feel.dmn') + + def test_bool_decision_string_output1(self): + res = self.runner.decide(True) + self.assertEqual(res.description, 'Y Row Annotation') + + def test_bool_decision_string_output2(self): + res = self.runner.decide(False) + self.assertEqual(res.description, 'N Row Annotation') + + def test_bool_decision_string_output3(self): + res = self.runner.decide(None) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelBoolDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelDateDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelDateDecisionTest.py new file mode 100644 index 000000000..42aaaa580 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelDateDecisionTest.py @@ -0,0 +1,42 @@ +import unittest +from datetime import datetime + +from SpiffWorkflow.dmn.parser.DMNParser import DMNParser + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelDateDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('date_decision_feel.dmn') + + def test_date_decision_string_output1(self): + res = self.runner.decide(datetime.strptime('2017-11-01T10:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '111 Row Annotation') + + def test_date_decision_string_output2(self): + res = self.runner.decide(datetime.strptime('2017-11-03T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '311 Row Annotation') + + def test_date_decision_string_output3(self): + res = self.runner.decide(datetime.strptime('2017-11-02T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '<3.11 Row Annotation') + + def test_date_decision_string_output4(self): + res = self.runner.decide(datetime.strptime('2017-11-04T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '>3.11 Row Annotation') + + def test_date_decision_string_output5(self): + res = self.runner.decide(datetime.strptime('2017-11-13T12:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '>13.11<14.11 Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelDateDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelDecisionRunner.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelDecisionRunner.py new file mode 100644 index 000000000..f0737d203 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelDecisionRunner.py @@ -0,0 +1,8 @@ +from SpiffWorkflow.bpmn.FeelLikeScriptEngine import FeelLikeScriptEngine + +from ..DecisionRunner import DecisionRunner + +class FeelDecisionRunner(DecisionRunner): + + def __init__(self, filename): + super().__init__(FeelLikeScriptEngine(), filename, 'feel_engine') \ No newline at end of file diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDecisionTest.py new file mode 100644 index 000000000..1ab727f9d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDecisionTest.py @@ -0,0 +1,39 @@ +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelDictDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('dict_decision_feel.dmn') + + def test_string_decision_string_output1(self): + data = {"allergies": { + "PEANUTS": {"delicious": True}, + "SPAM": {"delicious": False} + }} + PythonScriptEngine.convert_to_box(PythonScriptEngine(), data) + res = self.runner.decide(data) + self.assertEqual(res.description, 'They are allergic to peanuts') + + def test_string_decision_string_output2(self): + data = {"allergies": { + "SpAm": {"delicious": False}, + "SPAM": {"delicious": False} + }} + res = self.runner.decide(data) + self.assertEqual(res.description, 'They are not allergic to peanuts') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelDictDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDotNotationDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDotNotationDecisionTest.py new file mode 100644 index 000000000..bf19b44e5 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelDictDotNotationDecisionTest.py @@ -0,0 +1,39 @@ +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import Box + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelDictDotNotationDecisionTestClass(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('dict_dot_notation_decision_feel.dmn') + + def test_string_decision_string_output1(self): + data = {"foods": { + "spam": {"delicious": False} + }} + res = self.runner.decide(Box(data)) + self.assertEqual(res.description, 'This person has a tongue, brain ' + 'or sense of smell.') + + data = {"foods": { + "spam": {"delicious": False} + }} + def test_string_decision_string_output2(self): + data = {"foods": { + "spam": {"delicious": True} + }} + res = self.runner.decide(Box(data)) + self.assertEqual(res.description, 'This person is lacking many ' + 'critical decision making skills, ' + 'or is a viking.') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelDictDotNotationDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionComparisonTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionComparisonTest.py new file mode 100644 index 000000000..680206205 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionComparisonTest.py @@ -0,0 +1,31 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelIntegerDecisionComparisonTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('integer_decision_comparison_feel.dmn') + + def test_integer_decision_string_output1(self): + res = self.runner.decide(30) + self.assertEqual(res.description, '30 Row Annotation') + + def test_integer_decision_string_output2(self): + res = self.runner.decide(24) + self.assertEqual(res.description, 'L Row Annotation') + + def test_integer_decision_string_output3(self): + res = self.runner.decide(25) + self.assertEqual(res.description, 'H Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelIntegerDecisionComparisonTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionRangeTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionRangeTest.py new file mode 100644 index 000000000..6baf7d587 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelIntegerDecisionRangeTest.py @@ -0,0 +1,74 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelIntegerDecisionRangeTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + def test_integer_decision_string_output_inclusive(self): + runner = FeelDecisionRunner('integer_decision_range_inclusive_feel.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, '100-110 Inclusive Annotation') + + res = runner.decide({"Age":99}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, '100-110 Inclusive Annotation') + + res = runner.decide({"Age":111}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_integer_decision_string_output_exclusive(self): + runner = FeelDecisionRunner('integer_decision_range_exclusive_feel.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":101}) + self.assertEqual(res.description, '100-110 Exclusive Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":109}) + self.assertEqual(res.description, '100-110 Exclusive Annotation') + + def test_integer_decision_string_output_excl_inclusive(self): + runner = FeelDecisionRunner('integer_decision_range_excl_inclusive_feel.dmn') + + res = runner.decide({'Age': 100}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({'Age':101}) + self.assertEqual(res.description, '100-110 ExclInclusive Annotation') + + res = runner.decide({'Age':110}) + self.assertEqual(res.description, '100-110 ExclInclusive Annotation') + + res = runner.decide({'Age':111}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_integer_decision_string_output_incl_exclusive(self): + runner = FeelDecisionRunner('integer_decision_range_incl_exclusive_feel.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, '100-110 InclExclusive Annotation') + + res = runner.decide({"Age":99}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":109}) + self.assertEqual(res.description, '100-110 InclExclusive Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelIntegerDecisionRangeTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelKwargsParameterTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelKwargsParameterTest.py new file mode 100644 index 000000000..a919ebae2 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelKwargsParameterTest.py @@ -0,0 +1,23 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelStringDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('kwargs_parameter_feel.dmn') + + def test_string_decision_string_output1(self): + res = self.runner.decide({"Gender":'m'}) + self.assertEqual(res.description, 'm Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelStringDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelListDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelListDecisionTest.py new file mode 100644 index 000000000..5a21075a0 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelListDecisionTest.py @@ -0,0 +1,27 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + +class FeelListDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('list_decision_feel.dmn') + + def test_string_decision_string_output1(self): + res = self.runner.decide({'allergies':["PEANUTS", "SPAM"]}) + self.assertEqual(res.description, 'They are allergic to peanuts') + + def test_string_decision_string_output1(self): + res = self.runner.decide({'allergies':["SPAM", "SPAM"]}) + self.assertEqual(res.description, 'They are not allergic to peanuts') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelListDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelLongDoubleComparisonTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelLongDoubleComparisonTest.py new file mode 100644 index 000000000..9376a7499 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelLongDoubleComparisonTest.py @@ -0,0 +1,33 @@ +import unittest + +from decimal import Decimal + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelLongOrDoubleDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('long_or_double_decision_comparison_feel.dmn') + + def test_long_or_double_decision_string_output1(self): + res = self.runner.decide({"Age":Decimal('30.5')}) + self.assertEqual(res.description, '30.5 Row Annotation') + + def test_long_or_double_decision_stringz_output2(self): + res = self.runner.decide({"Age":Decimal('25.3')}) + self.assertEqual(res.description, 'L Row Annotation') + + def test_long_or_double_decision_string_output3(self): + res = self.runner.decide({"Age":Decimal('25.4')}) + self.assertEqual(res.description, 'H Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelLongOrDoubleDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelLongOrDoubleRangeTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelLongOrDoubleRangeTest.py new file mode 100644 index 000000000..1c16de750 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelLongOrDoubleRangeTest.py @@ -0,0 +1,77 @@ +import unittest + +from decimal import Decimal + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelLongOrDoubleDecisionRangeTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + def test_long_or_double_decision_string_output_inclusive(self): + runner = FeelDecisionRunner('long_or_double_decision_range_inclusive_feel.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, '100.05-110.05 Inclusive Annotation') + + res = runner.decide({"Age":Decimal('99')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, '100.05-110.05 Inclusive Annotation') + + res = runner.decide({"Age":Decimal('111')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_long_or_double_decision_string_output_exclusive(self): + runner = FeelDecisionRunner('long_or_double_decision_range_exclusive_feel.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('101')}) + self.assertEqual(res.description, '100.05-110.05 Exclusive Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('109')}) + self.assertEqual(res.description, '100.05-110.05 Exclusive Annotation') + + def test_long_or_double_decision_string_output_excl_inclusive(self): + runner = FeelDecisionRunner('long_or_double_decision_range_excl_inclusive_feel.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('101')}) + self.assertEqual(res.description, '100.05-110.05 ExclInclusive Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, '100.05-110.05 ExclInclusive Annotation') + + res = runner.decide({"Age":Decimal('111')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_long_or_double_decision_string_output_incl_exclusive(self): + runner = FeelDecisionRunner('long_or_double_decision_range_incl_exclusive_feel.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, '100.05-110.05 InclExclusive Annotation') + + res = runner.decide({"Age":Decimal('99')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('109')}) + self.assertEqual(res.description, '100.05-110.05 InclExclusive Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelLongOrDoubleDecisionRangeTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelNearMissNameTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelNearMissNameTest.py new file mode 100644 index 000000000..1ecbca08b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelNearMissNameTest.py @@ -0,0 +1,53 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelNearMissTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.data = { + "Exclusive": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "eXclusive": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "EXCLUSIVE": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "personnel": [ + { + "PersonnelType": "Faculty", + "label": "Steven K Funkhouser (sf4d)", + "value": "sf4d" + } + ], + + "shared": [] + } + + cls.runner = FeelDecisionRunner('exclusive_feel.dmn') + + def test_string_decision_string_output1(self): + self.assertRaisesRegex(Exception, + ".+\['Exclusive', 'eXclusive', 'EXCLUSIVE'\].+", + self.runner.decide, + self.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelNearMissTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelStringDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelStringDecisionTest.py new file mode 100644 index 000000000..f9601b5ca --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelStringDecisionTest.py @@ -0,0 +1,35 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelStringDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('string_decision_feel.dmn') + + def test_string_decision_string_output1(self): + res = self.runner.decide({"Gender":'m'}) + self.assertEqual(res.description, 'm Row Annotation') + + def test_string_decision_string_output2(self): + res = self.runner.decide({"Gender":'f'}) + self.assertEqual(res.description, 'f Row Annotation') + + def test_string_decision_string_output3(self): + res = self.runner.decide({"Gender":'y'}) + self.assertEqual(res.description, 'NOT x Row Annotation') + + def test_string_decision_string_output4(self): + res = self.runner.decide({"Gender":'x'}) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelStringDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/FeelStringIntegerDecisionTest.py b/tests/SpiffWorkflow/dmn/feel_engine/FeelStringIntegerDecisionTest.py new file mode 100644 index 000000000..47cc5381e --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/FeelStringIntegerDecisionTest.py @@ -0,0 +1,39 @@ +import unittest + +from .FeelDecisionRunner import FeelDecisionRunner + + +class FeelStringIntegerDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = FeelDecisionRunner('string_integer_decision_feel.dmn') + + def test_string_integer_decision_string_output1(self): + res = self.runner.decide({"Gender":'m', "Age": 30}) + self.assertEqual(res.description, 'm30 Row Annotation') + + def test_string_integer_decision_string_output2(self): + res = self.runner.decide({"Gender":'m', "Age": 24}) + self.assertEqual(res.description, 'mL Row Annotation') + + def test_string_integer_decision_string_output3(self): + res = self.runner.decide({"Gender":'m', "Age": 25}) + self.assertEqual(res.description, 'mH Row Annotation') + + def test_string_integer_decision_string_output4(self): + res = self.runner.decide({"Gender":'f', "Age": -1}) + self.assertEqual(res.description, 'fL Row Annotation') + + def test_string_integer_decision_string_output5(self): + res = self.runner.decide({"Gender":'x', "Age": 0}) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(FeelStringIntegerDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/feel_engine/__init__.py b/tests/SpiffWorkflow/dmn/feel_engine/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/bool_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/bool_decision_feel.dmn new file mode 100644 index 000000000..1bd3cc1d3 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/bool_decision_feel.dmn @@ -0,0 +1,40 @@ + + + + + + + input + + + + + Y Row Annotation + + true + + + "Yesss" + + + + N Row Annotation + + false + + + "Noooo" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/date_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/date_decision_feel.dmn new file mode 100644 index 000000000..19deb3c5c --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/date_decision_feel.dmn @@ -0,0 +1,58 @@ + + + + + + + input + + + + + >13.11<14.11 Row Annotation + + [date and time("2017-11-13T00:00:00")..date and time("2017-11-14T23:59:59")] + + + "between 13.11 and 14.11" + + + + 111 Row Annotation + + date and time("2017-11-01T10:00:00") + + + "01.11" + + + + 311 Row Annotation + + date and time("2017-11-03T00:00:00") + + + "03.11" + + + + <3.11 Row Annotation + + < date and time("2017-11-03T00:00:00") + + + "before 03.11" + + + + >3.11 Row Annotation + + > date and time("2017-11-03T00:00:00") + + + "after 03.11" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/dict_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_decision_feel.dmn new file mode 100644 index 000000000..22d550476 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_decision_feel.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + allergies.keys() + + + + + They are allergic to peanuts + + mGender Description + contains("PEANUTS") + + + "isPeanuts" + + + + They are not allergic to peanuts + + not contains("PEANUTS") + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_feel.dmn new file mode 100644 index 000000000..81aca89f3 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_feel.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + foods.spam.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + True + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + False + + + "correct, spam is not delicious" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_weird_characters_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_weird_characters_feel.dmn new file mode 100644 index 000000000..c7a9602ec --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/dict_dot_notation_decision_weird_characters_feel.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + odd_foods.SPAM_LIKE.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + true + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + false + + + "correct, spam is not delicious" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/exclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/exclusive_feel.dmn new file mode 100644 index 000000000..902140306 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/exclusive_feel.dmn @@ -0,0 +1,31 @@ + + + + + + + sum([1 for x in exclusive if x.ExclusiveSpaceAMComputingID is None]) + + + + + No exclusive spaces without Area Monitor + + 0 + + + true + + + + More than one exclusive space without an Area Monitor + + > 0 + + + false + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_comparison_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_comparison_feel.dmn new file mode 100644 index 000000000..42a421312 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_comparison_feel.dmn @@ -0,0 +1,49 @@ + + + + + + + input + + + + + 30 Row Annotation + + 30 + + + "30" + + + + L Row Annotation + + < 25 + + + "low" + + + + H Row Annotation + + >= 25 + + + "high" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_excl_inclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_excl_inclusive_feel.dmn new file mode 100644 index 000000000..d3f0de87b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_excl_inclusive_feel.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100-110 ExclInclusive Annotation + + ]100..110] + + + "100-110 ExclInclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_exclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_exclusive_feel.dmn new file mode 100644 index 000000000..74200deef --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_exclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100-110 Exclusive Annotation + ]100..110[ + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_incl_exclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_incl_exclusive_feel.dmn new file mode 100644 index 000000000..792d74793 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_incl_exclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100-110 InclExclusive Annotation + [100..110[ + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_inclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_inclusive_feel.dmn new file mode 100644 index 000000000..d667fd18b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/integer_decision_range_inclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100-110 Inclusive Annotation + [100..110] + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/invalid_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/invalid_decision_feel.dmn new file mode 100644 index 000000000..cbafd50c1 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/invalid_decision_feel.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + spam + + + + + This is complletely wrong. + + mGender Description + = 1 + + + "wrong" + + + + so is this. + + >= 100 + + + "My cat's breath smells like cat food." + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/kwargs_parameter_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/kwargs_parameter_feel.dmn new file mode 100644 index 000000000..d470b04b0 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/kwargs_parameter_feel.dmn @@ -0,0 +1,41 @@ + + + + + + + Gender + + + + + m Row Annotation + + mGender Description + "m" + + + "isM" + + + + f Row Annotation + + "f" + + + "isF" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/list_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/list_decision_feel.dmn new file mode 100644 index 000000000..7d993b612 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/list_decision_feel.dmn @@ -0,0 +1,32 @@ + + + + + + + + + + + + They are allergic to peanuts + + mGender Description + contains("PEANUTS") + + + "isPeanuts" + + + + They are not allergic to peanuts + + not contains("PEANUTS") + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_comparison_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_comparison_feel.dmn new file mode 100644 index 000000000..0ccf4a30d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_comparison_feel.dmn @@ -0,0 +1,39 @@ + + + + + + + + + + 30.5 Row Annotation + 30.5 + + + + + + L Row Annotation + + + + + + + H Row Annotation + = 25.4]]> + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_excl_inclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_excl_inclusive_feel.dmn new file mode 100644 index 000000000..7c16ef3d8 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_excl_inclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100.05-110.05 ExclInclusive Annotation + ]100.05..110.05] + + + + + + ELSE Row Annotation + + + + + + + + \ No newline at end of file diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_exclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_exclusive_feel.dmn new file mode 100644 index 000000000..cd689a935 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_exclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100.05-110.05 Exclusive Annotation + ]100.05..110.05[ + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_incl_exclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_incl_exclusive_feel.dmn new file mode 100644 index 000000000..ed30196af --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_incl_exclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100.05-110.05 InclExclusive Annotation + [100.05..110.05[ + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_inclusive_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_inclusive_feel.dmn new file mode 100644 index 000000000..04a5515ab --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/long_or_double_decision_range_inclusive_feel.dmn @@ -0,0 +1,25 @@ + + + + + + + + + + 100.05-110.05 Inclusive Annotation + [100.05..110.05] + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/string_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/string_decision_feel.dmn new file mode 100644 index 000000000..b18d9b053 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/string_decision_feel.dmn @@ -0,0 +1,43 @@ + + + + + + + + + + + + m Row Annotation + + mGender Description + + + + + + + f Row Annotation + + + + + + + NOT x Row Annotation + + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/string_integer_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/string_integer_decision_feel.dmn new file mode 100644 index 000000000..e21f1ca05 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/string_integer_decision_feel.dmn @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + m30 Row Annotation + + mGender Description + + + 30 + + + + + + mL Row Annotation + + + + + + + + + mH Row Annotation + + + = 25]]> + + + + + + fL Row Annotation + + + + + + + + + fH Row Annotation + + + = 20]]> + + + + + + ELSE Row Annotation + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/feel_engine/data/test_integer_decision_feel.dmn b/tests/SpiffWorkflow/dmn/feel_engine/data/test_integer_decision_feel.dmn new file mode 100644 index 000000000..86b41068c --- /dev/null +++ b/tests/SpiffWorkflow/dmn/feel_engine/data/test_integer_decision_feel.dmn @@ -0,0 +1,49 @@ + + + + + + + x + + + + + A Annotation + + 3 + + + "A" + + + + B Annotation + + 4 + + + "B" + + + + C Annotation + + 5 + + + "C" + + + + D Annotation + + >= 6 + + + "D" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/BoolDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/BoolDecisionTest.py new file mode 100644 index 000000000..aedddb4ab --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/BoolDecisionTest.py @@ -0,0 +1,28 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class BoolDecisionTestClass(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('bool_decision.dmn') + + def test_bool_decision_string_output1(self): + res = self.runner.decide({'input': True}) + self.assertEqual(res.description, 'Y Row Annotation') + + def test_bool_decision_string_output2(self): + res = self.runner.decide({'input': False}) + self.assertEqual(res.description, 'N Row Annotation') + + def test_bool_decision_string_output3(self): + res = self.runner.decide(None) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(BoolDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/DateDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/DateDecisionTest.py new file mode 100644 index 000000000..32e7735f1 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/DateDecisionTest.py @@ -0,0 +1,41 @@ +import unittest +from datetime import datetime + +from SpiffWorkflow.dmn.parser.DMNParser import DMNParser +from .PythonDecisionRunner import PythonDecisionRunner + + +class DateDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('date_decision.dmn') + + def test_date_decision_string_output1(self): + res = self.runner.decide(datetime.strptime('2017-11-01T10:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '111 Row Annotation') + + def test_date_decision_string_output2(self): + res = self.runner.decide(datetime.strptime('2017-11-03T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '311 Row Annotation') + + def test_date_decision_string_output3(self): + res = self.runner.decide(datetime.strptime('2017-11-02T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '<3.11 Row Annotation') + + def test_date_decision_string_output4(self): + res = self.runner.decide(datetime.strptime('2017-11-04T00:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '>3.11 Row Annotation') + + def test_date_decision_string_output5(self): + res = self.runner.decide(datetime.strptime('2017-11-13T12:00:00', DMNParser.DT_FORMAT)) + self.assertEqual(res.description, '>13.11<14.11 Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DateDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/DictDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/DictDecisionTest.py new file mode 100644 index 000000000..910e26e96 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/DictDecisionTest.py @@ -0,0 +1,36 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class DictDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('dict_decision.dmn') + + def test_string_decision_string_output1(self): + data = {"allergies": { + "PEANUTS": {"delicious": True}, + "SPAM": {"delicious": False} + }} + res = self.runner.decide(data) + self.assertEqual(res.description, 'They are allergic to peanuts') + + def test_string_decision_string_output2(self): + data = {"allergies": { + "SpAm": {"delicious": False}, + "SPAM": {"delicious": False} + }} + res = self.runner.decide(data) + self.assertEqual(res.description, 'They are not allergic to peanuts') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DictDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionTest.py new file mode 100644 index 000000000..375b9fd16 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionTest.py @@ -0,0 +1,46 @@ +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import Box + +from .PythonDecisionRunner import PythonDecisionRunner + +class DictDotNotationDecisionTestClass(unittest.TestCase): + + @classmethod + def setUpClass(cls): + dmn_files =[ + 'dict_dot_notation_decision.dmn', + 'dict_dot_notation_decision_v1_3.dmn', + ] + cls.runners = [PythonDecisionRunner(d) for d in dmn_files] + + def test_string_decision_string_output1(self): + for runner in self.runners: + data = {"foods": { + "spam": {"delicious": False} + }} + data = Box(data) + res = runner.decide(data) + self.assertEqual(res.description, 'This person has a tongue, brain ' + 'or sense of smell.') + + data = Box({"foods": { + "spam": {"delicious": False} + }}) + + def test_string_decision_string_output2(self): + for runner in self.runners: + data = {"foods": { + "spam": {"delicious": True} + }} + res = runner.decide(Box(data)) + self.assertEqual(res.description, 'This person is lacking many ' + 'critical decision making skills, ' + 'or is a viking.') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DictDotNotationDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionWeirdCharactersTest.py b/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionWeirdCharactersTest.py new file mode 100644 index 000000000..d81acb472 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/DictDotNotationDecisionWeirdCharactersTest.py @@ -0,0 +1,36 @@ +import unittest + +from SpiffWorkflow.bpmn.PythonScriptEngine import Box + +from .PythonDecisionRunner import PythonDecisionRunner + + +class DictDotNotationDecisionWeirdCharactersTestClass(unittest.TestCase): + + @classmethod + def setUpClass(cls): + dmn_files =[ + 'dict_dot_notation_decision_weird_characters.dmn', + 'dict_dot_notation_decision_weird_characters_v1_3.dmn', + ] + cls.runners = [PythonDecisionRunner(d) for d in dmn_files] + + def test_string_decision_string_output1(self): + for runner in self.runners: + data = {"odd_foods": { + "SPAM_LIKE": {"delicious": False} + }} + res = runner.decide(Box(data)) + self.assertEqual(res.description, 'This person has a tongue, brain ' + 'or sense of smell.') + + data = {"foods": { + "spam": {"delicious": False} + }} + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase( + DictDotNotationDecisionWeirdCharactersTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionComparisonTest.py b/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionComparisonTest.py new file mode 100644 index 000000000..a5b825593 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionComparisonTest.py @@ -0,0 +1,31 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class IntegerDecisionComparisonTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('integer_decision_comparison.dmn') + + def test_integer_decision_string_output1(self): + res = self.runner.decide({"Age":30}) + self.assertEqual(res.description, '30 Row Annotation') + + def test_integer_decision_string_output2(self): + res = self.runner.decide({"Age":24}) + self.assertEqual(res.description, 'L Row Annotation') + + def test_integer_decision_string_output3(self): + res = self.runner.decide({"Age":25}) + self.assertEqual(res.description, 'H Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(IntegerDecisionComparisonTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionRangeTest.py b/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionRangeTest.py new file mode 100644 index 000000000..e566a685d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/IntegerDecisionRangeTest.py @@ -0,0 +1,75 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class IntegerDecisionRangeTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + def test_integer_decision_string_output_inclusive(self): + runner = PythonDecisionRunner('integer_decision_range_inclusive.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, '100-110 Inclusive Annotation') + + res = runner.decide({"Age":99}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, '100-110 Inclusive Annotation') + + res = runner.decide({"Age":111}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_integer_decision_string_output_exclusive(self): + runner = PythonDecisionRunner('integer_decision_range_exclusive.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":101}) + self.assertEqual(res.description, '100-110 Exclusive Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":109}) + self.assertEqual(res.description, '100-110 Exclusive Annotation') + + def test_integer_decision_string_output_excl_inclusive(self): + runner = PythonDecisionRunner('integer_decision_range_excl_inclusive.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":101}) + self.assertEqual(res.description, '100-110 ExclInclusive Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, '100-110 ExclInclusive Annotation') + + res = runner.decide({"Age":111}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_integer_decision_string_output_incl_exclusive(self): + runner = PythonDecisionRunner('integer_decision_range_incl_exclusive.dmn') + + res = runner.decide({"Age":100}) + self.assertEqual(res.description, '100-110 InclExclusive Annotation') + + res = runner.decide({"Age":99}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":110}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":109}) + self.assertEqual(res.description, '100-110 InclExclusive Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(IntegerDecisionRangeTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/InvalidBusinessRuleNameErrorTest.py b/tests/SpiffWorkflow/dmn/python_engine/InvalidBusinessRuleNameErrorTest.py new file mode 100644 index 000000000..4e6130576 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/InvalidBusinessRuleNameErrorTest.py @@ -0,0 +1,19 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class InvalidBusinessRuleNameErrorTest(unittest.TestCase): + + def test_integer_decision_string_output_inclusive(self): + runner = PythonDecisionRunner('invalid_decision_name_error.dmn') + try: + res = runner.decide({'spam': 1}) + except Exception as e: + self.assertRegexpMatches(str(e), "Did you mean 'spam'") + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(InvalidBusinessRuleNameErrorTest) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/ListDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/ListDecisionTest.py new file mode 100644 index 000000000..c4aff2521 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/ListDecisionTest.py @@ -0,0 +1,28 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class ListDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('list_decision.dmn') + + def test_string_decision_string_output1(self): + res = self.runner.decide({'allergies',["PEANUTS", "SPAM"]}) + self.assertEqual(res.description, 'They are allergic to peanuts') + + def test_string_decision_string_output1(self): + res = self.runner.decide({'allergies':["SPAM", "SPAM"]}) + self.assertEqual(res.description, 'They are not allergic to peanuts') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ListDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/LongDoubleComparisonTest.py b/tests/SpiffWorkflow/dmn/python_engine/LongDoubleComparisonTest.py new file mode 100644 index 000000000..b129a3b0d --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/LongDoubleComparisonTest.py @@ -0,0 +1,33 @@ +import unittest + +from decimal import Decimal + +from .PythonDecisionRunner import PythonDecisionRunner + + +class LongOrDoubleDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('long_or_double_decision_comparison.dmn') + + def test_long_or_double_decision_string_output1(self): + res = self.runner.decide({"Age":Decimal('30.5')}) + self.assertEqual(res.description, '30.5 Row Annotation') + + def test_long_or_double_decision_string_output2(self): + res = self.runner.decide({"Age":Decimal('25.3')}) + self.assertEqual(res.description, 'L Row Annotation') + + def test_long_or_double_decision_string_output3(self): + res = self.runner.decide({"Age":Decimal('25.4')}) + self.assertEqual(res.description, 'H Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(LongOrDoubleDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/LongOrDoubleRangeTest.py b/tests/SpiffWorkflow/dmn/python_engine/LongOrDoubleRangeTest.py new file mode 100644 index 000000000..e00b5913f --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/LongOrDoubleRangeTest.py @@ -0,0 +1,77 @@ +import unittest + +from decimal import Decimal + +from .PythonDecisionRunner import PythonDecisionRunner + + +class LongOrDoubleDecisionRangeTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + def test_long_or_double_decision_string_output_inclusive(self): + runner = PythonDecisionRunner('long_or_double_decision_range_inclusive.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, '100.05-110.05 Inclusive Annotation') + + res = runner.decide({"Age":Decimal('99')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, '100.05-110.05 Inclusive Annotation') + + res = runner.decide({"Age":Decimal('111')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_long_or_double_decision_string_output_exclusive(self): + runner = PythonDecisionRunner('long_or_double_decision_range_exclusive.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('101')}) + self.assertEqual(res.description, '100.05-110.05 Exclusive Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('109')}) + self.assertEqual(res.description, '100.05-110.05 Exclusive Annotation') + + def test_long_or_double_decision_string_output_excl_inclusive(self): + runner = PythonDecisionRunner('long_or_double_decision_range_excl_inclusive.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('101')}) + self.assertEqual(res.description, '100.05-110.05 ExclInclusive Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, '100.05-110.05 ExclInclusive Annotation') + + res = runner.decide({"Age":Decimal('111')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + def test_long_or_double_decision_string_output_incl_exclusive(self): + runner = PythonDecisionRunner('long_or_double_decision_range_incl_exclusive.dmn') + + res = runner.decide({"Age":Decimal('100.05')}) + self.assertEqual(res.description, '100.05-110.05 InclExclusive Annotation') + + res = runner.decide({"Age":Decimal('99')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('110.05')}) + self.assertEqual(res.description, 'ELSE Row Annotation') + + res = runner.decide({"Age":Decimal('109')}) + self.assertEqual(res.description, '100.05-110.05 InclExclusive Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(LongOrDoubleDecisionRangeTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/NearMissNameTest.py b/tests/SpiffWorkflow/dmn/python_engine/NearMissNameTest.py new file mode 100644 index 000000000..6424dd822 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/NearMissNameTest.py @@ -0,0 +1,53 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class NearMissTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.data = { + "Exclusive": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "eXclusive": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "EXCLUSIVE": [ + { + "ExclusiveSpaceRoomID": "121", + } + ], + "personnel": [ + { + "PersonnelType": "Faculty", + "label": "Steven K Funkhouser (sf4d)", + "value": "sf4d" + } + ], + + "shared": [] + } + + cls.runner = PythonDecisionRunner('exclusive.dmn') + + def test_string_decision_string_output1(self): + self.assertRaisesRegex(Exception, + ".+\['Exclusive', 'eXclusive', 'EXCLUSIVE'\].+", + self.runner.decide, + self.data) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(NearMissTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/PythonDecisionRunner.py b/tests/SpiffWorkflow/dmn/python_engine/PythonDecisionRunner.py new file mode 100644 index 000000000..7abeb88ad --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/PythonDecisionRunner.py @@ -0,0 +1,10 @@ +from decimal import Decimal + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine + +from ..DecisionRunner import DecisionRunner + +class PythonDecisionRunner(DecisionRunner): + + def __init__(self, filename): + super().__init__(PythonScriptEngine(scripting_additions={'Decimal': Decimal}), filename, 'python_engine') \ No newline at end of file diff --git a/tests/SpiffWorkflow/dmn/python_engine/StringDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/StringDecisionTest.py new file mode 100644 index 000000000..a3b808437 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/StringDecisionTest.py @@ -0,0 +1,35 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class StringDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('string_decision.dmn') + + def test_string_decision_string_output1(self): + res = self.runner.decide({"Gender":'m'}) + self.assertEqual(res.description, 'm Row Annotation') + + def test_string_decision_string_output2(self): + res = self.runner.decide({"Gender":'f'}) + self.assertEqual(res.description, 'f Row Annotation') + + def test_string_decision_string_output3(self): + res = self.runner.decide({"Gender":'y'}) + self.assertEqual(res.description, 'NOT x Row Annotation') + + def test_string_decision_string_output4(self): + res = self.runner.decide({"Gender":'x'}) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(StringDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/StringIntegerDecisionTest.py b/tests/SpiffWorkflow/dmn/python_engine/StringIntegerDecisionTest.py new file mode 100644 index 000000000..1b13cafd1 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/StringIntegerDecisionTest.py @@ -0,0 +1,39 @@ +import unittest + +from .PythonDecisionRunner import PythonDecisionRunner + + +class StringIntegerDecisionTestClass(unittest.TestCase): + """ + Doc: https://docs.camunda.org/manual/7.7/user-guide/dmn-engine/ + """ + + @classmethod + def setUpClass(cls): + cls.runner = PythonDecisionRunner('string_integer_decision.dmn') + + def test_string_integer_decision_string_output1(self): + res = self.runner.decide({"Gender":'m', "Age":30}) + self.assertEqual(res.description, 'm30 Row Annotation') + + def test_string_integer_decision_string_output2(self): + res = self.runner.decide({"Gender":'m', "Age":24}) + self.assertEqual(res.description, 'mL Row Annotation') + + def test_string_integer_decision_string_output3(self): + res = self.runner.decide({"Gender":'m', "Age":25}) + self.assertEqual(res.description, 'mH Row Annotation') + + def test_string_integer_decision_string_output4(self): + res = self.runner.decide({"Gender":'f', "Age":-1}) + self.assertEqual(res.description, 'fL Row Annotation') + + def test_string_integer_decision_string_output5(self): + res = self.runner.decide({"Gender":'x', "Age":0}) + self.assertEqual(res.description, 'ELSE Row Annotation') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(StringIntegerDecisionTestClass) + +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/dmn/python_engine/__init__.py b/tests/SpiffWorkflow/dmn/python_engine/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/bool_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/bool_decision.dmn new file mode 100644 index 000000000..aeb4b9d6f --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/bool_decision.dmn @@ -0,0 +1,40 @@ + + + + + + + input + + + + + Y Row Annotation + + True + + + "Yesss" + + + + N Row Annotation + + False + + + "Noooo" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/date_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/date_decision.dmn new file mode 100644 index 000000000..ac14e5832 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/date_decision.dmn @@ -0,0 +1,58 @@ + + + + + + + input + + + + + >13.11<14.11 Row Annotation + + datetime.datetime(2017,11,13) <= ? <= datetime.datetime(2017,11,14,23,59,59) + + + "between 13.11 and 14.11" + + + + 111 Row Annotation + + datetime.datetime(2017,11,1,10) + + + "01.11" + + + + 311 Row Annotation + + datetime.datetime(2017,11,3) + + + "03.11" + + + + <3.11 Row Annotation + + < datetime.datetime(2017,11,3) + + + "before 03.11" + + + + >3.11 Row Annotation + + > datetime.datetime(2017,11,3) + + + "after 03.11" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/dict_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/dict_decision.dmn new file mode 100644 index 000000000..4c26b6151 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/dict_decision.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + allergies.keys() + + + + + They are allergic to peanuts + + mGender Description + "PEANUTS" in ? + + + "isPeanuts" + + + + They are not allergic to peanuts + + "PEANUTS" not in ? + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision.dmn new file mode 100644 index 000000000..42e75fbf1 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + foods.spam.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + True + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + False + + + "correct, spam is not delicious" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_v1_3.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_v1_3.dmn new file mode 100644 index 000000000..69da25695 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_v1_3.dmn @@ -0,0 +1,39 @@ + + + + + + + foods.spam.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + True + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + False + + + "correct, spam is not delicious" + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters.dmn new file mode 100644 index 000000000..3ebb9dc4e --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + odd_foods.SPAM_LIKE.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + True + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + False + + + "correct, spam is not delicious" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters_v1_3.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters_v1_3.dmn new file mode 100644 index 000000000..864ea180a --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/dict_dot_notation_decision_weird_characters_v1_3.dmn @@ -0,0 +1,39 @@ + + + + + + + odd_foods.SPAM_LIKE.delicious + + + + + This person is lacking many critical decision making skills, or is a viking. + + mGender Description + True + + + "wrong" + + + + This person has a tongue, brain or sense of smell. + + False + + + "correct, spam is not delicious" + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/exclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/exclusive.dmn new file mode 100644 index 000000000..95065d0e4 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/exclusive.dmn @@ -0,0 +1,31 @@ + + + + + + + sum([1 for x in exclusive if x.ExclusiveSpaceAMComputingID is None]) + + + + + No exclusive spaces without Area Monitor + + 0 + + + true + + + + More than one exclusive space without an Area Monitor + + > 0 + + + false + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_comparison.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_comparison.dmn new file mode 100644 index 000000000..6ef46d6af --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_comparison.dmn @@ -0,0 +1,39 @@ + + + + + + + + + + 30 Row Annotation + 30 + + + + + + L Row Annotation + + + + + + + H Row Annotation + = 25]]> + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_excl_inclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_excl_inclusive.dmn new file mode 100644 index 000000000..5786e6ac9 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_excl_inclusive.dmn @@ -0,0 +1,38 @@ + + + + + + + + + + Assure that ? is not incorrectly interpreted when quoted. + + "RedHarring?" + + + "Possible Bug" + + + + 100-110 ExclInclusive Annotation + + 100 < ? <= 110 + + + "100-110 ExclInclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_exclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_exclusive.dmn new file mode 100644 index 000000000..53dfb5217 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_exclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100-110 Exclusive Annotation + + 100 < ? < 110 + + + "100-110 Exclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_incl_exclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_incl_exclusive.dmn new file mode 100644 index 000000000..34d739bd2 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_incl_exclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100-110 InclExclusive Annotation + + 100 <= ? < 110 + + + "100-110 InclExclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_inclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_inclusive.dmn new file mode 100644 index 000000000..27afab635 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/integer_decision_range_inclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100-110 Inclusive Annotation + + 100 <= ? <= 110 + + + "100-110 Inclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/invalid_decision_name_error.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/invalid_decision_name_error.dmn new file mode 100644 index 000000000..8c8e343fe --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/invalid_decision_name_error.dmn @@ -0,0 +1,35 @@ + + + + + + + + + + sparm + + + + + I need sleep. + + mGender Description + == 1 + + + "Apes plague my brain" + + + + so is this. + + >= 100 + + + "My cat's breath smells like cat food." + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/kwargs_parameter.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/kwargs_parameter.dmn new file mode 100644 index 000000000..351397cf4 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/kwargs_parameter.dmn @@ -0,0 +1,41 @@ + + + + + + + Gender + + + + + m Row Annotation + + mGender Description + "m" + + + "isM" + + + + f Row Annotation + + "f" + + + "isF" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/list_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/list_decision.dmn new file mode 100644 index 000000000..c3ecf312e --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/list_decision.dmn @@ -0,0 +1,32 @@ + + + + + + + + + + + + They are allergic to peanuts + + mGender Description + "PEANUTS" in ? + + + "isPeanuts" + + + + They are not allergic to peanuts + + "PEANUTS" not in ? + + + "IsNotPeanuts" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_comparison.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_comparison.dmn new file mode 100644 index 000000000..ef74e30b6 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_comparison.dmn @@ -0,0 +1,39 @@ + + + + + + + + + + 30.5 Row Annotation + 30.5 + + + + + + L Row Annotation + + + + + + + H Row Annotation + = 25.4]]> + + + + + + ELSE Row Annotation + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_excl_inclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_excl_inclusive.dmn new file mode 100644 index 000000000..d095d2147 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_excl_inclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100.05-110.05 ExclInclusive Annotation + + Decimal('100.05') < ? <= Decimal('110.05') + + + "100.05-110.05 ExclInclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_exclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_exclusive.dmn new file mode 100644 index 000000000..1a8e79b5f --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_exclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100.05-110.05 Exclusive Annotation + + Decimal('100.05') < ? < Decimal('110.05') + + + "100.05-110.05 Exclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_incl_exclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_incl_exclusive.dmn new file mode 100644 index 000000000..3cb396b28 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_incl_exclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100.05-110.05 InclExclusive Annotation + + 100.05 <= ? < 110.05 + + + "100.05-110.05 InclExclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_inclusive.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_inclusive.dmn new file mode 100644 index 000000000..325d6134b --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/long_or_double_decision_range_inclusive.dmn @@ -0,0 +1,29 @@ + + + + + + + + + + 100.05-110.05 Inclusive Annotation + + Decimal('100.05') <= ? <= Decimal('110.05') + + + "100.05-110.05 Inclusive" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/string_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/string_decision.dmn new file mode 100644 index 000000000..4860f018c --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/string_decision.dmn @@ -0,0 +1,50 @@ + + + + + + + + + + + + m Row Annotation + + mGender Description + "m" + + + "isM" + + + + f Row Annotation + + "f" + + + "isF" + + + + NOT x Row Annotation + + ? != "x" + + + "notX" + + + + ELSE Row Annotation + + + + + "ELSE" + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/string_integer_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/string_integer_decision.dmn new file mode 100644 index 000000000..3fb05c367 --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/string_integer_decision.dmn @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + m30 Row Annotation + + mGender Description + + + 30 + + + + + + mL Row Annotation + + + + + + + + + mH Row Annotation + + + = 25]]> + + + + + + fL Row Annotation + + + + + + + + + fH Row Annotation + + + = 20]]> + + + + + + ELSE Row Annotation + + + + + + + + + + diff --git a/tests/SpiffWorkflow/dmn/python_engine/data/test_integer_decision.dmn b/tests/SpiffWorkflow/dmn/python_engine/data/test_integer_decision.dmn new file mode 100644 index 000000000..9986d16ad --- /dev/null +++ b/tests/SpiffWorkflow/dmn/python_engine/data/test_integer_decision.dmn @@ -0,0 +1,49 @@ + + + + + + + x + + + + + A Annotation + + 3 + + + "A" + + + + B Annotation + + 4 + + + "B" + + + + C Annotation + + 5 + + + "C" + + + + D Annotation + + >= 6 + + + "D" + + + + + diff --git a/tests/SpiffWorkflow/docTest.py b/tests/SpiffWorkflow/docTest.py new file mode 100644 index 000000000..3a1ef1cf5 --- /dev/null +++ b/tests/SpiffWorkflow/docTest.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +dirname = os.path.abspath(os.path.dirname(__file__)) +sys.path.insert(0, os.path.join(dirname, '..', '..')) +doc_dir = os.path.join(dirname, '..', '..', 'doc') + + +class TutorialTest(object): + + """ + Tests the examples that are included in the docs. + """ + tutorial_dir = None + + def setUp(self): + os.chdir(self.tutorial_dir) + sys.path.insert(0, self.tutorial_dir) + + def tearDown(self): + sys.path.pop(0) + os.chdir(dirname) + + def testTutorial(self): + from start import workflow + self.assertTrue(workflow.is_completed()) + + +class Tutorial1Test(TutorialTest, unittest.TestCase): + tutorial_dir = os.path.join(doc_dir, 'non-bpmn', 'tutorial') + + +class Tutorial2Test(TutorialTest, unittest.TestCase): + tutorial_dir = os.path.join(doc_dir, 'non-bpmn', 'custom-tasks') + + +def suite(): + tests = unittest.TestLoader().loadTestsFromTestCase(Tutorial1Test) + tests.addTests( + unittest.defaultTestLoader.loadTestsFromTestCase(Tutorial2Test)) + return tests +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/serializer/__init__.py b/tests/SpiffWorkflow/serializer/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/serializer/baseTest.py b/tests/SpiffWorkflow/serializer/baseTest.py new file mode 100644 index 000000000..9bb79b137 --- /dev/null +++ b/tests/SpiffWorkflow/serializer/baseTest.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- + +from builtins import str +import sys +import unittest +import os +import warnings +dirname = os.path.dirname(__file__) +data_dir = os.path.join(dirname, '..', 'data') +sys.path.insert(0, os.path.join(dirname, '..')) + +from PatternTest import run_workflow, PatternTest +from SpiffWorkflow.serializer.base import Serializer +from SpiffWorkflow.specs import WorkflowSpec +from SpiffWorkflow.workflow import Workflow +from SpiffWorkflow.serializer.exceptions import TaskNotSupportedError + + +class SerializerTest(PatternTest): + + def setUp(self): + super(SerializerTest, self).setUp() + self.serializer = Serializer() + self.return_type = None + + def _prepare_result(self, item): + return item + + def _compare_results(self, item1, item2, exclude_dynamic=False, + exclude_items=None): + #with open('1.xml', 'w') as fp: fp.write(item1) + #with open('2.xml', 'w') as fp: fp.write(item2) + self.assertEqual(item1.decode('utf8'), item2.decode('utf8')) + + def _test_roundtrip_serialization(self, obj): + # Test round trip serialization. + try: + serialized1 = obj.serialize(self.serializer) + restored = obj.__class__.deserialize(self.serializer, serialized1) + serialized2 = restored.serialize(self.serializer) + except TaskNotSupportedError as e: + warnings.warn('unsupported task spec: ' + str(e)) + return + self.assertIsInstance(serialized1, self.return_type) + self.assertIsInstance(serialized2, self.return_type) + serialized1 = self._prepare_result(serialized1) + serialized2 = self._prepare_result(serialized2) + self._compare_results(serialized1, serialized2) + return serialized1 + + def _test_workflow_spec(self, test): + spec_result1 = self._test_roundtrip_serialization(test.spec) + spec_result2 = self._test_roundtrip_serialization(test.spec) + self.assertEqual(spec_result1, spec_result2) + self._compare_results(spec_result1, spec_result2) + + workflow = run_workflow(self, test.spec, test.path, test.data) + spec_result3 = self._test_roundtrip_serialization(test.spec) + wf_result3 = self._test_roundtrip_serialization(workflow) + # We can't compare spec_result 2 and 3, because starting a workflow + # implicitely causes a Root node to be added to the workflow spec. + # (No, that doesn't seem to be a clean solution.) + # self.assertEqual(spec_result2, spec_result3) + # self._compare_results(spec_result2, spec_result3) + + def testWorkflowSpec(self): + if type(self.serializer) is Serializer: + spec = self.workflows[0].spec + wf = Workflow(spec) + self.assertRaises(NotImplementedError, spec.serialize, + self.serializer) + self.assertRaises(NotImplementedError, + WorkflowSpec.deserialize, self.serializer, None) + self.assertRaises(NotImplementedError, wf.serialize, + self.serializer) + self.assertRaises(NotImplementedError, + Workflow.deserialize, self.serializer, None) + return + + for test in self.workflows: + print(test.filename) + self._test_workflow_spec(test) + + +def suite(): + return unittest.defaultTestLoader.loadTestsFromTestCase(SerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/serializer/dictTest.py b/tests/SpiffWorkflow/serializer/dictTest.py new file mode 100644 index 000000000..4143ec605 --- /dev/null +++ b/tests/SpiffWorkflow/serializer/dictTest.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- + +from builtins import str +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +import uuid +from SpiffWorkflow.serializer.dict import DictionarySerializer +from .baseTest import SerializerTest +from SpiffWorkflow.workflow import Workflow + + +class DictionarySerializerTest(SerializerTest): + + def setUp(self): + super(DictionarySerializerTest, self).setUp() + self.serializer = DictionarySerializer() + self.return_type = dict + + def _compare_results(self, item1, item2, + exclude_dynamic=False, + exclude_items=None): + exclude_items = exclude_items if exclude_items is not None else [] + if exclude_dynamic: + if 'last_state_change' not in exclude_items: + exclude_items.append('last_state_change') + if 'last_task' not in exclude_items: + exclude_items.append('last_task') + if uuid.UUID not in exclude_items: + exclude_items.append(uuid.UUID) + if type(item1) in exclude_items: + return + + if isinstance(item1, dict): + self.assertIsInstance(item2, dict) + for key, value in list(item1.items()): + self.assertIn(key, item2) + if key in exclude_items: + continue + self._compare_results(value, item2[key], + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + for key in item2: + self.assertIn(key, item1) + + elif isinstance(item1, list): + msg = "item is not a list (is a " + str(type(item2)) + ")" + self.assertIsInstance(item2, list, msg) + msg = "list lengths differ: {} vs {}".format( + len(item1), len(item2)) + self.assertEqual(len(item1), len(item2), msg) + for i, listitem in enumerate(item1): + self._compare_results(listitem, item2[i], + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + + elif isinstance(item1, Workflow): + raise Exception("Item is a Workflow") + + else: + msg = "{}: types differ: {} vs {}".format( + str(item2), type(item1), type(item2)) + self.assertEqual(type(item1), type(item2), msg) + self.assertEqual(item1, item2) + + +def suite(): + return unittest.defaultTestLoader.loadTestsFromTestCase(DictionarySerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/serializer/jsonTest.py b/tests/SpiffWorkflow/serializer/jsonTest.py new file mode 100644 index 000000000..cfdaa4d6b --- /dev/null +++ b/tests/SpiffWorkflow/serializer/jsonTest.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +import json +from SpiffWorkflow.serializer.json import JSONSerializer +from .dictTest import DictionarySerializerTest + + +class JSONSerializerTest(DictionarySerializerTest): + + def setUp(self): + super(JSONSerializerTest, self).setUp() + self.serializer = JSONSerializer() + self.return_type = str + + def _prepare_result(self, item): + return json.loads(item) + + def _compare_results(self, item1, item2, exclude_dynamic=False, + exclude_items=None): + if exclude_dynamic: + exclude_items = ['__uuid__'] + else: + exclude_items = [] + super(JSONSerializerTest, self)._compare_results(item1, item2, + exclude_dynamic=exclude_dynamic, + exclude_items=exclude_items) + + +def suite(): + return unittest.defaultTestLoader.loadTestsFromTestCase(JSONSerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/serializer/prettyxmlTest.py b/tests/SpiffWorkflow/serializer/prettyxmlTest.py new file mode 100644 index 000000000..25a604c66 --- /dev/null +++ b/tests/SpiffWorkflow/serializer/prettyxmlTest.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +data_dir = os.path.join(dirname, '..', 'data') +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from SpiffWorkflow.serializer.prettyxml import XmlSerializer +from .baseTest import SerializerTest + + +class XmlSerializerTest(SerializerTest): + + def setUp(self): + super(XmlSerializerTest, self).setUp() + self.serializer = XmlSerializer() + self.return_type = str + + def testWorkflowSpec(self): + # Nothing to test here: The deserialization is already used in setUp() + # to load all specs, and serialization is not supported. + pass + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(XmlSerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/serializer/xmlTest.py b/tests/SpiffWorkflow/serializer/xmlTest.py new file mode 100644 index 000000000..bdffc6e9e --- /dev/null +++ b/tests/SpiffWorkflow/serializer/xmlTest.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..')) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from lxml import etree +from SpiffWorkflow.serializer.xml import XmlSerializer +from serializer.baseTest import SerializerTest + + +class XmlSerializerTest(SerializerTest): + + def setUp(self): + super(XmlSerializerTest, self).setUp() + self.serializer = XmlSerializer() + self.return_type = etree._Element + + def _prepare_result(self, item): + return etree.tostring(item, pretty_print=True) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(XmlSerializerTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/CeleryTest.py b/tests/SpiffWorkflow/specs/CeleryTest.py new file mode 100644 index 000000000..9190dd33f --- /dev/null +++ b/tests/SpiffWorkflow/specs/CeleryTest.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +import os +import sys +import unittest +import pickle +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) +from .TaskSpecTest import TaskSpecTest +from SpiffWorkflow.specs import Celery, WorkflowSpec +from SpiffWorkflow.operators import Attrib +from SpiffWorkflow.serializer.dict import DictionarySerializer +from base64 import b64encode + + +class CeleryTest(TaskSpecTest): + CORRELATE = Celery + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + return Celery(self.wf_spec, + 'testtask', 'call.name', + call_args=[Attrib('the_attribute'), 1], + description='foo', + named_kw=[], + dict_kw={} + ) + + def testTryFire(self): + pass + + def testRetryFire(self): + pass + + def testSerializationWithoutKwargs(self): + new_wf_spec = WorkflowSpec() + serializer = DictionarySerializer() + nokw = Celery(self.wf_spec, 'testnokw', 'call.name', + call_args=[Attrib('the_attribute'), 1]) + data = nokw.serialize(serializer) + nokw2 = Celery.deserialize(serializer, new_wf_spec, data) + self.assertDictEqual(nokw.kwargs, nokw2.kwargs) + + kw = Celery(self.wf_spec, 'testkw', 'call.name', + call_args=[Attrib('the_attribute'), 1], + some_arg={"key": "value"}) + data = kw.serialize(serializer) + kw2 = Celery.deserialize(serializer, new_wf_spec, data) + self.assertDictEqual(kw.kwargs, kw2.kwargs) + + # Has kwargs, but they belong to TaskSpec + kw_defined = Celery(self.wf_spec, 'testkwdef', 'call.name', + call_args=[Attrib('the_attribute'), 1], + some_ref=Attrib('value'), + defines={"key": "value"}) + data = kw_defined.serialize(serializer) + kw_defined2 = Celery.deserialize(serializer, new_wf_spec, data) + self.assertIsInstance(kw_defined2.kwargs['some_ref'], Attrib) + + args = [b64encode(pickle.dumps(v)) + for v in [Attrib('the_attribute'), 'ip', 'dc455016e2e04a469c01a866f11c0854']] + + data = {'R': b64encode(pickle.dumps('1'))} + # Comes from live data. Bug not identified, but there we are... + data = {'inputs': ['Wait:1'], 'lookahead': 2, 'description': '', + 'outputs': [], 'args': args, + 'manual': False, + 'data': data, 'locks': [], 'pre_assign': [], + 'call': 'call.x', + 'internal': False, 'post_assign': [], 'id': 8, + 'result_key': None, 'defines': data, + 'class': 'SpiffWorkflow.specs.Celery.Celery', + 'name': 'RS1:1'} + Celery.deserialize(serializer, new_wf_spec, data) + + +def suite(): + try: + import celery + except ImportError: + print("WARNING: Celery not found, not all tests are running!") + return lambda x: None + else: + return unittest.TestLoader().loadTestsFromTestCase(CeleryTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/DeepMergeTest.py b/tests/SpiffWorkflow/specs/DeepMergeTest.py new file mode 100644 index 000000000..3fa3944ef --- /dev/null +++ b/tests/SpiffWorkflow/specs/DeepMergeTest.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- + + + +import os +import sys +import unittest + +from SpiffWorkflow.util.deep_merge import DeepMerge + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from .TaskSpecTest import TaskSpecTest + + +class DeepMergeTest(TaskSpecTest): + CORRELATE = DeepMerge + + def testBasicMerge(self): + """ + Tests that we can merge one dictionary into another dictionary deeply + and that dot-notation is correctly parsed and processed. + """ + a = {"fruit": {"apples": "tasty"}} + b = {"fruit": {"oranges": "also tasty"}} + c = DeepMerge.merge(a, b) + self.assertEqual({"fruit": + {"apples": "tasty", + "oranges": "also tasty" + } + }, c) + + + def testOutOfOrderMerge(self): + a = {"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}]} + b = {"foods": [{"fruit": {"oranges": "also tasty", "apples": "tasty"}}, + {"canned meats": {"spam": "nope."}}]} + c = DeepMerge.merge(a, b) + self.assertEqual({"foods": [ + {"fruit": + {"apples": "tasty", + "oranges": "also tasty" + } + }, + {"canned meats": + {"spam": "nope."} + } + ]}, c) + + def testMixOfArrayTypes(self): + a = {"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}, + {"canned_meats":["spam", "more spam"]}]} + b = {"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}, + {"canned_meats":["wonderful spam", "spam", "more spam"]}]} + + c = DeepMerge.merge(a, b) + + self.assertEqual({"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}, + {"canned_meats":["spam", "more spam", "wonderful spam"]}]}, c) + + def testRemovingItemsFromArrays(self): + a = {"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}, + {"canned_meats":["spam", "more spam"]}]} + b = {"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}]} + + c = DeepMerge.merge(a, b) + + self.assertEqual({"foods": [{"fruit": {"apples": "tasty", "oranges": "also tasty"}}]}, c) + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(DeepMergeTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/ExecuteTest.py b/tests/SpiffWorkflow/specs/ExecuteTest.py new file mode 100644 index 000000000..bd3b06fd5 --- /dev/null +++ b/tests/SpiffWorkflow/specs/ExecuteTest.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + + + +import os +import sys +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from tests.SpiffWorkflow.util import run_workflow +from .TaskSpecTest import TaskSpecTest +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.specs import Execute + + +class ExecuteTest(TaskSpecTest): + CORRELATE = Execute + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + return Execute(self.wf_spec, + 'testtask', + description='foo', + args=self.cmd_args) + + def setUp(self): + self.cmd_args = ["python", "ExecuteProcessMock.py"] + TaskSpecTest.setUp(self) + + def testConstructor(self): + TaskSpecTest.testConstructor(self) + self.assertEqual(self.spec.args, self.cmd_args) + + def testPattern(self): + """ + Tests that we can create a task that executes a shell command + and that the workflow can be called to complete such tasks. + """ + self.wf_spec.start.connect(self.spec) + expected = 'Start\n testtask\n' + workflow = run_workflow(self, self.wf_spec, expected, '') + task = workflow.get_tasks_from_spec_name('testtask')[0] + self.assertEqual(task.state_history, [TaskState.FUTURE, + TaskState.WAITING, + TaskState.READY, + TaskState.COMPLETED]) + self.assertIn(b'127.0.0.1', task.results[0]) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ExecuteTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/JoinTest.py b/tests/SpiffWorkflow/specs/JoinTest.py new file mode 100644 index 000000000..3eeb92866 --- /dev/null +++ b/tests/SpiffWorkflow/specs/JoinTest.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + + + +import os +import sys +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from .TaskSpecTest import TaskSpecTest +from SpiffWorkflow.specs import Join + + +class JoinTest(TaskSpecTest): + CORRELATE = Join + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + + return Join(self.wf_spec, + 'testtask', + description='foo') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(JoinTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/MergeTest.py b/tests/SpiffWorkflow/specs/MergeTest.py new file mode 100644 index 000000000..68f028d90 --- /dev/null +++ b/tests/SpiffWorkflow/specs/MergeTest.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + + + +import os +import sys +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from .JoinTest import JoinTest +from SpiffWorkflow.specs import Merge, WorkflowSpec, Simple +from SpiffWorkflow.workflow import Workflow + + +class MergeTest(JoinTest): + CORRELATE = Merge + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + + return Merge(self.wf_spec, + 'testtask', + description='foo') + + def test_Merge_data_merging(self): + """Test that Merge task actually merges data""" + wf_spec = WorkflowSpec() + first = Simple(wf_spec, 'first') + second = Simple(wf_spec, 'second') + third = Simple(wf_spec, 'third') + bump = Simple(wf_spec, 'bump') + fourth = Simple(wf_spec, 'fourth') + merge1 = Merge(wf_spec, 'merge 1') + simple1 = Simple(wf_spec, 'simple 1') + merge2 = Merge(wf_spec, 'merge 2') + simple2 = Simple(wf_spec, 'simple 2') + unmerged = Simple(wf_spec, 'unmerged') + + wf_spec.start.connect(first) + wf_spec.start.connect(second) + wf_spec.start.connect(third) + wf_spec.start.connect(bump) + bump.connect(fourth) # Test join at different depths in tree + + first.connect(merge1) + second.connect(merge1) + second.connect(unmerged) + + first.connect(merge2) + second.connect(merge2) + third.connect(merge2) + fourth.connect(merge2) + + merge1.connect(simple1) + merge2.connect(simple2) + + workflow = Workflow(wf_spec) + workflow.task_tree.set_data(everywhere=1) + for task in workflow.get_tasks(): + task.set_data(**{'name': task.get_name(), task.get_name(): 1}) + workflow.complete_all() + self.assertTrue(workflow.is_completed()) + found = {} + for task in workflow.get_tasks(): + if task.task_spec is simple1: + self.assertIn('first', task.data) + self.assertIn('second', task.data) + self.assertEqual(task.data, {'Start': 1, + 'merge 1': 1, 'name': 'Start', 'simple 1': 1, + 'second': 1, 'first': 1}) + found['simple1'] = task + if task.task_spec is simple2: + self.assertIn('first', task.data) + self.assertIn('second', task.data) + self.assertIn('third', task.data) + self.assertIn('fourth', task.data) + self.assertEqual(task.data, {'merge 2': 1, + 'simple 2': 1, 'name': 'Start', 'third': 1, 'bump': 1, + 'Start': 1, 'second': 1, 'first': 1, 'fourth': 1}) + found['simple2'] = task + if task.task_spec is unmerged: + self.assertEqual(task.data, {'Start': 1, + 'second': 1, 'name': 'Start', 'unmerged': 1}) + found['unmerged'] = task + self.assertIn('simple1', found) + self.assertIn('simple2', found) + self.assertIn('unmerged', found) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(MergeTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/SubWorkflowTest.py b/tests/SpiffWorkflow/specs/SubWorkflowTest.py new file mode 100644 index 000000000..aed09fc27 --- /dev/null +++ b/tests/SpiffWorkflow/specs/SubWorkflowTest.py @@ -0,0 +1,127 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from SpiffWorkflow.specs import WorkflowSpec +from SpiffWorkflow.specs.SubWorkflow import SubWorkflow +from SpiffWorkflow.serializer.prettyxml import XmlSerializer +from SpiffWorkflow.task import TaskState +from SpiffWorkflow.workflow import Workflow + + +class TaskSpecTest(unittest.TestCase): + CORRELATE = SubWorkflow + + def testConstructor(self): + pass # FIXME + + def testSerialize(self): + pass # FIXME + + def testTest(self): + pass # FIXME + + def load_workflow_spec(self, folder, f): + file = os.path.join( + os.path.dirname(__file__), '..', 'data', 'spiff', folder, f) + serializer = XmlSerializer() + with open(file) as fp: + xml = fp.read() + self.wf_spec = WorkflowSpec.deserialize( + serializer, xml, filename=file) + self.workflow = Workflow(self.wf_spec) + + def do_next_unique_task(self, name): + # This method asserts that there is only one ready task! The specified + # one - and then completes it + ready_tasks = self.workflow.get_tasks(TaskState.READY) + self.assertEqual(1, len(ready_tasks)) + task = ready_tasks[0] + self.assertEqual(name, task.task_spec.name) + task.complete() + + def do_next_named_step(self, name, other_ready_tasks): + # This method completes a single task from the specified set of ready + # tasks + ready_tasks = self.workflow.get_tasks(TaskState.READY) + all_tasks = sorted([name] + other_ready_tasks) + self.assertEqual( + all_tasks, sorted([t.task_spec.name for t in ready_tasks])) + task = list([t for t in ready_tasks if t.task_spec.name == name])[0] + task.complete() + + def test_block_to_subworkflow(self): + self.load_workflow_spec('data', 'block_to_subworkflow.xml') + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_unique_task('sub_workflow_1') + # Inner: + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_unique_task('last') + self.do_next_unique_task('End') + # Back to outer: + self.do_next_unique_task('last') + self.do_next_unique_task('End') + + def test_subworkflow_to_block(self): + self.load_workflow_spec('data', 'subworkflow_to_block.xml') + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_unique_task('sub_workflow_1') + # Inner: + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_unique_task('last') + self.do_next_unique_task('End') + # Back to outer: + self.do_next_unique_task('last') + self.do_next_unique_task('End') + + def test_subworkflow_to_join(self): + self.load_workflow_spec('control-flow', 'subworkflow_to_join.xml') + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_named_step('second', ['sub_workflow_1']) + self.do_next_unique_task('sub_workflow_1') + # Inner: + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_unique_task('last') + self.do_next_unique_task('End') + # Back to outer: + self.do_next_unique_task('join') + self.do_next_unique_task('last') + self.do_next_unique_task('End') + + def test_subworkflow_to_join_refresh_waiting(self): + self.load_workflow_spec('control-flow', 'subworkflow_to_join.xml') + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + self.do_next_named_step('second', ['sub_workflow_1']) + self.do_next_unique_task('sub_workflow_1') + # Inner: + self.do_next_unique_task('Start') + self.do_next_unique_task('first') + + # Now refresh waiting tasks: + # Update the state of every WAITING task. + for thetask in self.workflow._get_waiting_tasks(): + thetask.task_spec._update(thetask) + + self.do_next_unique_task('last') + self.do_next_unique_task('End') + # Back to outer: + self.do_next_unique_task('join') + self.do_next_unique_task('last') + self.do_next_unique_task('End') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TaskSpecTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/TaskSpecTest.py b/tests/SpiffWorkflow/specs/TaskSpecTest.py new file mode 100644 index 000000000..2b213b4af --- /dev/null +++ b/tests/SpiffWorkflow/specs/TaskSpecTest.py @@ -0,0 +1,130 @@ +# -*- coding: utf-8 -*- + +import sys +import unittest +import os +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from SpiffWorkflow.specs import WorkflowSpec, Simple, Join +from SpiffWorkflow.exceptions import WorkflowException +from SpiffWorkflow.specs import TaskSpec +from SpiffWorkflow.serializer.dict import DictionarySerializer + + +class TaskSpecTest(unittest.TestCase): + CORRELATE = TaskSpec + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + return TaskSpec(self.wf_spec, 'testtask', description='foo') + + def setUp(self): + self.wf_spec = WorkflowSpec() + self.spec = self.create_instance() + + def testConstructor(self): + self.assertEqual(self.spec.name, 'testtask') + self.assertEqual(self.spec.description, 'foo') + self.assertEqual(self.spec.data, {}) + self.assertEqual(self.spec.defines, {}) + self.assertEqual(self.spec.pre_assign, []) + self.assertEqual(self.spec.post_assign, []) + self.assertEqual(self.spec.locks, []) + + def testSetData(self): + self.assertEqual(self.spec.get_data('foo'), None) + self.assertEqual(self.spec.get_data('foo', 'bar'), 'bar') + self.spec.set_data(foo='foobar') + self.assertEqual(self.spec.get_data('foo'), 'foobar') + self.assertEqual(self.spec.get_data('foo', 'bar'), 'foobar') + + def testGetData(self): + return self.testSetData() + + def testConnect(self): + self.assertEqual(self.spec.outputs, []) + self.assertEqual(self.spec.inputs, []) + spec = self.create_instance() + self.spec.connect(spec) + self.assertEqual(self.spec.outputs, [spec]) + self.assertEqual(spec.inputs, [self.spec]) + + def testFollow(self): + self.assertEqual(self.spec.outputs, []) + self.assertEqual(self.spec.inputs, []) + spec = self.create_instance() + self.spec.follow(spec) + self.assertEqual(spec.outputs, [self.spec]) + self.assertEqual(self.spec.inputs, [spec]) + + def testTest(self): + # Should fail because the TaskSpec has no id yet. + spec = self.create_instance() + self.assertRaises(WorkflowException, spec.test) + + # Should fail because the task has no inputs. + self.spec.id = 1 + self.assertRaises(WorkflowException, spec.test) + + # Connect another task to make sure that it has an input. + self.spec.connect(spec) + self.assertEqual(spec.test(), None) + + def testSerialize(self): + serializer = DictionarySerializer() + spec = self.create_instance() + + try: + serialized = spec.serialize(serializer) + self.assertIsInstance(serialized, dict) + except NotImplementedError: + self.assertIsInstance(spec, TaskSpec) + self.assertRaises(NotImplementedError, + spec.__class__.deserialize, None, None, None) + return + + new_wf_spec = WorkflowSpec() + new_spec = spec.__class__.deserialize(serializer, new_wf_spec, + serialized) + before = spec.serialize(serializer) + after = new_spec.serialize(serializer) + self.assertEqual(before, after, 'Before:\n%s\nAfter:\n%s\n' % (before, + after)) + + def testAncestors(self): + T1 = Simple(self.wf_spec, 'T1') + T2A = Simple(self.wf_spec, 'T2A') + T2B = Simple(self.wf_spec, 'T2B') + M = Join(self.wf_spec, 'M') + T3 = Simple(self.wf_spec, 'T3') + + T1.follow(self.wf_spec.start) + T2A.follow(T1) + T2B.follow(T1) + T2A.connect(M) + T2B.connect(M) + T3.follow(M) + + self.assertEqual(T1.ancestors(), [self.wf_spec.start]) + self.assertEqual(T2A.ancestors(), [T1, self.wf_spec.start]) + self.assertEqual(T2B.ancestors(), [T1, self.wf_spec.start]) + self.assertEqual(M.ancestors(), [T2A, T1, self.wf_spec.start, T2B]) + self.assertEqual(len(T3.ancestors()), 5) + + def test_ancestors_cyclic(self): + T1 = Join(self.wf_spec, 'T1') + T2 = Simple(self.wf_spec, 'T2') + + T1.follow(self.wf_spec.start) + T2.follow(T1) + T1.connect(T2) + + self.assertEqual(T1.ancestors(), [self.wf_spec.start]) + self.assertEqual(T2.ancestors(), [T1, self.wf_spec.start]) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TaskSpecTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/TransformTest.py b/tests/SpiffWorkflow/specs/TransformTest.py new file mode 100644 index 000000000..ca2aaf1c3 --- /dev/null +++ b/tests/SpiffWorkflow/specs/TransformTest.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + + + +import os +import sys +import unittest +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +from tests.SpiffWorkflow.util import run_workflow +from .TaskSpecTest import TaskSpecTest +from SpiffWorkflow.specs import Transform, Simple + + +class TransformTest(TaskSpecTest): + CORRELATE = Transform + + def create_instance(self): + if 'testtask' in self.wf_spec.task_specs: + del self.wf_spec.task_specs['testtask'] + + return Transform(self.wf_spec, + 'testtask', + description='foo', + transforms=['']) + + def testPattern(self): + """ + Tests that we can create a task that executes a shell command + and that the workflow can be called to complete such tasks. + """ + task1 = Transform(self.wf_spec, 'First', transforms=[ + "my_task.set_data(foo=1)"]) + self.wf_spec.start.connect(task1) + task2 = Transform(self.wf_spec, 'Second', transforms=[ + "my_task.set_data(foo=my_task.data['foo']+1)", + "my_task.set_data(copy=my_task.data['foo'])" + ]) + task1.connect(task2) + task3 = Simple(self.wf_spec, 'Last') + task2.connect(task3) + + expected = 'Start\n First\n Second\n Last\n' + workflow = run_workflow(self, self.wf_spec, expected, '') + first = workflow.get_tasks_from_spec_name('First')[0] + last = workflow.get_tasks_from_spec_name('Last')[0] + self.assertEqual(first.data.get('foo'), 1) + self.assertEqual(last.data.get('foo'), 2) + self.assertEqual(last.data.get('copy'), 2) + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(TransformTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/WorkflowSpecTest.py b/tests/SpiffWorkflow/specs/WorkflowSpecTest.py new file mode 100644 index 000000000..8b0289b8d --- /dev/null +++ b/tests/SpiffWorkflow/specs/WorkflowSpecTest.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- + +from builtins import zip +from builtins import range +import os +import sys +import unittest +data_dir = os.path.join(os.path.dirname(__file__), '..', 'data') +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..')) + +import pickle +from random import randint +try: + from util import track_workflow +except ImportError as e: + from tests.SpiffWorkflow.util import track_workflow +from SpiffWorkflow.workflow import Workflow +from SpiffWorkflow.specs import Join, WorkflowSpec +from SpiffWorkflow.serializer.prettyxml import XmlSerializer + +serializer = XmlSerializer() +data_file = 'data.pkl' + + +class WorkflowSpecTest(unittest.TestCase): + CORRELATE = WorkflowSpec + + def setUp(self): + self.wf_spec = WorkflowSpec() + + def testConstructor(self): + spec = WorkflowSpec('my spec') + self.assertEqual('my spec', spec.name) + + def testGetTaskSpecFromName(self): + pass # FIXME + + def testGetDump(self): + pass # FIXME + + def testDump(self): + pass # FIXME + + def doPickleSingle(self, workflow, expected_path): + taken_path = track_workflow(workflow.spec) + + # Execute a random number of steps. + for i in range(randint(0, len(workflow.spec.task_specs))): + workflow.complete_next() + + # Store the workflow instance in a file. + with open(data_file, 'wb') as fp: + pickle.dump(workflow, fp, -1) + before = workflow.get_dump() + + # Load the workflow instance from a file and delete the file. + with open(data_file, 'rb') as fp: + workflow = pickle.load(fp) + os.remove(data_file) + after = workflow.get_dump() + + # Make sure that the state of the workflow did not change. + self.assertEqual(before, after) + + # Re-connect signals, because the pickle dump now only contains a + # copy of taken_path. + taken_path = track_workflow(workflow.spec, taken_path) + + # Run the rest of the workflow. + workflow.complete_all() + after = workflow.get_dump() + self.assertTrue(workflow.is_completed(), 'Workflow not complete:' + after) + # taken_path = '\n'.join(taken_path) + '\n' + if taken_path != expected_path: + for taken, expected in zip(taken_path, expected_path): + print("TAKEN: ", taken) + print("EXPECTED:", expected) + self.assertEqual(expected_path, taken_path) + + def testSerialize(self): + # Read a complete workflow spec. + xml_file = os.path.join(data_dir, 'spiff', 'workflow1.xml') + with open(xml_file) as fp: + xml = fp.read() + path_file = os.path.splitext(xml_file)[0] + '.path' + with open(path_file) as fp: + expected_path = fp.read().strip().split('\n') + wf_spec = WorkflowSpec.deserialize(serializer, xml) + + for i in range(5): + workflow = Workflow(wf_spec) + self.doPickleSingle(workflow, expected_path) + + def testValidate(self): + """ + Tests that we can detect when two wait tasks are waiting on each + other. + """ + task1 = Join(self.wf_spec, 'First') + self.wf_spec.start.connect(task1) + task2 = Join(self.wf_spec, 'Second') + task1.connect(task2) + + task2.follow(task1) + task1.follow(task2) + + results = self.wf_spec.validate() + self.assertIn("Found loop with 'Second': Second->First then 'Second' " + "again", results) + self.assertIn("Found loop with 'First': First->Second then 'First' " + "again", results) + + def testGetTaskSpecFromId(self): + pass + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(WorkflowSpecTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/specs/__init__.py b/tests/SpiffWorkflow/specs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/spiff/BaseTestCase.py b/tests/SpiffWorkflow/spiff/BaseTestCase.py new file mode 100644 index 000000000..248f84a1f --- /dev/null +++ b/tests/SpiffWorkflow/spiff/BaseTestCase.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +import os + +from SpiffWorkflow.spiff.parser import SpiffBpmnParser +from SpiffWorkflow.spiff.serializer import NoneTaskConverter, \ + ManualTaskConverter, UserTaskConverter, ScriptTaskConverter, \ + SubWorkflowTaskConverter, TransactionSubprocessConverter, \ + CallActivityTaskConverter, \ + StartEventConverter, EndEventConverter, BoundaryEventConverter, \ + SendTaskConverter, ReceiveTaskConverter, \ + IntermediateCatchEventConverter, IntermediateThrowEventConverter, \ + ServiceTaskConverter +from SpiffWorkflow.dmn.serializer.task_spec_converters import BusinessRuleTaskConverter +from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer + +from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + +wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([ + NoneTaskConverter, ManualTaskConverter, UserTaskConverter, ScriptTaskConverter, + SubWorkflowTaskConverter, TransactionSubprocessConverter, CallActivityTaskConverter, + StartEventConverter, EndEventConverter, BoundaryEventConverter, SendTaskConverter, ReceiveTaskConverter, + IntermediateCatchEventConverter, IntermediateThrowEventConverter, BusinessRuleTaskConverter, + ServiceTaskConverter +]) + +class BaseTestCase(BpmnWorkflowTestCase): + """ Provides some basic tools for loading up and parsing Spiff extensions""" + + serializer = BpmnWorkflowSerializer(wf_spec_converter) + + def load_workflow_spec(self, filename, process_name, dmn_filename=None): + bpmn = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = SpiffBpmnParser() + parser.add_bpmn_files_by_glob(bpmn) + if dmn_filename is not None: + dmn = os.path.join(os.path.dirname(__file__), 'data', 'dmn', dmn_filename) + parser.add_dmn_files_by_glob(dmn) + top_level_spec = parser.get_spec(process_name) + subprocesses = parser.get_subprocess_specs(process_name) + return top_level_spec, subprocesses + + def load_collaboration(self, filename, collaboration_name): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = SpiffBpmnParser() + parser.add_bpmn_files_by_glob(f) + return parser.get_collaboration(collaboration_name) + + def get_all_specs(self, filename): + f = os.path.join(os.path.dirname(__file__), 'data', filename) + parser = SpiffBpmnParser() + parser.add_bpmn_files_by_glob(f) + return parser.find_all_specs() diff --git a/tests/SpiffWorkflow/spiff/BusinessRuleTaskTest.py b/tests/SpiffWorkflow/spiff/BusinessRuleTaskTest.py new file mode 100644 index 000000000..f738b7da7 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/BusinessRuleTaskTest.py @@ -0,0 +1,12 @@ +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + +class BusinessRuleTaskTest(BaseTestCase): + + def testBusinessRule(self): + spec, subprocesses = self.load_workflow_spec('business_rule_task.bpmn', 'Process_bd2e724', 'business_rules.dmn') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.save_restore() + self.workflow.do_engine_steps() + self.assertTrue(self.workflow.is_completed()) \ No newline at end of file diff --git a/tests/SpiffWorkflow/spiff/CorrelationTest.py b/tests/SpiffWorkflow/spiff/CorrelationTest.py new file mode 100644 index 000000000..1b1a2be30 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/CorrelationTest.py @@ -0,0 +1,62 @@ +import os +import sys +import unittest + +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +from .BaseTestCase import BaseTestCase + +class CorrelationTest(BaseTestCase): + + def testMessagePayload(self): + self.actual_test(False) + + def testMessagePayloadSaveRestore(self): + self.actual_test(True) + + def actual_test(self,save_restore): + + specs = self.get_all_specs('correlation.bpmn') + proc_1 = specs['proc_1'] + self.workflow = BpmnWorkflow(proc_1, specs) + if save_restore: + self.save_restore() + self.workflow.do_engine_steps() + # Set up some data to evaluate the payload expression against + for idx, task in enumerate(self.workflow.get_ready_user_tasks()): + task.data['task_num'] = idx + task.data['task_name'] = f'subprocess {idx}' + task.data['extra_data'] = f'unused data' + task.complete() + self.workflow.do_engine_steps() + ready_tasks = self.workflow.get_ready_user_tasks() + for task in ready_tasks: + self.assertEqual(task.task_spec.name, 'prepare_response') + response = 'OK' if task.data['source_task']['num'] else 'No' + task.data.update(response=response) + task.complete() + self.workflow.do_engine_steps() + # If the messages were routed properly, the task number should match the response id + for task in self.workflow.get_tasks_from_spec_name('subprocess_end'): + self.assertEqual(task.data['response']['init_id'], task.data['task_num']) + self.assertEqual(task.data['response']['response'], 'OK' if task.data['task_num'] else 'No') + + +class DualConversationTest(BaseTestCase): + + def testTwoCorrelatonKeys(self): + + spec, subprocesses = self.load_workflow_spec('correlation_two_conversations.bpmn', 'message_send_process') + workflow = BpmnWorkflow(spec, subprocesses) + workflow.do_engine_steps() + messages = workflow.get_bpmn_messages() + self.assertEqual(len(messages), 2) + message_one = [ msg for msg in messages if msg.name== 'Message Send One' ][0] + message_two = [ msg for msg in messages if msg.name== 'Message Send Two' ][0] + self.assertIn('message_correlation_key_one', message_one.correlations) + self.assertNotIn('message_correlation_key_one', message_two.correlations) + self.assertIn('message_correlation_key_two', message_two.correlations) + self.assertNotIn('message_correlation_key_two', message_one.correlations) diff --git a/tests/SpiffWorkflow/spiff/PrescriptPostscriptTest.py b/tests/SpiffWorkflow/spiff/PrescriptPostscriptTest.py new file mode 100644 index 000000000..a07341096 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/PrescriptPostscriptTest.py @@ -0,0 +1,57 @@ +from SpiffWorkflow.task import TaskState +from .BaseTestCase import BaseTestCase +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + + +class PrescriptPostsciptTest(BaseTestCase): + + def testTask(self): + self.task_test() + + def testCallActivity(self): + self.call_activity_test() + + def testTaskSaveRestore(self): + self.task_test(True) + + def testCallActivitySaveRestore(self): + self.call_activity_test(True) + + def task_test(self, save_restore=False): + + spec, subprocesses = self.load_workflow_spec('prescript_postscript.bpmn', 'Process_1') + self.workflow = BpmnWorkflow(spec, subprocesses) + if save_restore: + self.save_restore() + + self.set_process_data({'a': 1, 'b': 2}) + ready_tasks = self.workflow.get_tasks(TaskState.READY) + # The prescript sets x, y = a * 2, b * 2 and creates the variable z = x + y + # The postscript sets c = z * 2 and deletes x and y + # a and b should remain unchanged, and c and z should be added + ready_tasks[0].complete() + self.assertDictEqual({'a': 1, 'b': 2, 'c': 12, 'z': 6}, ready_tasks[0].data) + + def call_activity_test(self, save_restore=False): + + spec, subprocesses = self.load_workflow_spec('prescript_postscript_*.bpmn', 'parent') + self.workflow = BpmnWorkflow(spec, subprocesses) + if save_restore: + self.save_restore() + + # Set the data and proceed. The call activity needs in_data and creates out_data + # The prescript sets in_data = old and creates out_data; the postscript copies out_data into new + # in_data and out_data remain (they're created my the calling task NOT the subprocess) and + # we did not explicitly remove them. We don't implicitly remove them because this would be + # the wrong behavior for regular tasks. + self.set_process_data({'old': 'hello'}) + task = self.workflow.get_tasks_from_spec_name('Activity_0g9bcsc')[0] + # The original data is still present and unchanged + self.assertEqual(task.data.get('old'), 'hello') + # The new data has been added + self.assertEqual(task.data.get('new'), 'HELLO') + + def set_process_data(self, data): + ready_tasks = self.workflow.get_tasks(TaskState.READY) + ready_tasks[0].set_data(**data) + self.workflow.do_engine_steps() diff --git a/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py b/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py new file mode 100644 index 000000000..9e78fd602 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py @@ -0,0 +1,42 @@ +from .BaseTestCase import BaseTestCase +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +# Assure we correctly parse and pass on the Spiffworkflow properties in +# an extension. +class ScriptUnitTestExtensionsTest(BaseTestCase): + + def testTask(self): + self.task_test() + + def testTaskSaveRestore(self): + self.task_test(True) + + def task_test(self, save_restore=False): + + spec, subprocesses = self.load_workflow_spec('script_task_with_unit_tests.bpmn', 'Process_ScriptTaskWithUnitTests') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + + # unitTests should be a list of dicts + expected_unit_tests_wrapper_class = list + expected_unit_test_class = dict + + script_with_unit_tests = [t for t in self.workflow.get_tasks() if + t.task_spec.name == 'script_with_unit_test_id'][0] + + extensions = script_with_unit_tests.task_spec.extensions + unit_test_extensions = extensions['unitTests'] + + self.assertEqual(len(unit_test_extensions), 2) + self.assertIsInstance(unit_test_extensions, expected_unit_tests_wrapper_class) + + first_unit_test = unit_test_extensions[0] + self.assertIsInstance(first_unit_test, expected_unit_test_class) + + expected_first_unit_test = { + 'id': 'sets_hey_to_true_if_hey_is_false', + 'inputJson': '{"hey": false}', 'expectedOutputJson': '{"hey": true}' + } + self.assertDictEqual(first_unit_test, expected_first_unit_test) diff --git a/tests/SpiffWorkflow/spiff/ServiceTaskTest.py b/tests/SpiffWorkflow/spiff/ServiceTaskTest.py new file mode 100644 index 000000000..9417b42ed --- /dev/null +++ b/tests/SpiffWorkflow/spiff/ServiceTaskTest.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +import json +import os +import sys +import unittest + +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from .BaseTestCase import BaseTestCase + +class ServiceTaskDelegate: + @staticmethod + def call_connector(name, params, task_data): + if name == 'bamboohr/GetPayRate': + assertEqual(len(params), 3) + assertEqual(params['api_key']['value'], 'secret:BAMBOOHR_API_KEY') + assertEqual(params['employee_id']['value'], 4) + assertEqual(params['subdomain']['value'], 'ServiceTask') + elif name == 'weather/CurrentTemp': + assertEqual(len(params), 1) + assertEqual(params['zipcode']['value'], 22980) + else: + raise AssertionError('unexpected connector name') + + if name == 'bamboohr/GetPayRate': + sample_response = { + "amount": "65000.00", + "currency": "USD", + "id": "4", + "payRate": "65000.00 USD", + } + elif name == 'weather/CurrentTemp': + sample_response = { + "temp": "72F", + } + + return json.dumps(sample_response) + +class ExampleCustomScriptEngine(PythonScriptEngine): + def call_service(self, operation_name, operation_params, task_data): + return ServiceTaskDelegate.call_connector(operation_name, operation_params, + task_data) + +class ServiceTaskTest(BaseTestCase): + + def setUp(self): + global assertEqual + assertEqual = self.assertEqual + + spec, subprocesses = self.load_workflow_spec('service_task.bpmn', + 'service_task_example1') + self.script_engine = ExampleCustomScriptEngine() + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=self.script_engine) + + def testRunThroughHappy(self): + self.workflow.do_engine_steps() + self._assert_service_tasks() + + def testRunThroughSaveRestore(self): + self.save_restore() + # Engine isn't preserved through save/restore, so we have to reset it. + self.workflow.script_engine = self.script_engine + self.workflow.do_engine_steps() + self.save_restore() + self._assert_service_tasks() + + def _assert_service_tasks(self): + # service task without result variable name specified, mock + # bamboohr/GetPayRate response + result = self.workflow.data['spiff__Activity_1inxqgx_result'] + self.assertEqual(len(result), 4) + self.assertEqual(result['amount'], '65000.00') + self.assertEqual(result['currency'], 'USD') + self.assertEqual(result['id'], '4') + self.assertEqual(result['payRate'], '65000.00 USD') + + # service task with result variable specified, mock weather response + result = self.workflow.data['waynesboroWeatherResult'] + self.assertEqual(len(result), 1) + self.assertEqual(result['temp'], '72F') + + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ServiceTaskTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/spiff/ServiceTaskVariableTest.py b/tests/SpiffWorkflow/spiff/ServiceTaskVariableTest.py new file mode 100644 index 000000000..12237ae6b --- /dev/null +++ b/tests/SpiffWorkflow/spiff/ServiceTaskVariableTest.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +import json +import os +import sys +import unittest + +dirname = os.path.dirname(__file__) +sys.path.insert(0, os.path.join(dirname, '..', '..', '..')) + +from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow +from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException +from .BaseTestCase import BaseTestCase + +class ServiceTaskDelegate: + @staticmethod + def call_connector(name, params, task_data): + assertEqual(name, 'bamboohr/GetPayRate') + assertEqual(len(params), 3) + assertEqual(params['api_key']['value'], 'secret:BAMBOOHR_API_KEY') + assertEqual(params['employee_id']['value'], '109') + assertEqual(params['subdomain']['value'], 'statusdemo') + + sample_response = { + "amount": "65000.00", + "currency": "USD", + "id": "4", + "payRate": "65000.00 USD", + } + + return json.dumps(sample_response) + +class ExampleCustomScriptEngine(PythonScriptEngine): + def call_service(self, operation_name, operation_params, task_data): + return ServiceTaskDelegate.call_connector(operation_name, operation_params, + task_data) + +class ServiceTaskVariableTest(BaseTestCase): + + def setUp(self): + global assertEqual + assertEqual = self.assertEqual + + spec, subprocesses = self.load_workflow_spec('service_task_variable.bpmn', + 'Process_bd2e724555') + self.script_engine = ExampleCustomScriptEngine() + self.workflow = BpmnWorkflow(spec, subprocesses, script_engine=self.script_engine) + + def testRunThroughHappy(self): + self.workflow.do_engine_steps() + self._assert_service_task() + + def testRunThroughSaveRestore(self): + self.save_restore() + # Engine isn't preserved through save/restore, so we have to reset it. + self.workflow.script_engine = self.script_engine + self.workflow.do_engine_steps() + self.save_restore() + self._assert_service_task() + + def _assert_service_task(self): + result = self.workflow.data['spiff__Activity_0xhr131_result'] + self.assertEqual(len(result), 4) + self.assertEqual(result['amount'], '65000.00') + self.assertEqual(result['currency'], 'USD') + self.assertEqual(result['id'], '4') + self.assertEqual(result['payRate'], '65000.00 USD') + +def suite(): + return unittest.TestLoader().loadTestsFromTestCase(ServiceTaskVariableTest) +if __name__ == '__main__': + unittest.TextTestRunner(verbosity=2).run(suite()) diff --git a/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py b/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py new file mode 100644 index 000000000..9087aae01 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py @@ -0,0 +1,29 @@ +from SpiffWorkflow.task import TaskState +from .BaseTestCase import BaseTestCase +from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + +# Assure we correctly parse and pass on the Spiffworkflow properties in +# an extension. +class SpiffPropertiesTest(BaseTestCase): + + def testTask(self): + self.task_test() + + def testTaskSaveRestore(self): + self.task_test(True) + + def task_test(self, save_restore=False): + + spec, subprocesses = self.load_workflow_spec('spiff_properties.bpmn', 'Process_1') + self.workflow = BpmnWorkflow(spec, subprocesses) + self.workflow.do_engine_steps() + if save_restore: + self.save_restore() + ready_tasks = self.workflow.get_tasks(TaskState.READY) + # The ready task's spec should contain extension properties + # with name/value pairs. + task = ready_tasks[0] + self.assertDictEqual({'formJsonSchemaFilename': 'my_json_jschema.json', + 'formUiSchemaFilename': 'my_ui_jschema.json'}, + task.task_spec.extensions['properties']) + diff --git a/tests/SpiffWorkflow/spiff/__init__.py b/tests/SpiffWorkflow/spiff/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/SpiffWorkflow/spiff/data/business_rule_task.bpmn b/tests/SpiffWorkflow/spiff/data/business_rule_task.bpmn new file mode 100644 index 000000000..8b46dfc3d --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/business_rule_task.bpmn @@ -0,0 +1,57 @@ + + + + + Flow_0lrg65h + + + + Flow_0l8nhib + + + + + decision_1 + + + + Flow_1109ldv + Flow_0l8nhib + + + + Flow_0lrg65h + Flow_1109ldv + question = "X" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/correlation.bpmn b/tests/SpiffWorkflow/spiff/data/correlation.bpmn new file mode 100644 index 000000000..e1cca32cc --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/correlation.bpmn @@ -0,0 +1,181 @@ + + + + + + + process_id + + + + + num + + + init_id + + + + + {'num': task_num, 'name': task_name} + source_task + + + + + {'init_id': source_task['num'], 'response': response} + response + + + + + + + Flow_0lrjj2a + + + Flow_0lrjj2a + Flow_0gp7t8p + + 2 + + + Flow_10qgjde + + + + Flow_17cd3h6 + + + Flow_10qgjde + Flow_02xt17l + + + + + Flow_02xt17l + Flow_0ts36fv + + + + Flow_0ts36fv + Flow_17cd3h6 + + + + Flow_0gp7t8p + + + + + Flow_0qafvbe + + + + + + Flow_0qafvbe + Flow_12j0ayf + + + + Flow_12j0ayf + Flow_0k7rc31 + + + + Flow_0k7rc31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/correlation_two_conversations.bpmn b/tests/SpiffWorkflow/spiff/data/correlation_two_conversations.bpmn new file mode 100644 index 000000000..4865a5c20 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/correlation_two_conversations.bpmn @@ -0,0 +1,231 @@ + + + + + + + + + + + + mcp_topica_one + mcp_topicb_one + + + mcp_topica_two + mcp_topicb_two + + + + + topica_one + + + payload_var_one.topica + + + + + topicb_one + + + payload_var_one.topicb + + + + + + + + + + + Flow_0sxqx67 + + + Flow_01u8qkn + Flow_0sxqx67 + + + + Flow_1yt3owq + Flow_01u8qkn + + + Flow_10conab + + + Flow_10conab + Flow_1ihr88m + import time +timestamp = time.time() +topic_one_a = f"topic_one_a_conversation_{timestamp}" +topic_one_b = f"topic_one_b_conversation_{timestamp}" +del time + + + + the_topic = "first_conversation" + + Flow_1ihr88m + Flow_0n4m9ti + + + + Flow_0q3clix + Flow_1yt3owq + + + + Flow_0n4m9ti + Flow_0q3clix + import time +timestamp = time.time() +topic_two_a = f"topic_two_a_conversation_{timestamp}" +topic_two_b = f"topic_two_b_conversation_{timestamp}" +del time + + + + + { +"topica_one": topic_one_a, +"topicb_one": topic_one_b, +"initial_var_one": 3 +} + + + + + payload_var_one + + + + + payload_var_two + + + + + { +"topica_two": topic_two_a, +"topicb_two": topic_two_b, +"initial_var_two": 5 +} + + + + + topica_two + + + topica_two + + + + + topicb_two + + + topicb_two + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/dmn/business_rules.dmn b/tests/SpiffWorkflow/spiff/data/dmn/business_rules.dmn new file mode 100644 index 000000000..06e190aa0 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/dmn/business_rules.dmn @@ -0,0 +1,44 @@ + + + + + + + question + + + + + + "X" + + + "Y" + + + + + "A" + + + "B" + + + + + + + + "Something is wrog" + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/prescript_postscript.bpmn b/tests/SpiffWorkflow/spiff/data/prescript_postscript.bpmn new file mode 100644 index 000000000..ed0557cf6 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/prescript_postscript.bpmn @@ -0,0 +1,48 @@ + + + + + + Flow_1hjrex4 + + + + x = a * 2 +y = b * 2 +z = x + y + c = z * 2 +del x +del y + + Flow_1hjrex4 + Flow_1xndbxy + + + + Flow_1xndbxy + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/prescript_postscript_call_activity.bpmn b/tests/SpiffWorkflow/spiff/data/prescript_postscript_call_activity.bpmn new file mode 100644 index 000000000..864f9408d --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/prescript_postscript_call_activity.bpmn @@ -0,0 +1,56 @@ + + + + + + + + + Flow_1a4nkhi + + + + Flow_1eqhoeg + + + + Flow_1a4nkhi + Flow_1eqhoeg + out_data = in_data.upper() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/prescript_postscript_parent.bpmn b/tests/SpiffWorkflow/spiff/data/prescript_postscript_parent.bpmn new file mode 100644 index 000000000..9837fa8df --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/prescript_postscript_parent.bpmn @@ -0,0 +1,44 @@ + + + + + + Flow_1e5oj0e + + + + Flow_089vunc + + + + + in_data = old + new = out_data + + Flow_1e5oj0e + Flow_089vunc + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn b/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn new file mode 100644 index 000000000..d2873b86d --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn @@ -0,0 +1,69 @@ + + + + + Flow_10jwwqy + + + + Flow_0htxke7 + + + + + + + {"hey": false} + {"hey": true} + + + {} + {"something_else": true} + + + + Flow_0niwe1y + Flow_0htxke7 + if 'hey' in locals(): + hey = True +else: + something_else = True + + + + Flow_10jwwqy + Flow_0niwe1y + hey = False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/service_task.bpmn b/tests/SpiffWorkflow/spiff/data/service_task.bpmn new file mode 100644 index 000000000..078f525b4 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/service_task.bpmn @@ -0,0 +1,68 @@ + + + + + Flow_0l9vzsi + + + + + + + + + + + + + Flow_0l9vzsi + Flow_16rdnn7 + + + Flow_1fpsye7 + + + + + + + + + + + + Flow_16rdnn7 + Flow_1fpsye7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/service_task_variable.bpmn b/tests/SpiffWorkflow/spiff/data/service_task_variable.bpmn new file mode 100644 index 000000000..424a1dc96 --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/service_task_variable.bpmn @@ -0,0 +1,62 @@ + + + + + Flow_1tqygmt + + + + Flow_1h9lfz7 + + + + + + + + + + + + + Flow_1boxww6 + Flow_1h9lfz7 + + + + + Flow_1tqygmt + Flow_1boxww6 + employeeID = "109" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/spiff/data/spiff_properties.bpmn b/tests/SpiffWorkflow/spiff/data/spiff_properties.bpmn new file mode 100644 index 000000000..3e93a3ece --- /dev/null +++ b/tests/SpiffWorkflow/spiff/data/spiff_properties.bpmn @@ -0,0 +1,46 @@ + + + + + + Flow_1hjrex4 + + + + Flow_1vlqqxh + + + + + + + + + 3 + Flow_1hjrex4 + Flow_1vlqqxh + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/SpiffWorkflow/util.py b/tests/SpiffWorkflow/util.py new file mode 100644 index 000000000..5bc5a0aad --- /dev/null +++ b/tests/SpiffWorkflow/util.py @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- + +from builtins import str +from builtins import range +import time +from SpiffWorkflow.task import Task, TaskState +from SpiffWorkflow.workflow import Workflow + + +def on_reached_cb(workflow, task, taken_path): + reached_key = "%s_reached" % str(task.get_name()) + n_reached = task.get_data(reached_key, 0) + 1 + task.set_data(**{reached_key: n_reached, + 'two': 2, + 'three': 3, + 'test_attribute1': 'false', + 'test_attribute2': 'true'}) + + # Collect a list of all data. + atts = [] + for key, value in list(task.data.items()): + if key in ['data', + 'two', + 'three', + 'test_attribute1', + 'test_attribute2']: + continue + if key.endswith('reached'): + continue + atts.append('='.join((key, str(value)))) + + # Collect a list of all task data. + props = [] + for key, value in list(task.task_spec.data.items()): + props.append('='.join((key, str(value)))) + # print "REACHED:", task.get_name(), atts, props + + # Store the list of data in the workflow. + atts = ';'.join(atts) + props = ';'.join(props) + old = task.get_data('data', '') + data = task.get_name() + ': ' + atts + '/' + props + '\n' + task.set_data(data=old + data) + + # In workflows that load a subworkflow, the newly loaded children + # will not have on_reached_cb() assigned. By using this function, we + # re-assign the function in every step, thus making sure that new + # children also call on_reached_cb(). + for child in task.children: + track_task(child.task_spec, taken_path) + return True + + +def on_complete_cb(workflow, task, taken_path): + # Record the path. + indent = ' ' * (task._get_depth() - 1) + taken_path.append('%s%s' % (indent, task.get_name())) + return True + + +def track_task(task_spec, taken_path): + if task_spec.reached_event.is_connected(on_reached_cb): + task_spec.reached_event.disconnect(on_reached_cb) + task_spec.reached_event.connect(on_reached_cb, taken_path) + if task_spec.completed_event.is_connected(on_complete_cb): + task_spec.completed_event.disconnect(on_complete_cb) + task_spec.completed_event.connect(on_complete_cb, taken_path) + + +def track_workflow(wf_spec, taken_path=None): + if taken_path is None: + taken_path = [] + for name in wf_spec.task_specs: + track_task(wf_spec.task_specs[name], taken_path) + return taken_path + + +def run_workflow(test, wf_spec, expected_path, expected_data, workflow=None): + # Execute all tasks within the Workflow. + if workflow is None: + taken_path = track_workflow(wf_spec) + workflow = Workflow(wf_spec) + else: + taken_path = track_workflow(workflow.spec) + + test.assertFalse(workflow.is_completed()) + try: + # We allow the workflow to require a maximum of 5 seconds to + # complete, to allow for testing long running tasks. + for i in range(10): + workflow.complete_all(False) + if workflow.is_completed(): + break + time.sleep(0.5) + except: + workflow.task_tree.dump() + raise + + # workflow.task_tree.dump() + test.assertTrue(workflow.is_completed(), workflow.task_tree.get_dump()) + + # Make sure that there are no waiting tasks left in the tree. + for thetask in Task.Iterator(workflow.task_tree, TaskState.READY): + workflow.task_tree.dump() + raise Exception('Task with state READY: %s' % thetask.name) + + # Check whether the correct route was taken. + if expected_path is not None: + taken_path = '\n'.join(taken_path) + '\n' + test.assertEqual(taken_path, expected_path) + + # Check data availibility. + if expected_data is not None: + result = workflow.get_data('data', '') + test.assertIn(result, expected_data) + + return workflow diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/unit_test_extensions.patch b/unit_test_extensions.patch new file mode 100644 index 000000000..ebd0cf797 --- /dev/null +++ b/unit_test_extensions.patch @@ -0,0 +1,348 @@ +diff --git a/SpiffWorkflow/spiff/parser/process.py b/SpiffWorkflow/spiff/parser/process.py +index 4abdb96..2ec536f 100644 +--- a/SpiffWorkflow/spiff/parser/process.py ++++ b/SpiffWorkflow/spiff/parser/process.py +@@ -2,9 +2,9 @@ from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser + from SpiffWorkflow.bpmn.parser.BpmnParser import full_tag + + from SpiffWorkflow.bpmn.specs.events import StartEvent, EndEvent, IntermediateThrowEvent, BoundaryEvent, IntermediateCatchEvent +-from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, SubWorkflowTask, TransactionSubprocess, CallActivity, ServiceTask ++from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, ScriptTask, SubWorkflowTask, TransactionSubprocess, CallActivity, ServiceTask + from SpiffWorkflow.spiff.specs.events.event_types import SendTask, ReceiveTask +-from SpiffWorkflow.spiff.parser.task_spec import SpiffTaskParser, SubWorkflowParser, CallActivityParser, ServiceTaskParser ++from SpiffWorkflow.spiff.parser.task_spec import SpiffTaskParser, SubWorkflowParser, CallActivityParser, ServiceTaskParser, ScriptTaskParser + from SpiffWorkflow.spiff.parser.event_parsers import (SpiffStartEventParser, SpiffEndEventParser, SpiffBoundaryEventParser, + SpiffIntermediateCatchEventParser, SpiffIntermediateThrowEventParser, SpiffSendTaskParser, SpiffReceiveTaskParser) + from SpiffWorkflow.dmn.specs import BusinessRuleTask +@@ -17,6 +17,7 @@ class SpiffBpmnParser(BpmnDmnParser): + full_tag('task'): (SpiffTaskParser, NoneTask), + full_tag('userTask'): (SpiffTaskParser, UserTask), + full_tag('manualTask'): (SpiffTaskParser, ManualTask), ++ full_tag('scriptTask'): (ScriptTaskParser, ScriptTask), + full_tag('subProcess'): (SubWorkflowParser, SubWorkflowTask), + full_tag('transaction'): (SubWorkflowParser, TransactionSubprocess), + full_tag('callActivity'): (CallActivityParser, CallActivity), +diff --git a/SpiffWorkflow/spiff/parser/task_spec.py b/SpiffWorkflow/spiff/parser/task_spec.py +index 32e8ecf..da3961d 100644 +--- a/SpiffWorkflow/spiff/parser/task_spec.py ++++ b/SpiffWorkflow/spiff/parser/task_spec.py +@@ -6,6 +6,7 @@ from SpiffWorkflow.bpmn.parser.task_parsers import SubprocessParser + from SpiffWorkflow.bpmn.parser.util import xpath_eval + + SPIFFWORKFLOW_MODEL_NS = 'http://spiffworkflow.org/bpmn/schema/1.0/core' ++SPIFFWORKFLOW_MODEL_PREFIX = 'spiffworkflow' + + + class SpiffTaskParser(TaskParser): +@@ -20,36 +21,55 @@ class SpiffTaskParser(TaskParser): + # Too bad doing this works in such a stupid way. + # We should set a namespace and automatically do this. + extensions = {} +- extra_ns = {'spiffworkflow': SPIFFWORKFLOW_MODEL_NS} ++ extra_ns = {SPIFFWORKFLOW_MODEL_PREFIX: SPIFFWORKFLOW_MODEL_NS} + xpath = xpath_eval(node, extra_ns) +- extension_nodes = xpath('.//bpmn:extensionElements/spiffworkflow:*') ++ extension_nodes = xpath(f'.//bpmn:extensionElements/{SPIFFWORKFLOW_MODEL_PREFIX}:*') + for node in extension_nodes: + name = etree.QName(node).localname + if name == 'properties': + extensions['properties'] = SpiffTaskParser._parse_properties(node) ++ elif name == 'unitTests': ++ extensions['unitTests'] = SpiffTaskParser._parse_script_unit_tests(node) + elif name == 'serviceTaskOperator': + extensions['serviceTaskOperator'] = SpiffTaskParser._parse_servicetask_operator(node) + else: + extensions[name] = node.text + return extensions + +- @staticmethod +- def _parse_properties(node): +- extra_ns = {'spiffworkflow': SPIFFWORKFLOW_MODEL_NS} +- xpath = xpath_eval(node, extra_ns) +- property_nodes = xpath('.//spiffworkflow:property') ++ @classmethod ++ def _node_children_by_tag_name(cls, node, tag_name): ++ xpath = cls._spiffworkflow_ready_xpath_for_node(node) ++ return xpath(f'.//{SPIFFWORKFLOW_MODEL_PREFIX}:{tag_name}') ++ ++ @classmethod ++ def _parse_properties(cls, node): ++ property_nodes = cls._node_children_by_tag_name(node, 'property') + properties = {} + for prop_node in property_nodes: + properties[prop_node.attrib['name']] = prop_node.attrib['value'] + return properties + + @staticmethod +- def _parse_servicetask_operator(node): ++ def _spiffworkflow_ready_xpath_for_node(node): ++ extra_ns = {SPIFFWORKFLOW_MODEL_PREFIX: SPIFFWORKFLOW_MODEL_NS} ++ return xpath_eval(node, extra_ns) ++ ++ @classmethod ++ def _parse_script_unit_tests(cls, node): ++ unit_test_nodes = cls._node_children_by_tag_name(node, 'unitTest') ++ unit_tests = [] ++ for unit_test_node in unit_test_nodes: ++ unit_test_dict = {"id": unit_test_node.attrib['id']} ++ unit_test_dict['inputJson'] = cls._node_children_by_tag_name(unit_test_node, 'inputJson')[0].text ++ unit_test_dict['expectedOutputJson'] = cls._node_children_by_tag_name(unit_test_node, 'expectedOutputJson')[0].text ++ unit_tests.append(unit_test_dict) ++ return unit_tests ++ ++ @classmethod ++ def _parse_servicetask_operator(cls, node): + name = node.attrib['id'] + result_variable = node.get('resultVariable', None) +- extra_ns = {'spiffworkflow': SPIFFWORKFLOW_MODEL_NS} +- xpath = xpath_eval(node, extra_ns) +- parameter_nodes = xpath('.//spiffworkflow:parameter') ++ parameter_nodes = cls._node_children_by_tag_name(node, 'parameter') + operator = {'name': name, 'resultVariable': result_variable} + parameters = {} + for param_node in parameter_nodes: +@@ -92,6 +112,20 @@ class SubWorkflowParser(SpiffTaskParser): + postscript=postscript) + + ++class ScriptTaskParser(SpiffTaskParser): ++ def create_task(self): ++ extensions = self.parse_extensions() ++ script = None ++ for child_node in self.node: ++ if child_node.tag.endswith('script'): ++ script = child_node.text ++ # import pdb; pdb.set_trace() ++ return self.spec_class( ++ self.spec, self.get_task_spec_name(), script, ++ lane=self.lane, position=self.position, ++ description=self.node.get('name', None)) ++ ++ + class CallActivityParser(SpiffTaskParser): + + def create_task(self): +diff --git a/SpiffWorkflow/spiff/serializer/__init__.py b/SpiffWorkflow/spiff/serializer/__init__.py +index 4ba82d6..364c3eb 100644 +--- a/SpiffWorkflow/spiff/serializer/__init__.py ++++ b/SpiffWorkflow/spiff/serializer/__init__.py +@@ -1,4 +1,4 @@ +-from .task_spec_converters import NoneTaskConverter, ManualTaskConverter, UserTaskConverter ++from .task_spec_converters import NoneTaskConverter, ManualTaskConverter, UserTaskConverter, ScriptTaskConverter + from .task_spec_converters import TransactionSubprocessConverter, CallActivityTaskConverter, SubWorkflowTaskConverter + from .task_spec_converters import StartEventConverter, EndEventConverter, IntermediateCatchEventConverter, IntermediateThrowEventConverter, \ + BoundaryEventConverter, SendTaskConverter, ReceiveTaskConverter, ServiceTaskConverter +diff --git a/SpiffWorkflow/spiff/serializer/task_spec_converters.py b/SpiffWorkflow/spiff/serializer/task_spec_converters.py +index 8c25970..5b24278 100644 +--- a/SpiffWorkflow/spiff/serializer/task_spec_converters.py ++++ b/SpiffWorkflow/spiff/serializer/task_spec_converters.py +@@ -2,7 +2,7 @@ from functools import partial + + from SpiffWorkflow.bpmn.serializer.bpmn_converters import BpmnTaskSpecConverter + from SpiffWorkflow.bpmn.specs.events import EndEvent, StartEvent, IntermediateThrowEvent, IntermediateCatchEvent, BoundaryEvent +-from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, ServiceTask, SubWorkflowTask, TransactionSubprocess, CallActivity ++from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, ScriptTask, ServiceTask, SubWorkflowTask, TransactionSubprocess, CallActivity + from SpiffWorkflow.spiff.specs.events import SendTask, ReceiveTask + from SpiffWorkflow.spiff.specs.events.event_definitions import MessageEventDefinition + +@@ -35,6 +35,16 @@ class UserTaskConverter(SpiffBpmnTaskConverter): + super().__init__(UserTask, data_converter) + + ++class ScriptTaskConverter(SpiffBpmnTaskConverter): ++ def __init__(self, data_converter=None): ++ super().__init__(ScriptTask, data_converter) ++ ++ def to_dict(self, spec): ++ dct = super().to_dict(spec) ++ dct['script'] = spec.script ++ return dct ++ ++ + class ServiceTaskConverter(SpiffBpmnTaskConverter): + def __init__(self, data_converter=None): + super().__init__(ServiceTask, data_converter) +diff --git a/SpiffWorkflow/spiff/specs/__init__.py b/SpiffWorkflow/spiff/specs/__init__.py +index 5378a5b..1e18b63 100644 +--- a/SpiffWorkflow/spiff/specs/__init__.py ++++ b/SpiffWorkflow/spiff/specs/__init__.py +@@ -2,4 +2,5 @@ from .manual_task import ManualTask + from .none_task import NoneTask + from .subworkflow_task import SubWorkflowTask, TransactionSubprocess, CallActivity + from .user_task import UserTask ++from .script_task import ScriptTask + from .service_task import ServiceTask +diff --git a/SpiffWorkflow/spiff/specs/script_task.py b/SpiffWorkflow/spiff/specs/script_task.py +new file mode 100644 +index 0000000..c56e7e8 +--- /dev/null ++++ b/SpiffWorkflow/spiff/specs/script_task.py +@@ -0,0 +1,6 @@ ++from SpiffWorkflow.spiff.specs.spiff_task import SpiffBpmnTask ++from SpiffWorkflow.bpmn.specs.ScriptTask import ScriptTask as BpmnScriptTask ++ ++ ++class ScriptTask(BpmnScriptTask, SpiffBpmnTask): ++ pass +diff --git a/tests/SpiffWorkflow/spiff/BaseTestCase.py b/tests/SpiffWorkflow/spiff/BaseTestCase.py +index 92c23eb..248f84a 100644 +--- a/tests/SpiffWorkflow/spiff/BaseTestCase.py ++++ b/tests/SpiffWorkflow/spiff/BaseTestCase.py +@@ -3,7 +3,7 @@ import os + + from SpiffWorkflow.spiff.parser import SpiffBpmnParser + from SpiffWorkflow.spiff.serializer import NoneTaskConverter, \ +- ManualTaskConverter, UserTaskConverter, \ ++ ManualTaskConverter, UserTaskConverter, ScriptTaskConverter, \ + SubWorkflowTaskConverter, TransactionSubprocessConverter, \ + CallActivityTaskConverter, \ + StartEventConverter, EndEventConverter, BoundaryEventConverter, \ +@@ -16,7 +16,7 @@ from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer + from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase + + wf_spec_converter = BpmnWorkflowSerializer.configure_workflow_spec_converter([ +- NoneTaskConverter, ManualTaskConverter, UserTaskConverter, ++ NoneTaskConverter, ManualTaskConverter, UserTaskConverter, ScriptTaskConverter, + SubWorkflowTaskConverter, TransactionSubprocessConverter, CallActivityTaskConverter, + StartEventConverter, EndEventConverter, BoundaryEventConverter, SendTaskConverter, ReceiveTaskConverter, + IntermediateCatchEventConverter, IntermediateThrowEventConverter, BusinessRuleTaskConverter, +diff --git a/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py b/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py +new file mode 100644 +index 0000000..87c8335 +--- /dev/null ++++ b/tests/SpiffWorkflow/spiff/ScriptUnitTestExtensionsTest.py +@@ -0,0 +1,46 @@ ++from SpiffWorkflow.task import TaskState ++from .BaseTestCase import BaseTestCase ++from SpiffWorkflow.bpmn.workflow import BpmnWorkflow ++ ++# Assure we correctly parse and pass on the Spiffworkflow properties in ++# an extension. ++class ScriptUnitTestExtensionsTest(BaseTestCase): ++ ++ def testTask(self): ++ self.task_test() ++ ++ def testTaskSaveRestore(self): ++ self.task_test(True) ++ ++ def task_test(self, save_restore=False): ++ ++ spec, subprocesses = self.load_workflow_spec('script_task_with_unit_tests.bpmn', 'Process_ScriptTaskWithUnitTests') ++ self.workflow = BpmnWorkflow(spec, subprocesses) ++ self.workflow.do_engine_steps() ++ if save_restore: ++ self.save_restore() ++ ++ # unitTests should be a list of dicts ++ expected_unit_tests_wrapper_class_name = 'list' ++ expected_unit_test_class_name = 'dict' ++ ++ script_with_unit_tests = [t for t in self.workflow.get_tasks() if ++ t.task_spec.name == 'script_with_unit_test_id'][0] ++ print(f"script_with_unit_tests.task_spec.extensions: {script_with_unit_tests.task_spec.extensions}") ++ extensions = script_with_unit_tests.task_spec.extensions ++ unit_test_extensions = extensions['unitTests'] ++ print(f"unit_test_extensions: {unit_test_extensions}") ++ print(f"unit_test_extensions.class: {unit_test_extensions.__class__.__name__}") ++ unit_test_extensions_class_name = unit_test_extensions.__class__.__name__ ++ self.assertEqual(unit_test_extensions_class_name, expected_unit_tests_wrapper_class_name) ++ self.assertEqual(len(unit_test_extensions), 2) ++ first_unit_test = unit_test_extensions[0] ++ self.assertEqual(first_unit_test.__class__.__name__, expected_unit_test_class_name) ++ expected_first_unit_test = {'id': 'sets_hey_to_true_if_hey_is_false', ++ 'inputJson': '{"hey": false}', 'expectedOutputJson': '{"hey": true}'} ++ self.assertDictEqual(first_unit_test, expected_first_unit_test) ++ # self.assertEqual(len(unit_test_extensions), 2) ++ # self.assertDictEqual({'formJsonSchemaFilename': 'my_json_jschema.json', ++ # 'formUiSchemaFilename': 'my_ui_jschema.json'}, ++ # task.task_spec.extensions) ++ +diff --git a/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py b/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py +index d029f35..9087aae 100644 +--- a/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py ++++ b/tests/SpiffWorkflow/spiff/SpiffPropertiesTest.py +@@ -4,7 +4,7 @@ from SpiffWorkflow.bpmn.workflow import BpmnWorkflow + + # Assure we correctly parse and pass on the Spiffworkflow properties in + # an extension. +-class SpiffWorkflowProperties(BaseTestCase): ++class SpiffPropertiesTest(BaseTestCase): + + def testTask(self): + self.task_test() +diff --git a/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn b/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn +new file mode 100644 +index 0000000..d2873b8 +--- /dev/null ++++ b/tests/SpiffWorkflow/spiff/data/script_task_with_unit_tests.bpmn +@@ -0,0 +1,69 @@ ++ ++ ++ ++ ++ Flow_10jwwqy ++ ++ ++ ++ Flow_0htxke7 ++ ++ ++ ++ ++ ++ ++ {"hey": false} ++ {"hey": true} ++ ++ ++ {} ++ {"something_else": true} ++ ++ ++ ++ Flow_0niwe1y ++ Flow_0htxke7 ++ if 'hey' in locals(): ++ hey = True ++else: ++ something_else = True ++ ++ ++ ++ Flow_10jwwqy ++ Flow_0niwe1y ++ hey = False ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/version.sh b/version.sh new file mode 100755 index 000000000..90d5c20d4 --- /dev/null +++ b/version.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# Tag revisions like this: +# $ git tag -a -m "v0.2" v0.2 +VERSION_IN=VERSION.in +VERSION_FILE=SpiffWorkflow/version.py + +# Check that we are actually in a git managed project. +if [ ! -e .git -a -z "$1" ]; then + echo >&2 Not a git repository. + exit 1 +fi + +# Make sure that we have permission to modify the version file. +if [ -r $VERSION_FILE -a ! -w $VERSION_FILE ]; then + echo >&2 No permission to modify $VERSION_FILE. + exit 1 +fi + +# By default, get the version number from "git describe". +if [ ! -z "$1" ]; then + VERSION=$1 +else + HEAD=`git log -1 --pretty=format:%H HEAD` + VERSION=`git describe $HEAD --tags --match "v[0-9]*" | sed 's/^v//;s/-[^\-]*$//;s/-/./' 2>/dev/null` + if [ -z "$VERSION" ]; then + echo >&2 No matching tag was found. + exit 1 + fi +fi + +# If the --reset switch was given, reset the version number to 'DEVELOPMENT'. +[ "$1" = "--reset" ] && VERSION='DEVELOPMENT' + +# If there is no version file, we are already done. +echo Version is $VERSION +[ ! -r $VERSION_FILE ] && exit 0 + +# Check whether the version file already contains this number, +# and only touch it if there is a change to avoid changing +# the timestamp. +VERSION_FILE_TMP=`mktemp` +cat $VERSION_IN | sed "s/@VERSION@/$VERSION/g" > $VERSION_FILE_TMP +if diff -q $VERSION_FILE_TMP $VERSION_FILE; then + echo Version file unchanged. + rm $VERSION_FILE_TMP + exit 0 +fi + +mv $VERSION_FILE_TMP $VERSION_FILE +echo Version file updated.

P?Lk&#UH@9HAGAazJ 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 z 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

f^f3PbfH@_s^C;g9_AB$y{vk6bXNi=XYlZf| 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 ViN+{qW(J>3S;@KpWj{orbU8 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