summaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-building-blocks/src/test
diff options
context:
space:
mode:
authorKuleshov, Elena <evn@att.com>2020-01-24 16:33:39 -0500
committerBenjamin, Max (mb388a) <mb388a@att.com>2020-01-24 16:33:40 -0500
commit2eb23f4ac862f700f0abf6f2dc5b9fa662ec9c60 (patch)
tree4f4e5ad0aa89961c4b51eaf8fd32bc9f340b8c93 /bpmn/so-bpmn-building-blocks/src/test
parent48cb43adc20ac10fa6f22c0e03fe2b6775d45b87 (diff)
add manual handling to rainy day handling for bbs
Initial Manual Handling addition to Rainy Day BB handling. Reenable task API, add task variable setup. TaskTimeout will come from the configuration settings. Update the base path for the APIH manual tasks junit. Additional JUNIT tests for manual handling Add Manual as a primary policy for Change Management BBs. Error handling changes and robot tests for manual handling. Correct failure data retrieval when serviceSubscription is unavailable. Correct failure data retrieval when serviceSubscription is unavailable. Keep WorkflowException when manual pause gets invoked; improved error reporting. Issue-ID: SO-2616 Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com> Change-Id: I98a84c1a489bb7b24b68e567f604aeb074fd7bf9
Diffstat (limited to 'bpmn/so-bpmn-building-blocks/src/test')
-rw-r--r--bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/PauseForManualTaskRainyDayTest.java97
1 files changed, 97 insertions, 0 deletions
diff --git a/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/PauseForManualTaskRainyDayTest.java b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/PauseForManualTaskRainyDayTest.java
new file mode 100644
index 0000000000..576f9c4f01
--- /dev/null
+++ b/bpmn/so-bpmn-building-blocks/src/test/java/org/onap/so/bpmn/infrastructure/bpmn/subprocess/PauseForManualTaskRainyDayTest.java
@@ -0,0 +1,97 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.infrastructure.bpmn.subprocess;
+
+import static org.camunda.bpm.engine.test.assertions.ProcessEngineTests.assertThat;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doThrow;
+import org.camunda.bpm.engine.ManagementService;
+import org.camunda.bpm.engine.TaskService;
+import org.camunda.bpm.engine.delegate.BpmnError;
+import org.camunda.bpm.engine.runtime.Job;
+import org.camunda.bpm.engine.runtime.ProcessInstance;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.task.Task;
+import org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.onap.so.bpmn.BaseBPMNTest;
+import org.onap.so.bpmn.common.BuildingBlockExecution;
+
+
+public class PauseForManualTaskRainyDayTest extends BaseBPMNTest {
+ private static final String TIMEOUT_10_S = "PT10S";
+
+ @Autowired
+ protected ManagementService managementService;
+
+ @Autowired
+ protected TaskService taskService;
+
+ @Test
+ public void sunnyDayPauseForManualTaskRainyDayTimeout_Test() throws InterruptedException {
+ variables.put("taskTimeout", TIMEOUT_10_S);
+ ProcessInstance pi = runtimeService.startProcessInstanceByKey("PauseForManualTaskRainyDay", variables);
+ assertThat(pi).isNotNull();
+ BpmnAwareAssertions.assertThat(pi).isWaitingAt("ManualUserTask");
+ Task task = taskService.createTaskQuery().active().list().get(0);
+ assertThat(pi).task().isNotNull();
+ assertNotNull(task);
+
+ Job job = managementService.createJobQuery().activityId("ManualTaskTimer").singleResult();
+ assertNotNull(job);
+ managementService.executeJob(job.getId());
+
+ assertThat(pi).isStarted().hasPassedInOrder("PauseForManualTaskRainyDay_Start", "InitRainyDayManualHandling",
+ "UpdateDbStatusToPendingManualTask", "CreateExternalTicket", "ManualTaskTimer",
+ "UpdateDBStatusToTimeout", "PauseForManualTaskRainyDay_Timeout");
+ }
+
+ @Test
+ public void sunnyDayPauseForManualTaskCompleted_Test() throws InterruptedException {
+ variables.put("taskTimeout", TIMEOUT_10_S);
+ ProcessInstance pi = runtimeService.startProcessInstanceByKey("PauseForManualTaskRainyDay", variables);
+ assertThat(pi).isNotNull();
+ BpmnAwareAssertions.assertThat(pi).isWaitingAt("ManualUserTask");
+ assertThat(pi).task().isNotNull();
+ Task task = taskService.createTaskQuery().active().list().get(0);
+ assertNotNull(task);
+ taskService.complete(task.getId());
+
+ assertThat(pi).isStarted().hasPassedInOrder("PauseForManualTaskRainyDay_Start", "InitRainyDayManualHandling",
+ "UpdateDbStatusToPendingManualTask", "CreateExternalTicket", "ManualUserTask",
+ "UpdateDbStatusToInProgress", "PauseForManualTaskRainyDay_End");
+ assertThat(pi).isEnded();
+ }
+
+ @Test
+ public void rainyDayPauseForManualTask_Test() throws Exception {
+ doThrow(new BpmnError("7000", "TESTING ERRORS")).when(manualHandlingTasks)
+ .createExternalTicket((any(BuildingBlockExecution.class)));
+ ProcessInstance pi = runtimeService.startProcessInstanceByKey("PauseForManualTaskRainyDay", variables);
+ assertThat(pi).isNotNull().isStarted()
+ .hasPassedInOrder("PauseForManualTaskRainyDay_Start", "InitRainyDayManualHandling",
+ "UpdateDbStatusToPendingManualTask", "CreateExternalTicket")
+ .hasNotPassed("ManualUserTask", "UpdateDbStatusToInProgress", "PauseForManualTaskRainyDay_End");
+ }
+
+}