Updated to send back actual exception message 18/100918/1
authorPlummer, Brittany <brittany.plummer@att.com>
Wed, 29 Jan 2020 22:12:04 +0000 (17:12 -0500)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Wed, 29 Jan 2020 22:12:05 +0000 (17:12 -0500)
Updated to send back actual exception message
Updated exception to include message

Issue-ID: SO-2619
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: Id4ac60dee682b6b6e18c6ccbabcc60a61c2a1db7

bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java
bpmn/so-bpmn-tasks/src/test/resources/__files/Macro/ServiceMacroAssign.json

index 8911ebf..b9e430f 100644 (file)
@@ -431,7 +431,7 @@ public class WorkflowAction {
             execution.setVariable("isRollbackComplete", false);
 
         } catch (Exception ex) {
-            buildAndThrowException(execution, "Exception in execution list. ", ex);
+            buildAndThrowException(execution, "Exception while setting execution list. ", ex);
         }
     }
 
@@ -1562,8 +1562,8 @@ public class WorkflowAction {
 
     protected void buildAndThrowException(DelegateExecution execution, String msg, Exception ex) {
         logger.error(msg, ex);
-        execution.setVariable(WORKFLOW_ACTION_ERROR_MESSAGE, msg);
-        exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, msg);
+        execution.setVariable(WORKFLOW_ACTION_ERROR_MESSAGE, msg + ex.getMessage());
+        exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, msg + ex.getMessage());
     }
 
     protected void buildAndThrowException(DelegateExecution execution, String msg) {
index cc4a5ce..8e47c34 100644 (file)
@@ -36,8 +36,11 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.when;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.IOException;
@@ -224,6 +227,28 @@ public class WorkflowActionTest extends BaseTaskTest {
         assertEqualsBulkFlowName(ebbs, "AssignServiceInstanceBB", "ActivateServiceInstanceBB");
     }
 
+    @Test
+    public void selectExecutionListDuplicateNameExceptionTest() throws Exception {
+        String gAction = "createInstance";
+        execution.setVariable("mso-request-id", "00f704ca-c5e5-4f95-a72c-6889db7b0688");
+        String bpmnRequest =
+                new String(Files.readAllBytes(Paths.get("src/test/resources/__files/Macro/ServiceMacroAssign.json")));
+        execution.setVariable("bpmnRequest", bpmnRequest);
+        execution.setVariable("aLaCarte", true);
+        execution.setVariable("apiVersion", "7");
+        execution.setVariable("requestUri", "v6/serviceInstances");
+        execution.setVariable("requestAction", gAction);
+
+        doThrow(new DuplicateNameException(
+                "serviceInstance with name (instanceName) and different version id (3c40d244-808e-42ca-b09a-256d83d19d0a) already exists. The name must be unique."))
+                        .when(SPY_workflowAction).validateResourceIdInAAI(anyString(), eq(WorkflowType.SERVICE),
+                                eq("test"), any(RequestDetails.class), any(WorkflowResourceIds.class));
+
+        SPY_workflowAction.selectExecutionList(execution);
+        assertEquals(execution.getVariable("WorkflowActionErrorMessage"),
+                "Exception while setting execution list. serviceInstance with name (instanceName) and different version id (3c40d244-808e-42ca-b09a-256d83d19d0a) already exists. The name must be unique.");
+    }
+
     /**
      * SERVICE MACRO TESTS
      */
index 39e87f1..1dd475c 100644 (file)
@@ -24,7 +24,8 @@
                        "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
                        "source": "VID",
                        "suppressRollback": true,
-                       "requestorId": "xxxxxx"
+                       "requestorId": "xxxxxx",
+                       "instanceName": "test"
                },
                "requestParameters": {
                        "subscriptionServiceType": "VMX",