exception handling

Update the appc client jar version
Throw exception for non success cds call
Fix CreateVcpeResCustServiceSimplifiedTest IT

Issue-ID: SO-1857 SO-1779
Change-Id: Ifee080600051c92fd964a92d16efb67e4ab05d5d
Signed-off-by: eeginux <henry.xie@est.tech>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ConfigurePnfResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ConfigurePnfResource.bpmn
index f489a27..9a1a7ed 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ConfigurePnfResource.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ConfigurePnfResource.bpmn
@@ -30,7 +30,7 @@
       <bpmn:incoming>SequenceFlow_17llfxw</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0p0aqtx</bpmn:outgoing>
     </bpmn:callActivity>
-    <bpmn:exclusiveGateway id="ExclusiveGateway_0vtv1wi">
+    <bpmn:exclusiveGateway id="ExclusiveGateway_0vtv1wi" default="SequenceFlow_1w4p9f7">
       <bpmn:incoming>SequenceFlow_0p0aqtx</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1owbpsy</bpmn:outgoing>
       <bpmn:outgoing>SequenceFlow_1w4p9f7</bpmn:outgoing>
@@ -49,7 +49,7 @@
       <bpmn:incoming>SequenceFlow_0jfgn7n</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_08voj55</bpmn:outgoing>
     </bpmn:callActivity>
-    <bpmn:exclusiveGateway id="ExclusiveGateway_01jwwmc">
+    <bpmn:exclusiveGateway id="ExclusiveGateway_01jwwmc" default="SequenceFlow_0d24h26">
       <bpmn:incoming>SequenceFlow_08voj55</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1n080up</bpmn:outgoing>
       <bpmn:outgoing>SequenceFlow_0d24h26</bpmn:outgoing>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java
index f51ea00..35f8f45 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java
@@ -33,10 +33,8 @@
 import java.io.IOException;
 import java.util.List;
 import java.util.UUID;
-import org.camunda.bpm.engine.runtime.Execution;
 import org.camunda.bpm.engine.runtime.ProcessInstance;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers;
 import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader;
@@ -52,12 +50,13 @@
 /**
  * Basic Integration test for createVcpeResCustService_Simplified.bpmn workflow.
  */
-@Ignore
 public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
 
-    private static final long WORKFLOW_WAIT_TIME = 1000L;
     private Logger logger = LoggerFactory.getLogger(getClass());
 
+    private static final long WORKFLOW_WAIT_TIME = 1000L;
+    private static final int DMAAP_DELAY_TIME_MS = 2000;
+
     private static final String TEST_PROCESSINSTANCE_KEY = "CreateVcpeResCustService_simplified";
 
     private String testBusinessKey;
@@ -113,17 +112,9 @@
 
         ProcessInstance pi =
                 runtimeService.startProcessInstanceByKey(TEST_PROCESSINSTANCE_KEY, testBusinessKey, variables);
-        assertThat(pi).isNotNull();
-
-        Thread.sleep(WORKFLOW_WAIT_TIME);
-
-        Execution execution = runtimeService.createExecutionQuery().processInstanceBusinessKey(testBusinessKey)
-                .messageEventSubscriptionName("WorkflowMessage").singleResult();
-
-        assertThat(execution).isNotNull();
 
         int waitCount = 10;
-        while (!pi.isEnded() && waitCount >= 0) {
+        while (!isProcessInstanceEnded() && waitCount >= 0) {
             Thread.sleep(WORKFLOW_WAIT_TIME);
             waitCount--;
         }
@@ -145,6 +136,11 @@
         }
     }
 
+    private boolean isProcessInstanceEnded() {
+        return runtimeService.createProcessInstanceQuery().processDefinitionKey(TEST_PROCESSINSTANCE_KEY)
+                .singleResult() == null;
+    }
+
     private void checkConfigAssign(ExecutionServiceInput executionServiceInput) {
 
         logger.info("Checking the configAssign request");
@@ -154,26 +150,26 @@
          * the fields of actionIdentifiers should match the one in the
          * response/createVcpeResCustServiceSimplifiedTest_catalogdb.json.
          */
-        assertThat(actionIdentifiers.getBlueprintName()).matches("test_configuration_restconf");
-        assertThat(actionIdentifiers.getBlueprintVersion()).matches("1.0.0");
-        assertThat(actionIdentifiers.getActionName()).matches("config-assign");
-        assertThat(actionIdentifiers.getMode()).matches("sync");
+        assertThat(actionIdentifiers.getBlueprintName()).isEqualTo("test_configuration_restconf");
+        assertThat(actionIdentifiers.getBlueprintVersion()).isEqualTo("1.0.0");
+        assertThat(actionIdentifiers.getActionName()).isEqualTo("config-assign");
+        assertThat(actionIdentifiers.getMode()).isEqualTo("sync");
 
         CommonHeader commonHeader = executionServiceInput.getCommonHeader();
-        assertThat(commonHeader.getOriginatorId()).matches("SO");
-        assertThat(commonHeader.getRequestId()).matches(msoRequestId);
+        assertThat(commonHeader.getOriginatorId()).isEqualTo("SO");
+        assertThat(commonHeader.getRequestId()).isEqualTo(msoRequestId);
 
         Struct payload = executionServiceInput.getPayload();
         Struct requeststruct = payload.getFieldsOrThrow("config-assign-request").getStructValue();
 
-        assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).matches("PNFDemo");
+        assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).isEqualTo("PNFDemo");
         Struct propertiesStruct = requeststruct.getFieldsOrThrow("config-assign-properties").getStructValue();
 
