diff options
Diffstat (limited to 'bpmn/so-bpmn-building-blocks/src')
2 files changed, 96 insertions, 0 deletions
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AAISetPnfInMaintBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AAISetPnfInMaintBB.bpmn new file mode 100644 index 0000000000..49ca2ec5a8 --- /dev/null +++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AAISetPnfInMaintBB.bpmn @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.10.0"> + <bpmn:process id="AAISetPnfInMaintBB" name="AAISetPnfInMaintBB" isExecutable="true"> + <bpmn:startEvent id="Start_AAISetPnfInMaintBB"> + <bpmn:outgoing>SequenceFlow_0zaz9o2</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:endEvent id="End_AAISetPnfInMaintBB"> + <bpmn:incoming>SequenceFlow_1jwsja5</bpmn:incoming> + </bpmn:endEvent> + <bpmn:serviceTask id="Task_SetInMaint" name="PNF Set InMaint Flag (AAI)" camunda:expression="${AAIFlagTasks.modifyPnfInMaintFlag(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")), true)}"> + <bpmn:incoming>Flow_1vke3vw</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1jwsja5</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:sequenceFlow id="SequenceFlow_0zaz9o2" sourceRef="Start_AAISetPnfInMaintBB" targetRef="Task_CheckPnfInMaint" /> + <bpmn:sequenceFlow id="SequenceFlow_1jwsja5" sourceRef="Task_SetInMaint" targetRef="End_AAISetPnfInMaintBB" /> + <bpmn:serviceTask id="Task_CheckPnfInMaint" name="Check If Pnf In Maint (AAI)" camunda:expression="${AAIFlagTasks.checkPnfInMaintFlag(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))}"> + <bpmn:incoming>SequenceFlow_0zaz9o2</bpmn:incoming> + <bpmn:outgoing>Flow_1vke3vw</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:sequenceFlow id="Flow_1vke3vw" sourceRef="Task_CheckPnfInMaint" targetRef="Task_SetInMaint" /> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="AAISetPnfInMaintBB"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_AAISetPnfInMaintBB"> + <dc:Bounds x="155" y="76" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="102" y="112" width="23" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_1r380lg_di" bpmnElement="Task_SetInMaint"> + <dc:Bounds x="440" y="54" width="100" height="80" /> + <bpmndi:BPMNLabel /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_1h93h9d_di" bpmnElement="End_AAISetPnfInMaintBB"> + <dc:Bounds x="609" y="76" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="370" y="116" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="BPMNShape_1wtggzs" bpmnElement="Task_CheckPnfInMaint"> + <dc:Bounds x="270" y="54" width="100" height="80" /> + <bpmndi:BPMNLabel /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zaz9o2_di" bpmnElement="SequenceFlow_0zaz9o2"> + <di:waypoint x="191" y="94" /> + <di:waypoint x="270" y="94" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="116.5" y="73" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1jwsja5_di" bpmnElement="SequenceFlow_1jwsja5"> + <di:waypoint x="540" y="94" /> + <di:waypoint x="609" y="94" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="281.5" y="79" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="Flow_1vke3vw_di" bpmnElement="Flow_1vke3vw"> + <di:waypoint x="370" y="94" /> + <di:waypoint x="440" y="94" /> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/common/AAISetPNFInMaintBBTest.java b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/common/AAISetPNFInMaintBBTest.java new file mode 100644 index 0000000000..4ff568771d --- /dev/null +++ b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/common/AAISetPNFInMaintBBTest.java @@ -0,0 +1,32 @@ +package org.onap.so.bpmn.common; + +import org.camunda.bpm.engine.delegate.BpmnError; +import org.camunda.bpm.engine.runtime.ProcessInstance; +import org.junit.Test; +import org.onap.so.bpmn.BaseBPMNTest; +import java.io.IOException; +import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doThrow; + +public class AAISetPNFInMaintBBTest extends BaseBPMNTest { + @Test + public void sunnyDayAAISetPnfInMaintBBTest() throws InterruptedException, IOException { + ProcessInstance pi = runtimeService.startProcessInstanceByKey("AAISetPnfInMaintBB", variables); + assertThat(pi).isNotNull().isStarted().hasPassedInOrder("Start_AAISetPnfInMaintBB", "Task_SetInMaint", + "End_AAISetPnfInMaintBB"); + } + + @Test + public void rainyDayAAISetPnfInMaintBBTest() { + doThrow(new BpmnError("7000", "TESTING ERRORS")).when(aaiFlagTasks) + .modifyPnfInMaintFlag(any(BuildingBlockExecution.class), any(boolean.class)); + + ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("AAISetPnfInMaintBB", variables); + assertThat(processInstance).isNotNull(); + assertThat(processInstance).isStarted().hasPassedInOrder("Start_AAISetPnfInMaintBB", "Task_SetInMaint") + .hasNotPassed("End_AAISetPnfInMaintBB"); + assertThat(processInstance).isEnded(); + } + +} |