do not overwrite status message with rollback 23/90723/1
authorMnushkin, Dmitry <dmitry.mnushkin@att.com>
Mon, 1 Jul 2019 12:10:54 +0000 (08:10 -0400)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Mon, 1 Jul 2019 12:11:00 +0000 (08:11 -0400)
update rollback error for rollback and not original msg
run code formatting on updated files
add unit test for false value of isRollback flag

Change-Id: I25d8fb9771766461b1192e3758237dfc199787f8
Issue-ID: SO-2081
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBFailure.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBFailureTest.java

index 4d2f9fd..67dc9fe 100644 (file)
@@ -53,7 +53,12 @@ public class WorkflowActionBBFailure {
             } else {
                 errorMsg = "Failed to determine error message";
             }
-            request.setStatusMessage(errorMsg);
+            Boolean isRollback = (Boolean) execution.getVariable("isRollback");
+            if (!Boolean.TRUE.equals(isRollback)) {
+                request.setStatusMessage(errorMsg);
+            } else {
+                request.setRollbackStatusMessage(errorMsg);
+            }
             request.setProgress(Long.valueOf(100));
             request.setLastModifiedBy("CamundaBPMN");
             request.setEndTime(new Timestamp(System.currentTimeMillis()));
index c683303..12f34ea 100644 (file)
@@ -160,4 +160,38 @@ public class WorkflowActionBBFailureTest extends BaseTaskTest {
         Mockito.verify(reqMock, Mockito.times(1)).setLastModifiedBy("CamundaBPMN");
         Mockito.verify(reqMock, Mockito.times(1)).setEndTime(any(Timestamp.class));
     }
+
+    @Test
+    public void updateRequestRollbackErrorStatusMessageTest() {
+        String reqId = "reqId123";
+        execution.setVariable("mso-request-id", reqId);
+        WorkflowException we = new WorkflowException("WorkflowAction", 1231, "Error Case");
+        execution.setVariable("WorkflowException", we);
+        execution.setVariable("isRollback", true);
+
+        doReturn(reqMock).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
+        workflowActionBBFailure.updateRequestErrorStatusMessage(execution);
+        Mockito.verify(reqMock, Mockito.times(0)).setStatusMessage("Error Case");
+        Mockito.verify(reqMock, Mockito.times(1)).setRollbackStatusMessage("Error Case");
+        Mockito.verify(reqMock, Mockito.times(1)).setProgress(Long.valueOf(100));
+        Mockito.verify(reqMock, Mockito.times(1)).setLastModifiedBy("CamundaBPMN");
+        Mockito.verify(reqMock, Mockito.times(1)).setEndTime(any(Timestamp.class));
+    }
+
+    @Test
+    public void updateRequestNotRollbackErrorStatusMessageTest() {
+        String reqId = "reqId123";
+        execution.setVariable("mso-request-id", reqId);
+        WorkflowException we = new WorkflowException("WorkflowAction", 1231, "Error Case");
+        execution.setVariable("WorkflowException", we);
+        execution.setVariable("isRollback", false);
+
+        doReturn(reqMock).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId);
+        workflowActionBBFailure.updateRequestErrorStatusMessage(execution);
+        Mockito.verify(reqMock, Mockito.times(1)).setStatusMessage("Error Case");
+        Mockito.verify(reqMock, Mockito.times(0)).setRollbackStatusMessage("Error Case");
+        Mockito.verify(reqMock, Mockito.times(1)).setProgress(Long.valueOf(100));
+        Mockito.verify(reqMock, Mockito.times(1)).setLastModifiedBy("CamundaBPMN");
+        Mockito.verify(reqMock, Mockito.times(1)).setEndTime(any(Timestamp.class));
+    }
 }