-        assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).matches("PNFDemo");
+        assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).isEqualTo("PNFDemo");
         assertThat(propertiesStruct.getFieldsOrThrow("service-model-uuid").getStringValue())
-                .matches("f2daaac6-5017-4e1e-96c8-6a27dfbe1421");
+                .isEqualTo("f2daaac6-5017-4e1e-96c8-6a27dfbe1421");
         assertThat(propertiesStruct.getFieldsOrThrow("pnf-customization-uuid").getStringValue())
-                .matches("68dc9a92-214c-11e7-93ae-92361f002680");
+                .isEqualTo("68dc9a92-214c-11e7-93ae-92361f002680");
     }
 
     private void checkConfigDeploy(ExecutionServiceInput executionServiceInput) {
@@ -185,32 +181,32 @@
          * the fields of actionIdentifiers should match the one in the
          * response/createVcpeResCustServiceSimplifiedTest_catalogdb.json.
          */
-        assertThat(actionIdentifiers.getBlueprintName()).matches("test_configuration_restconf");
-        assertThat(actionIdentifiers.getBlueprintVersion()).matches("1.0.0");
-        assertThat(actionIdentifiers.getActionName()).matches("config-deploy");
-        assertThat(actionIdentifiers.getMode()).matches("async");
+        assertThat(actionIdentifiers.getBlueprintName()).isEqualTo("test_configuration_restconf");
+        assertThat(actionIdentifiers.getBlueprintVersion()).isEqualTo("1.0.0");
+        assertThat(actionIdentifiers.getActionName()).isEqualTo("config-deploy");
+        assertThat(actionIdentifiers.getMode()).isEqualTo("async");
 
         CommonHeader commonHeader = executionServiceInput.getCommonHeader();
-        assertThat(commonHeader.getOriginatorId()).matches("SO");
-        assertThat(commonHeader.getRequestId()).matches(msoRequestId);
+        assertThat(commonHeader.getOriginatorId()).isEqualTo("SO");
+        assertThat(commonHeader.getRequestId()).isEqualTo(msoRequestId);
 
         Struct payload = executionServiceInput.getPayload();
         Struct requeststruct = payload.getFieldsOrThrow("config-deploy-request").getStructValue();
 
-        assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).matches("PNFDemo");
+        assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).isEqualTo("PNFDemo");
         Struct propertiesStruct = requeststruct.getFieldsOrThrow("config-deploy-properties").getStructValue();
 
-        assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).matches("PNFDemo");
+        assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).isEqualTo("PNFDemo");
         assertThat(propertiesStruct.getFieldsOrThrow("service-model-uuid").getStringValue())
-                .matches("f2daaac6-5017-4e1e-96c8-6a27dfbe1421");
+                .isEqualTo("f2daaac6-5017-4e1e-96c8-6a27dfbe1421");
         assertThat(propertiesStruct.getFieldsOrThrow("pnf-customization-uuid").getStringValue())
-                .matches("68dc9a92-214c-11e7-93ae-92361f002680");
+                .isEqualTo("68dc9a92-214c-11e7-93ae-92361f002680");
 
         /**
          * IP addresses match the OAM ip addresses from AAI.
          */
-        assertThat(propertiesStruct.getFieldsOrThrow("pnf-ipv4-address").getStringValue()).matches("1.1.1.1");
-        assertThat(propertiesStruct.getFieldsOrThrow("pnf-ipv6-address").getStringValue()).matches("::/128");
+        assertThat(propertiesStruct.getFieldsOrThrow("pnf-ipv4-address").getStringValue()).isEqualTo("1.1.1.1");
+        assertThat(propertiesStruct.getFieldsOrThrow("pnf-ipv6-address").getStringValue()).isEqualTo("::/128");
     }
 
     /**
@@ -223,8 +219,8 @@
         /**
          * Get the events from PNF topic
          */
-        wireMockServer
-                .stubFor(get(urlPathMatching("/events/pnfReady/consumerGroup.*")).willReturn(okJson(pnfResponse)));
+        wireMockServer.stubFor(get(urlPathMatching("/events/pnfReady/consumerGroup.*"))
+                .willReturn(okJson(pnfResponse).withFixedDelay(DMAAP_DELAY_TIME_MS)));
     }
 
     private void mockAai() {