summaryrefslogtreecommitdiffstats
path: root/docs/developer_info/BPMN_Project_Structure.rst
blob: 23916093c2e2fce9629ef01c3928f7558cd059ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 Huawei Technologies Co., Ltd.

BPMN Project Structure
=======================

BPMN main process flow
----------------------

A BPMN main process flow is a top-level flow.  All main process flows are under the src/main/resources/process folder.

CreateVfModuleVolumeInfraV1 is a main process flow.

.. image:: ../images/bpmn_project_structure_1.png

Open BPMN files with the camunda modeler (standalone application).  To launch the modeler from eclipse, right-click→open-with→Other→Browse.  Select Check the boxes on the dialog so that eclipse will open all .bpmn files with the camunda-modeler executable.

BPMN subprocess flow
---------------------

A BPMN subprocess flow is meant to be invoked by other flows (either main process flows or other subprocess flows).  All subprocess flows are under the src/main/resources/subprocess folder.

The CreateVfModuleVolumeInfraV1 process flow is delivered with two custom subflows: DoCreateVfModuleVolumeV2 and DoCreateVfModuleVolumeRollback.

.. image:: ../images/bpmn_project_structure_2.png

Groovy scripts
---------------

There is one groovy script for each BPMN file.  Groovy scripts are invoked by script tasks within the BPMN flows.

.. image:: ../images/bpmn_project_structure_3.png

Unit Tests
-----------

Normally, we create a unit test class for every flow.  This one is missing a unit test for its rollback flow.

.. image:: ../images/bpmn_project_structure_4.png

Unit Test Resource Files
------------------------

Any files needed by the unit tests are kept under the src/test/resources/__files folder.

.. image:: ../images/bpmn_project_structure_5.png
Instantiate VFWCL [Tags] instantiateVFWCL Instantiate VNF vFWCL base_vpkg Delete Instantiated VNF [Documentation] This test assumes all necessary variables are loaded via the variable file create in Save For Delete ... The Teardown VNF needs to be in the teardown step of the test case... [Tags] deleteVNF Setup Browser Login To VID GUI Delete VNF [Teardown] Teardown VNF Run Heatbridge [Documentation] ... Try to run heatbridge [Tags] heatbridge Execute Heatbridge ${HB_STACK} ${HB_SERVICE_INSTANCE_ID} ${HB_SERVICE}