PNF WF post instantiation configuration

Add PNF ipv4/v6 address for config Deploy
Add Integration test for CreateVcpeResCustService_simplified.bpmn
Modify the PnfEventReadyDmaapClient to avoid one more running thread
Refactor the so-bpmn-infrastructure-flows test resources
Modify the CreateVcpeResCustService_simplified.bpmn
Add ConfigurePnfResource.bpmn
Add Delegates

Issue-ID: SO-1506
Change-Id: Iffb69d1441ef0b485ee8cd3fb5da5f1a35279a95
Signed-off-by: eeginux <henry.xie@est.tech>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/AllBPMNTestSuites.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/AllBPMNTestSuites.java
new file mode 100644
index 0000000..4f98ee4
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/AllBPMNTestSuites.java
@@ -0,0 +1,32 @@
+/*
+ *
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ *  ================================================================================
+ *  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.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+
+package org.onap.so;
+
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
+import org.junit.runner.RunWith;
+
+@RunWith(WildcardPatternSuite.class)
+@SuiteClasses({"**/service/*Test.class", "**/process/*Test.class", "**/subprocess/*Test.class"})
+public class AllBPMNTestSuites {
+  // the class remains empty,
+  // used only as a holder for the above annotations
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/BaseBPMNTest.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/BaseBPMNTest.java
new file mode 100644
index 0000000..648c988
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/BaseBPMNTest.java
@@ -0,0 +1,69 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ *  ================================================================================
+ *  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.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+package org.onap.so;
+
+import com.github.tomakehurst.wiremock.WireMockServer;
+import java.util.HashMap;
+import java.util.Map;
+import org.camunda.bpm.engine.HistoryService;
+import org.camunda.bpm.engine.RepositoryService;
+import org.camunda.bpm.engine.RuntimeService;
+import org.junit.After;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@ActiveProfiles("test")
+@ContextConfiguration
+@AutoConfigureWireMock(port = 0)
+public abstract class BaseBPMNTest {
+
+    @Autowired
+    protected RuntimeService runtimeService;
+
+    @Autowired
+    protected RepositoryService repositoryService;
+
+    @Autowired
+    protected HistoryService historyService;
+
+    protected Map<String, Object> variables = new HashMap<>();
+
+    @LocalServerPort
+    protected int port;
+
+    @Autowired
+    protected WireMockServer wireMockServer;
+
+    @Value("${wiremock.server.port}")
+    protected int wireMockPort;
+
+    @After
+    public void shutDown(){
+        wireMockServer.resetAll();
+    }
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/EmbeddedMariaDbConfig.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/EmbeddedMariaDbConfig.java
new file mode 100644
index 0000000..963d989
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/EmbeddedMariaDbConfig.java
@@ -0,0 +1,65 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 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;
+
+import ch.vorburger.exec.ManagedProcessException;
+import ch.vorburger.mariadb4j.DBConfigurationBuilder;
+import ch.vorburger.mariadb4j.springframework.MariaDB4jSpringService;
+import javax.sql.DataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+
+@Configuration
+@Profile({"test"})
+public class EmbeddedMariaDbConfig {
+
+    @Bean
+    MariaDB4jSpringService mariaDB4jSpringService() {
+    	MariaDB4jSpringService service = new MariaDB4jSpringService();
+    	
+    	
+    	service.getConfiguration().addArg("--lower_case_table_names=1");
+        return service;
+    }
+
+    @Bean
+    DataSource dataSource(MariaDB4jSpringService mariaDB4jSpringService,
+                          @Value("${mariaDB4j.databaseName}") String databaseName,
+                          @Value("${spring.datasource.username}") String datasourceUsername,
+                          @Value("${spring.datasource.password}") String datasourcePassword,
+                          @Value("${spring.datasource.driver-class-name}") String datasourceDriver) throws ManagedProcessException {
+        //Create our database with default root user and no password
+        mariaDB4jSpringService.getDB().createDB(databaseName);
+
+        DBConfigurationBuilder config = mariaDB4jSpringService.getConfiguration();
+
+        return DataSourceBuilder
+                .create()
+                .username(datasourceUsername)
+                .password(datasourcePassword)
+                .url(config.getURL(databaseName))
+                .driverClassName(datasourceDriver)
+                .build();
+    }
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/GrpcNettyServer.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/GrpcNettyServer.java
new file mode 100644
index 0000000..a4de95e
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/GrpcNettyServer.java
@@ -0,0 +1,110 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ *  ================================================================================
+ *  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.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+
+package org.onap.so;
+
+import io.grpc.ServerBuilder;
+import io.grpc.stub.StreamObserver;
+import io.grpc.testing.GrpcCleanupRule;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicReference;
+import javax.annotation.PostConstruct;
+import org.junit.Rule;
+import org.onap.ccsdk.cds.controllerblueprints.common.api.EventType;
+import org.onap.ccsdk.cds.controllerblueprints.common.api.Status;
+import org.onap.ccsdk.cds.controllerblueprints.processing.api.BluePrintProcessingServiceGrpc.BluePrintProcessingServiceImplBase;
+import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceInput;
+import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceOutput;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class GrpcNettyServer extends BluePrintProcessingServiceImplBase {
+
+    private static final Logger logger = LoggerFactory.getLogger(GrpcNettyServer.class);
+
+    @Value("${cds.endpoint}")
+    private String host;
+
+    @Value("${cds.port}")
+    private String port;
+
+    @Rule
+    public final GrpcCleanupRule grpcCleanup = new GrpcCleanupRule();
+
+    private final List<String> messagesDelivered = new ArrayList<>();
+    private final CountDownLatch allRequestsDelivered = new CountDownLatch(1);
+    private final AtomicReference<StreamObserver<ExecutionServiceOutput>> responseObserverRef = new AtomicReference<>();
+
+    @PostConstruct
+    public void start() throws IOException {
+
+        final BluePrintProcessingServiceImplBase blueprintPrcessorImpl =
+            new BluePrintProcessingServiceImplBase() {
+                @Override
+                public StreamObserver<ExecutionServiceInput> process(
+                    StreamObserver<ExecutionServiceOutput> responseObserver) {
+
+                    responseObserverRef.set(responseObserver);
+
+                    StreamObserver<ExecutionServiceInput> requestObserver = new StreamObserver<ExecutionServiceInput>() {
+                        @Override
+                        public void onNext(ExecutionServiceInput message) {
+                            messagesDelivered.add(message.getActionIdentifiers().getActionName());
+                            logger.info("Message received: {}", message);
+                            ExecutionServiceOutput executionServiceOutput = ExecutionServiceOutput.newBuilder()
+                                .setActionIdentifiers(message.getActionIdentifiers())
+                                .setStatus(Status.newBuilder().setEventType(
+                                    EventType.EVENT_COMPONENT_EXECUTED).build()).build();
+
+                            responseObserverRef.get().onNext(executionServiceOutput);
+                            logger.info("Message sent: {}", executionServiceOutput);
+                        }
+
+                        @Override
+                        public void onError(Throwable t) {
+                            responseObserverRef.get().onError(t);
+                        }
+
+                        @Override
+                        public void onCompleted() {
+                            allRequestsDelivered.countDown();
+                            responseObserverRef.get().onCompleted();
+                        }
+                    };
+
+                    return requestObserver;
+                }
+            };
+        grpcCleanup.register(
+            ServerBuilder.forPort(Integer.valueOf(port)).directExecutor().addService(blueprintPrcessorImpl).build()
+                .start());
+
+    }
+
+    public List<String> getMessagesDelivered() {
+        return this.messagesDelivered;
+    }
+
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/InfraEmbeddedMariaDbConfig.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/InfraEmbeddedMariaDbConfig.java
deleted file mode 100644
index 3f0a214..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/InfraEmbeddedMariaDbConfig.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 - 2018 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;
-import ch.vorburger.exec.ManagedProcessException;
-import ch.vorburger.mariadb4j.DBConfigurationBuilder;
-import ch.vorburger.mariadb4j.springframework.MariaDB4jSpringService;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.context.annotation.Profile;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.orm.jpa.JpaTransactionManager;
-import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import javax.persistence.EntityManagerFactory;
-import javax.sql.DataSource;
-
-@Configuration
-@EnableTransactionManagement
-@EnableJpaRepositories(
-        entityManagerFactoryRef = "requestEntityManagerFactory",transactionManagerRef = "requestTransactionManager",
-        basePackages = { "org.onap.so.db.request.data.repository"}
-)
-@Profile({"test"})
-public class InfraEmbeddedMariaDbConfig {
-
-    @Primary
-    @Bean(name = "requestEntityManagerFactory")
-    public LocalContainerEntityManagerFactoryBean
-    entityManagerFactory(
-            EntityManagerFactoryBuilder builder,
-            DataSource dataSource
-    ) {
-        return builder
-                .dataSource(dataSource)
-                .packages("org.onap.so.db.request.beans")
-                .persistenceUnit("requestDB")
-                .build();
-    }
-
-    @Bean(name = "requestTransactionManager")
-    public PlatformTransactionManager transactionManager(
-            @Qualifier("requestEntityManagerFactory") EntityManagerFactory
-                    entityManagerFactory
-    ) {
-        return new JpaTransactionManager(entityManagerFactory);
-    }
-}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/TestApplication.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/TestApplication.java
index f1b69c6..64311d8 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/TestApplication.java
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/TestApplication.java
@@ -31,13 +31,11 @@
 @SpringBootApplication
 @Profile("test")
 @ComponentScan(basePackages = {"org.onap.so"}, nameGenerator = DefaultToShortClassNameBeanNameGenerator.class, excludeFilters = {
-		@Filter(type = FilterType.ANNOTATION, classes = SpringBootApplication.class) })
+	@Filter(type = FilterType.ANNOTATION, classes = SpringBootApplication.class)})
 public class TestApplication {
 	public static void main(String... args) {
 		SpringApplication.run(TestApplication.class, args);
 		System.getProperties().setProperty("mso.db", "MARIADB");
 		System.getProperties().setProperty("server.name", "Springboot");
-		
-		
 	}
 }
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/ValidBPMNTest.java b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/ValidBPMNTest.java
deleted file mode 100644
index 0521fa7..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/ValidBPMNTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============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;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-@ActiveProfiles("test")
-@ContextConfiguration
-@AutoConfigureWireMock(port = 0)
-public class ValidBPMNTest {
-    
-    @Test
-    public void verifyApplicationStartup(){
-        //Verifys Springboot app can start up and all BPMN's are in fact parsable
-        assert(true);
-    }
-
-}
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
new file mode 100644
index 0000000..897ab03
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java
@@ -0,0 +1,261 @@
+/*
+ *
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ *  ================================================================================
+ *  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.
+ *
+ *  SPDX-License-Identifier: Apache-2.0
+ *  ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.infrastructure.process;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.ok;
+import static com.github.tomakehurst.wiremock.client.WireMock.okJson;
+import static com.github.tomakehurst.wiremock.client.WireMock.put;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathMatching;
+import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions.assertThat;
+
+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.Test;
+import org.onap.so.BaseBPMNTest;
+import org.onap.so.GrpcNettyServer;
+import org.onap.so.bpmn.mock.FileUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * Basic Integration test for createVcpeResCustService_Simplified.bpmn workflow.
+ */
+public class CreateVcpeResCustServiceSimplifiedTest extends BaseBPMNTest {
+
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    private static final String TEST_PROCESSINSTANCE_KEY = "CreateVcpeResCustService_simplified";
+
+    private String testBusinessKey;
+    private String requestObject;
+    private String responseObject;
+
+    @Autowired
+    private GrpcNettyServer grpcNettyServer;
+
+    @Before
+    public void setUp() throws IOException {
+
+        requestObject = FileUtil.readResourceFile("request/" + getClass().getSimpleName() + ".json");
+        responseObject = FileUtil.readResourceFile("response/" + getClass().getSimpleName() + ".json");
+
+        variables.put("bpmnRequest", requestObject);
+
+        /**
+         * This variable indicates that the flow was invoked asynchronously.
+         * It's injected by {@link WorkflowProcessor}.
+         */
+        variables.put("isAsyncProcess", "true");
+
+        /**
+         * Temporary solution to add pnfCorrelationId to context.
+         * this value is getting from the request to SO api handler and then convert to CamudaInput
+         */
+        variables.put("pnfCorrelationId", "PNFDemo");
+
+        /**
+         * Create mso-request-id.
+         */
+        String msoRequestId = UUID.randomUUID().toString();
+
+        variables.put("mso-request-id", msoRequestId);
+
+        /**
+         * Create Business key for the process instance
+         */
+        testBusinessKey = UUID.randomUUID().toString();
+
+        logger.info("Test the process instance: {} with business key: {}", TEST_PROCESSINSTANCE_KEY, testBusinessKey);
+
+    }
+
+    @Test
+    public void workflow_validInput_expectedOuput() {
+
+        mockCatalogDb();
+        mockAai();
+        mockDmaapForPnf();
+
+        ProcessInstance pi = runtimeService
+            .startProcessInstanceByKey(TEST_PROCESSINSTANCE_KEY, testBusinessKey, variables);
+        assertThat(pi).isNotNull();
+
+        Execution execution = runtimeService.createExecutionQuery().processDefinitionKey("CreateAndActivatePnfResource")
+            .activityId("WaitForDmaapPnfReadyNotification").singleResult();
+
+        if (!execution.isSuspended() && !execution.isEnded()) {
+            try {
+
+                runtimeService.signal(execution.getId());
+            } catch (Exception e) {
+                logger.info(e.getMessage(), e);
+            }
+        }
+
+        assertThat(pi).isStarted().hasPassedInOrder(
+            "createVCPE_startEvent",
+            "preProcessRequest_ScriptTask",
+            "sendSyncAckResponse_ScriptTask",
+            "ScriptTask_0cdtchu",
+            "DecomposeService",
+            "ScriptTask_0lpv2da",
+            "ScriptTask_1y241p8",
+            "CallActivity_1vc4jeh",
+            "ScriptTask_1y5lvl7",
+            "GeneratePnfUuid",
+            "Task_14l19kv",
+            "Pnf_Con",
+            "setPONR_ScriptTask",
+            "postProcessAndCompletionRequest_ScriptTask",
+            "callCompleteMsoProcess_CallActivity",
+            "ScriptTask_2",
+            "CreateVCPE_EndEvent"
+        );
+
+        assertThat(pi).isEnded();
+
+        List<String> messagesDelivered = grpcNettyServer.getMessagesDelivered();
+        assertThat(messagesDelivered).containsSequence("config-assign", "config-deploy");
+    }
+
+    /**
+     * Mock the Dmaap Rest interface for Pnf topic.
+     */
+    private void mockDmaapForPnf() {
+
+        String pnfResponse = "[{\"correlationId\": \"PNFDemo\",\"key1\":\"value1\"}]";
+
+        /**
+         * Get the events from PNF topic
+         */
+        wireMockServer
+            .stubFor(get(urlPathMatching("/events/pnfReady/consumerGroup.*")).willReturn(okJson(pnfResponse)));
+    }
+
+    private void mockAai() {
+
+        String aaiResponse = "{\n"
+            + "  \"results\": [\n"
+            + "    {\n"
+            + "      \"resource-type\": \"service-instance\",\n"
+            + "      \"resource-link\": \"https://localhost:8443/aai/v15/business/customers/customer/ADemoCustomerInCiti/service-subscriptions/service-subscription/vCPE/service-instances/service-instance/key3\"\n"
+            + "    }\n"
+            + "  ]\n"
+            + "}";
+
+        String aaiPnfEntry = "{  \n"
+            + "   \"pnf-name\":\"PNFDemo\",\n"
+            + "   \"pnf-id\":\"testtest\",\n"
+            + "   \"in-maint\":true,\n"
+            + "   \"resource-version\":\"1541720264047\",\n"
+            + "   \"pnf-ipv4-address\":\"1.1.1.1\",\n"
+            + "   \"pnf-ipv6-address\":\"ipv6\"\n"
+            + "}";
+
+        /**
+         * Get the AAI entry for globalCustomerId as specified in the request file.
+         */
+        wireMockServer.stubFor(
+            get(urlPathMatching("/aai/v15/business/customers/customer/ADemoCustomerInCiti.*")).willReturn(ok()));
+
+        /**
+         * PUT the service to AAI with globalCustomerId, service type as specified in the request file.
+         * Service instance id is generated during runtime, REGEX is used to represent the information.
+         */
+        wireMockServer.stubFor(put(urlPathMatching(
+            "/aai/v15/business/customers/customer/ADemoCustomerInCiti/service-subscriptions/service-subscription/vCPE/service-instances/service-instance/.*")));
+
+        wireMockServer.stubFor(get(urlPathMatching(
+            "/aai/v15/business/customers/customer/ADemoCustomerInCiti/service-subscriptions/service-subscription/vCPE/service-instances/service-instance/.*"))
+            .willReturn(okJson(aaiResponse)));
+
+        /**
+         * Get the service from AAI
+         */
+        wireMockServer.stubFor(get(urlPathMatching("/aai/v15/nodes/service-instances/service-instance/.*"))
+            .willReturn(okJson(aaiResponse)));
+
+        /**
+         * Put the project as specified in the request file to AAI.
+         */
+        wireMockServer.stubFor(put(urlEqualTo("/aai/v15/business/projects/project/Project-Demonstration")));
+
+        /**
+         * GET the project as specified in the request file to AAI.
+         */
+        wireMockServer
+            .stubFor(get(urlPathMatching("/aai/v15/business/projects/project/Project-Demonstration")).willReturn(ok()));
+
+        /**
+         * PUT the PNF correlation ID to AAI.
+         */
+        wireMockServer.stubFor(put(urlEqualTo("/aai/v15/network/pnfs/pnf/PNFDemo")));
+
+        /**
+         * Get the PNF entry from AAI.
+         */
+        wireMockServer.stubFor(get(urlEqualTo("/aai/v15/network/pnfs/pnf/PNFDemo")).willReturn(okJson(aaiPnfEntry)));
+
+        /**
+         * Put the PNF relationship
+         */
+        wireMockServer.stubFor(
+            put(urlEqualTo("/aai/v15/business/projects/project/Project-Demonstration/relationship-list/relationship")));
+    }
+
+    /**
+     * Mock the catalobdb rest interface.
+     */
+    private void mockCatalogDb() {
+
+        String catalogdbClientResponse = FileUtil
+            .readResourceFile("response/" + getClass().getSimpleName() + "_catalogdb.json");
+
+        /**
+         * Return valid json for the model UUID in the request file.
+         */
+        wireMockServer
+            .stubFor(get(urlEqualTo("/v2/serviceResources?serviceModelUuid=f2daaac6-5017-4e1e-96c8-6a27dfbe1421"))
+                .willReturn(okJson(responseObject)));
+
+        /**
+         * Return valid json for the service model InvariantUUID as specified in the request file.
+         */
+        wireMockServer.stubFor(
+            get(urlEqualTo("/v2/serviceResources?serviceModelInvariantUuid=539b7a2f-9524-4dbf-9eee-f2e05521df3f"))
+                .willReturn(okJson(responseObject)));
+
+        /**
+         * Return valid spring data rest json for the service model UUID as specified in the request file.
+         */
+        wireMockServer.stubFor(get(urlEqualTo(
+            "/pnfResourceCustomization/search/findPnfResourceCustomizationByModelUuid?SERVICE_MODEL_UUID=f2daaac6-5017-4e1e-96c8-6a27dfbe1421"))
+            .willReturn(okJson(catalogdbClientResponse)));
+    }
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRG.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRG.bpmn
deleted file mode 100644
index b33aad7..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRG.bpmn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateAllottedResourceBRG" name="DoCreateAllottedResourceBRG" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="initialization" />
-    <bpmn2:scriptTask id="initialization" name="set rollbackData">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1v2f9n5</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[#{execution.setVariable("rollbackData", true)}]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:endEvent id="EndEvent_1">
-      <bpmn2:incoming>SequenceFlow_1v2f9n5</bpmn2:incoming>
-      <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" errorRef="Error_2" />
-    </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1v2f9n5" sourceRef="initialization" targetRef="EndEvent_1" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmn2:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateAllottedResourceBRG">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_68" bpmnElement="StartEvent_1">
-        <dc:Bounds x="-91" y="222" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-73" y="263" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_285" bpmnElement="initialization">
-        <dc:Bounds x="35" y="200" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_68" targetElement="_BPMNShape_ScriptTask_285">
-        <di:waypoint xsi:type="dc:Point" x="-55" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="35" y="241" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-55" y="225.5" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_225" bpmnElement="EndEvent_1">
-        <dc:Bounds x="235" y="222" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="208" y="263" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1v2f9n5_di" bpmnElement="SequenceFlow_1v2f9n5">
-        <di:waypoint xsi:type="dc:Point" x="135" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="235" y="240" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="140" y="219" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRGRollback.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRGRollback.bpmn
deleted file mode 100644
index 807efae..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceBRGRollback.bpmn
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateAllottedResourceBRGRollback" name="DoCreateAllottedResourceBRGRollback" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_03yvb82" />
-    <bpmn2:endEvent id="EndEvent_1sn21jr">
-      <bpmn2:incoming>SequenceFlow_1epm19d</bpmn2:incoming>
-    </bpmn2:endEvent>
-    <bpmn2:scriptTask id="ScriptTask_03yvb82" name="set Success">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1epm19d</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[#{execution.setVariable("rolledBack", true)}]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1epm19d" sourceRef="ScriptTask_03yvb82" targetRef="EndEvent_1sn21jr" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmn2:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateAllottedResourceBRGRollback">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_68" bpmnElement="StartEvent_1">
-        <dc:Bounds x="66" y="392" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="84" y="433" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_68" targetElement="ScriptTask_03yvb82_di">
-        <di:waypoint xsi:type="dc:Point" x="101" y="412" />
-        <di:waypoint xsi:type="dc:Point" x="207" y="410" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="109" y="396" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_1sn21jr_di" bpmnElement="EndEvent_1sn21jr">
-        <dc:Bounds x="413" y="392" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="386" y="432" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ScriptTask_03yvb82_di" bpmnElement="ScriptTask_03yvb82">
-        <dc:Bounds x="207" y="370" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1epm19d_di" bpmnElement="SequenceFlow_1epm19d">
-        <di:waypoint xsi:type="dc:Point" x="307" y="410" />
-        <di:waypoint xsi:type="dc:Point" x="377" y="410" />
-        <di:waypoint xsi:type="dc:Point" x="377" y="410" />
-        <di:waypoint xsi:type="dc:Point" x="413" y="410" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="392" y="404" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceTXC.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceTXC.bpmn
deleted file mode 100644
index b2f280d..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateAllottedResourceTXC.bpmn
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateAllottedResourceTXC" name="DoCreateAllottedResourceTXC" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="EndEvent_1" />
-    <bpmn2:endEvent id="EndEvent_1">
-      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
-      <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" errorRef="Error_2" />
-    </bpmn2:endEvent>
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmn2:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateAllottedResourceTXC">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_68" bpmnElement="StartEvent_1">
-        <dc:Bounds x="-91" y="222" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-73" y="263" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_68" targetElement="_BPMNShape_EndEvent_225">
-        <di:waypoint xsi:type="dc:Point" x="-55" y="240" />
-        <di:waypoint xsi:type="dc:Point" x="139" y="240" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-3" y="225" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_225" bpmnElement="EndEvent_1">
-        <dc:Bounds x="139" y="222" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="112" y="263" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateServiceInstanceRollback.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateServiceInstanceRollback.bpmn
deleted file mode 100644
index 532ca86..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateServiceInstanceRollback.bpmn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateServiceInstanceRollback" name="DoCreateServiceInstanceRollback" isExecutable="true">
-    <bpmn2:startEvent id="createSIRollback_startEvent" name="Start Flow">
-      <bpmn2:outgoing>SequenceFlow_1ipu8um</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:endEvent id="EndEvent_3">
-      <bpmn2:incoming>SequenceFlow_1l4c4k0</bpmn2:incoming>
-    </bpmn2:endEvent>
-    <bpmn2:scriptTask id="ScriptTask_05ltxyj" name="set Success">
-      <bpmn2:incoming>SequenceFlow_1ipu8um</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1l4c4k0</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[#{execution.setVariable("rolledBack", true)}]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1ipu8um" sourceRef="createSIRollback_startEvent" targetRef="ScriptTask_05ltxyj" />
-    <bpmn2:sequenceFlow id="SequenceFlow_1l4c4k0" sourceRef="ScriptTask_05ltxyj" targetRef="EndEvent_3" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateServiceInstanceRollback">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSIRollback_startEvent">
-        <dc:Bounds x="151" y="79" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="146" y="120" width="48" height="14" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3">
-        <dc:Bounds x="484" y="79" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="457" y="120" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="ScriptTask_05ltxyj_di" bpmnElement="ScriptTask_05ltxyj">
-        <dc:Bounds x="287" y="57" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1ipu8um_di" bpmnElement="SequenceFlow_1ipu8um">
-        <di:waypoint xsi:type="dc:Point" x="187" y="97" />
-        <di:waypoint xsi:type="dc:Point" x="287" y="97" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="237" y="76" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_1l4c4k0_di" bpmnElement="SequenceFlow_1l4c4k0">
-        <di:waypoint xsi:type="dc:Point" x="387" y="97" />
-        <di:waypoint xsi:type="dc:Point" x="484" y="97" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="435.5" y="76" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModules.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModules.bpmn
deleted file mode 100644
index 5e4400e..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModules.bpmn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0">
-  <bpmn:process id="DoCreateVnfAndModules" name="DoCreateVnfAndModules" isExecutable="true">
-    <bpmn:startEvent id="StartEvent_1">
-      <bpmn:outgoing>SequenceFlow_11sp3s9</bpmn:outgoing>
-    </bpmn:startEvent>
-    <bpmn:sequenceFlow id="SequenceFlow_11sp3s9" sourceRef="StartEvent_1" targetRef="ScriptTask_0y5wsgy" />
-    <bpmn:scriptTask id="ScriptTask_0y5wsgy" name="set rollbackData">
-      <bpmn:incoming>SequenceFlow_11sp3s9</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_0q1lfmf</bpmn:outgoing>
-      <bpmn:script><![CDATA[#{execution.setVariable("rollbackData", true)}]]></bpmn:script>
-    </bpmn:scriptTask>
-    <bpmn:sequenceFlow id="SequenceFlow_0q1lfmf" sourceRef="ScriptTask_0y5wsgy" targetRef="EndEvent_0vgtf5f" />
-    <bpmn:endEvent id="EndEvent_0vgtf5f">
-      <bpmn:incoming>SequenceFlow_0q1lfmf</bpmn:incoming>
-    </bpmn:endEvent>
-  </bpmn:process>
-  <bpmn:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmn:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateVnfAndModules">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
-        <dc:Bounds x="152" y="147" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="170" y="183" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_11sp3s9_di" bpmnElement="SequenceFlow_11sp3s9">
-        <di:waypoint xsi:type="dc:Point" x="188" y="165" />
-        <di:waypoint xsi:type="dc:Point" x="268" y="165" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="183" y="144" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ScriptTask_0y5wsgy_di" bpmnElement="ScriptTask_0y5wsgy">
-        <dc:Bounds x="268" y="125" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0q1lfmf_di" bpmnElement="SequenceFlow_0q1lfmf">
-        <di:waypoint xsi:type="dc:Point" x="368" y="165" />
-        <di:waypoint xsi:type="dc:Point" x="447" y="165" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="362.5" y="144" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_0vgtf5f_di" bpmnElement="EndEvent_0vgtf5f">
-        <dc:Bounds x="447" y="147" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="420" y="187" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModulesRollback.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModulesRollback.bpmn
deleted file mode 100644
index 2867a67..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoCreateVnfAndModulesRollback.bpmn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_Wblj8GyfEeWUWLTvug7ZOg" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoCreateVnfAndModulesRollback" name="DoCreateVnfAndModulesRollback" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1gai4qr">
-      <bpmn2:outgoing>SequenceFlow_1537b7m</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:endEvent id="EndEvent_1seag7u">
-      <bpmn2:incoming>SequenceFlow_1mz2mgf</bpmn2:incoming>
-    </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_1537b7m" sourceRef="StartEvent_1gai4qr" targetRef="ScriptTask_0fpaoo0" />
-    <bpmn2:scriptTask id="ScriptTask_0fpaoo0" name="set Success">
-      <bpmn2:incoming>SequenceFlow_1537b7m</bpmn2:incoming>
-      <bpmn2:outgoing>SequenceFlow_1mz2mgf</bpmn2:outgoing>
-      <bpmn2:script><![CDATA[#{execution.setVariable("rolledBack", true)}]]></bpmn2:script>
-    </bpmn2:scriptTask>
-    <bpmn2:sequenceFlow id="SequenceFlow_1mz2mgf" sourceRef="ScriptTask_0fpaoo0" targetRef="EndEvent_1seag7u" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:message id="Message_1" name="DoCreateVfModuleRollbackRequest" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateVnfAndModulesRollback">
-      <bpmndi:BPMNShape id="StartEvent_1gai4qr_di" bpmnElement="StartEvent_1gai4qr">
-        <dc:Bounds x="-91" y="655" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-73" y="691" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_1seag7u_di" bpmnElement="EndEvent_1seag7u">
-        <dc:Bounds x="248" y="655" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="660" y="676" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1537b7m_di" bpmnElement="SequenceFlow_1537b7m">
-        <di:waypoint xsi:type="dc:Point" x="-55" y="673" />
-        <di:waypoint xsi:type="dc:Point" x="55" y="673" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="-45" y="658" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="ScriptTask_0fpaoo0_di" bpmnElement="ScriptTask_0fpaoo0">
-        <dc:Bounds x="55" y="633" width="100" height="80" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1mz2mgf_di" bpmnElement="SequenceFlow_1mz2mgf">
-        <di:waypoint xsi:type="dc:Point" x="155" y="673" />
-        <di:waypoint xsi:type="dc:Point" x="248" y="673" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="201.5" y="652" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoDeleteVnfAndModules.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoDeleteVnfAndModules.bpmn
deleted file mode 100644
index 517df36..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/DoDeleteVnfAndModules.bpmn
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_9MhrcHqVEea26OhQB97uCQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="DoDeleteVnfAndModules" name="DoDeleteVnfAndModules" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_0qi7pl3</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0qi7pl3" sourceRef="StartEvent_1" targetRef="EndEvent_11dfyam" />
-    <bpmn2:endEvent id="EndEvent_11dfyam">
-      <bpmn2:incoming>SequenceFlow_0qi7pl3</bpmn2:incoming>
-    </bpmn2:endEvent>
-  </bpmn2:process>
-  <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoDeleteVnfAndModules">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_79" bpmnElement="StartEvent_1">
-        <dc:Bounds x="238" y="209" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="256" y="250" width="0" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0qi7pl3_di" bpmnElement="SequenceFlow_0qi7pl3">
-        <di:waypoint xsi:type="dc:Point" x="274" y="227" />
-        <di:waypoint xsi:type="dc:Point" x="387" y="227" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="285.5" y="206" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-      <bpmndi:BPMNShape id="EndEvent_11dfyam_di" bpmnElement="EndEvent_11dfyam">
-        <dc:Bounds x="387" y="209" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="360" y="249" width="90" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/Homing.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/Homing.bpmn
deleted file mode 100644
index ad4c3c8..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/VCPE/stubprocess/Homing.bpmn
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="Homing" name="Homing" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_0tyavm9</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:endEvent id="EndEvent_0n56tas">
-      <bpmn2:incoming>SequenceFlow_0tyavm9</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition />
-    </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0tyavm9" sourceRef="StartEvent_1" targetRef="EndEvent_0n56tas" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_10hit0u" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_1lwpypa" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Homing">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
-        <dc:Bounds x="147" y="275" width="36" height="36" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0ougemc_di" bpmnElement="EndEvent_0n56tas">
-        <dc:Bounds x="263" y="275" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="236" y="311" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0tyavm9_di" bpmnElement="SequenceFlow_0tyavm9">
-        <di:waypoint xsi:type="dc:Point" x="183" y="293" />
-        <di:waypoint xsi:type="dc:Point" x="263" y="293" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="223" y="272" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yaml b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yaml
index daf7279..fa75339 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yaml
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yaml
@@ -1,6 +1,10 @@
 aai:
   auth: 5A1272FE739BECA4D4374A86B25C021DFE6745E3BB7BE6836BF64A6059B8220E586C21FD7567AF41DB42571EB7
   endpoint: http://localhost:${wiremock.server.port}
+  #PnfCheckInputs
+  pnfEntryNotificationTimeout: P14D
+  #CreateVcpeResCustService:preProcessRequest
+  workflowAaiDistributionDelay: P14D
 appc:
   client:
     key: iaEMAfjsVsZnraBP
@@ -55,6 +59,11 @@
     workflow:
       message:
         endpoint: http://localhost:${wiremock.server.port}/workflows/messages/message
+    #${mso.adapters.requestDb.endpoint}:BBInputSetupUtils,RequestsDBClient
+    requestDb:
+      #${mso.adapters.requestDb.auth}: BBInputSetup
+      auth: Basic YnBlbDptc28tZGItMTUwNyE=
+      endpoint: http://localhost:${wiremock.server.port}
         
   async:
       core-pool-size: 50
@@ -67,7 +76,8 @@
   callbackRetryAttempts: '5'
   catalog:
     db:
-      endpoint: http://localhost:${wiremock.server.port}/
+      #CatalogDbUtils.groovy:getResponseFromCatalogDb
+      endpoint: http://localhost:${wiremock.server.port}
       spring:
         endpoint: http://localhost:${wiremock.server.port}  
   correlation:
@@ -90,6 +100,10 @@
   request:
     db:
       endpoint: http://localhost:${wiremock.server.port}/
+  #request DB endpoint
+  requestDb:
+    auth: Basic YnBlbDptc28tZGItMTUwNyE=
+    endpoint: http://localhost:${wiremock.server.port}
   rollback: 'true'
   sdnc:    
     password: 3141634BF7E070AA289CF2892C986C0B      
@@ -111,6 +125,7 @@
     notification:
       name: GenericNotificationService
     sdncadapter:
+      #DoCreateServiceInstance.groovy: preProcessRequest
       callback: http://localhost:${wiremock.server.port}/mso/SDNCAdapterCallbackService
     vnfadapter:
       create:
@@ -173,7 +188,6 @@
     database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
   security:
     usercredentials:
-    -  
       username: test
       password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu'
       role: BPEL-Client
@@ -192,3 +206,21 @@
       deploy-changed-only: true
     job-execution:
       deployment-aware: true
+# PnfEventReadyDmaapClient
+pnf:
+  dmaap:
+    host: localhost
+    port: ${wiremock.server.port}
+    protocol: http
+    uriPathPrefix: events
+    topicName: pnfReady
+    consumerGroup: consumerGroup
+    consumerId: consumerId
+    topicListenerDelayInSeconds: 5
+# CDSProcessingClient
+cds:
+  endpoint: localhost
+  port: 11011
+  auth: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+  timeout: 60
+
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yml b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yml
deleted file mode 100644
index b1a8c4b..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/application-test.yml
+++ /dev/null
@@ -1,303 +0,0 @@
-aai:
-  auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C
-  dme2:
-    timeout: '30000'
-  endpoint: https://localhost:8443
-camunda:
-  bpm:
-    admin-user:
-      id: admin
-      password: admin
-    database:
-      type: h2
-    history-level: FULL
-    metrics:
-      enabled: false
-      db-reporter-activate: false
-    application:
-      delete-upon-undeploy: false
-      scan-for-process-definitions: true
-      deploy-changed-only: true
-    job-execution:
-      deployment-aware: true
-canopi:
-  auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C
-csi:
-  aots:
-    addincidentmanagement:
-      endpoint: http://localhost:28090/AddIncidentManagementTicketRequest
-  networkstatus:
-    endpoint: http://localhost:28090/SendManagedNetworkStatusNotification
-entitymanager:
-  packagesToScan: com
-
-mso:
-  correlation:
-    timeout: PT60S
-  logPath: logs
-  async:
-    core-pool-size: 50
-    max-pool-size: 50
-    queue-capacity: 500
-  adapters:
-    completemsoprocess:
-      endpoint: http://localhost:30253/CompleteMsoProcess
-    db:
-      auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C
-      password: wLg4sjrAFUS8rfVfdvTXeQ==
-      endpoint: http://localhost:28090
-      spring:
-        endpoint: http://localhost:28090
-    network:
-      endpoint: http://localhost:30253/services/NetworkAdapter
-      rest:
-        endpoint: http://localhost:30253/services/rest/v1/networks
-    openecomp:
-      db:
-        endpoint: http://localhost:30257/services/RequestsDbAdapter
-    po:
-      auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C
-      password: 3141634BF7E070AA289CF2892C986C0B
-    sdnc:
-      endpoint: http://localhost:30254/adapters/SDNCAdapter
-      rest:
-        endpoint: http://localhost:30254/adapters/rest/v1/sdnc
-      timeout: PT60S
-    tenant:
-      endpoint: http://localhost:30253/services/TenantAdapter
-    vnf:
-      endpoint: http://localhost:30253/services/VnfAdapter
-      rest:
-        endpoint: http://localhost:30253/services/rest/v1/vnfs
-    volume-groups:
-      rest:
-        endpoint: http://localhost:30253/services/rest/v1/volume-groups
-    vnf-async:
-      endpoint: http://localhost:30253/services/VnfAdapterAsync
-  adiod:
-    vce:
-      service:
-        model:
-          invariant:
-            uuid: 1cc4e2e4-eb6e-404d-a66f-c8733cedcce8
-          version: '5.0'
-  bpmn:
-    process:
-      historyTimeToLive: '30'
-  callbackRetryAttempts: '5'
-  catalog:
-    db:
-      endpoint: http://localhost:30258/ecomp/mso/catalog
-      spring:
-        endpoint: http://localhost:30258
-  csi:
-    pwd: E684FA9977AF5DFB50F5ADC5B7425FDFA0CEBFF2E138E0477549879AEC8A9CE2DB7563
-    sendmanagednetworkstatusnotification:
-      applicationname: NetworkManagementEthernetOverFiber
-      version: '212'
-    usrname: mso
-  db:
-    auth: Basic YnBlbDptc28tZGItMTUwNyE=
-  default:
-    adapter:
-      namespace: http://com.att.mso
-  gateway:
-    service:
-      model:
-        name: HNGWaaS for DHV Test
-  healthcheck:
-    log:
-      debug: 'false'
-  infra:
-    customer:
-      id: testCustIdInfra
-  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
-  oam:
-    network:
-      role:
-        gateway: HngwOamNetVto.OAM
-        portal: HnportalOamNetVto.OAM
-  po:
-    timeout: PT60S
-  portal:
-    service:
-      model:
-        name: HNPortalaaS for DHV Test
-  request:
-    db:
-      endpoint: http://localhost:28090/
-  rollback: 'true'
-  sdnc:
-    firewall:
-      yang:
-        model:
-          version: '2015-05-15'
-    password: 3141634BF7E070AA289CF2892C986C0B
-    timeout:
-      firewall:
-        minutes: '20'
-      ucpe:
-        async:
-          hours: '120'
-          minutes: '5'
-  service:
-    agnostic:
-      sniro:
-        endpoint: /sniro/api/v2/placement
-        host: http://localhost:30253
-  site-name: CamundaEngine
-  sniro:
-    auth: test:testpwd
-    callback: http://localhost:28090/adapters/rest/SDNCNotify
-    endpoint: http://localhost:28090/optimizationInstance/V1/create
-    policies:
-      dhv:
-        2vvig: SNIRO.DistanceToLocationPolicy_vhngw,SNIRO.VNFPolicy_vhngatewayprimary1_v1,SNIRO.ResourceInstancePolicy_hngateway,SNIRO.ResourceRegionPolicy_hngateway_v1,SNIRO.VNFPolicy_vhngatewaysecondary1_v1,SNIRO.ZonePolicy_vhngw,SNIRO.PlacementOptimizationPolicy_dhv_v3,SNIRO.VNFPolicy_vhnportal_primary1_v1,SNIRO.ResourceInstancePolicy_vhnportal_v3,SNIRO.ResourceRegionPolicy_vhnportal_v1,SNIRO.VNFPolicy_vhnportalsecondary1_v1,SNIRO.ZonePolicy_vhnportal,SNIRO.DistanceToLocationPolicy_vvig,SNIRO.InventoryGroupPolicy_vvig,SNIRO.VNFPolicy_vvigprimary1_v1,SNIRO.ResourceInstancePolicy_vvig,SNIRO.VNFPolicy_vvigsecondary1_v1
-        4vvig: SNIRO.DistanceToLocationPolicy_vhngw,SNIRO.VNFPolicy_vhngatewayprimary1_v1,SNIRO.ResourceInstancePolicy_hngateway,SNIRO.ResourceRegionPolicy_hngateway_v1,SNIRO.VNFPolicy_vhngatewaysecondary1_v1,SNIRO.ZonePolicy_vhngw,SNIRO.PlacementOptimizationPolicy_dhv_v3,SNIRO.VNFPolicy_vhnportal_primary1_v1,SNIRO.ResourceInstancePolicy_vhnportal_v3,SNIRO.ResourceRegionPolicy_vhnportal_v1,SNIRO.VNFPolicy_vhnportalsecondary1_v1,SNIRO.ZonePolicy_vhnportal,SNIRO.VNFPolicy_vvigprimary2_v1,SNIRO.VNFPolicy_vvigsecondary2_v1,SNIRO.DistanceToLocationPolicy_vvig,SNIRO.InventoryGroupPolicy_vvig,SNIRO.VNFPolicy_vvigprimary1_v1,SNIRO.ResourceInstancePolicy_vvig,SNIRO.VNFPolicy_vvigsecondary1_v1
-    timeout: PT30M
-  sriov:
-    network:
-      role:
-        gateway1: HngwSriovProviderNet.SR_IOV_Provider2_1
-        gateway2: HngwSriovProviderNet.SR_IOV_Provider2_2
-        portal1: HnportalSriovProviderNet3.SR_IOV_Provider2_1
-        portal2: HnportalSriovProviderNet3.SR_IOV_Provider2_2
-  workflow:
-    aai:
-      distribution:
-        delay: PT5S
-    CreateGenericVNFV1:
-      aai:
-        volume-group:
-          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group
-    DHVCreateService:
-      aai:
-        customer:
-          uri: /aai/v9/business/customers/customer
-    createvce:
-      delay:
-        seconds: '1'
-    default:
-      aai:
-        version: '8'
-        cloud-region:
-          version: '9'
-        generic-vnf:
-          version: '9'
-      retry:
-        attempts: '1'
-    deleteCinderVolumeV1:
-      aai:
-        volume-group:
-          uri: /aai/v6/cloud-infrastructure/volume-groups/volume-group
-    global:
-      default:
-        aai:
-          namespace: http://org.openecomp.aai.inventory/
-    l3ToHigherLayerAddBonding:
-      model:
-        invariantid: 50359538-066f-4a8d-807f-f2bc8eaa79dc
-        name: WAN Bonding v0.1
-        version: '0.1'
-        versionid: 52dbec20-47aa-42e4-936c-331d8e350d44
-    message:
-      endpoint: http://localhost:30252/mso/WorkflowMessage
-    notification:
-      name: GenericNotificationServiceATT
-    sdncadapter:
-      callback: http://localhost:30254/mso/SDNCAdapterCallbackService
-    vnfadapter:
-      create:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      delete:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      query:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-      rollback:
-        callback: http://localhost:30253/mso/vnfAdapterNotify
-org:
-  onap:
-    so:
-      cloud-owner: CloudOwner
-policy:
-  auth: Basic dGVzdHBkcDphbHBoYTEyMw==
-  client:
-    auth: Basic bTAzNzQzOnBvbGljeVIwY2sk
-  endpoint: https://localhost:8081/pdp/api/
-  environment: TEST
-sdnc:
-  auth: Basic YWRtaW46YWRtaW4=
-  host: https://localhost:8443
-  path: /restconf/operations/GENERIC-RESOURCE-API
-sdno:
-  health-check:
-    dmaap:
-      password: eHQ1cUJrOUc
-      publisher:
-        topic: com.att.sdno.test-health-diagnostic-v02
-      subscriber:
-        topic: com.att.sdno.test-health-diagnostic-v02
-      username: testuser
-sniro:
-  conductor:
-    host: http://localhost:30253
-    uri: /release
-  manager:
-    host: http://localhost:30253
-    uri: /sniro/api/placement/v2
-    headers.auth: Basic dGVzdDp0ZXN0cHdk
-    headers.patchVersion: 1
-    headers.minorVersion: 1
-    headers.latestVersion: 2
-server:
-  port: 8080
-  tomcat:
-    max-threads: 50
-  # ssl:
-    # key-store: /app/msoClientKeyStore.jks
-    # key-store-password: mso4you
-    # key-store-type: JKS
-    # trust-store: /app/msoTrustStore.jks
-    # trust-store-password: mso_Domain2.0_4you
-spring:
-  h2:
-    console:
-      enabled: true
-      path: /h2
-  datasource:
-    url: jdbc:h2:mem:AZ;;DB_CLOSE_ON_EXIT=FALSE
-    username: sa
-    password: sa
-    driverClassName: org.h2.Driver
-  security:
-    usercredentials:
-    -  
-      username: test
-      password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu'
-      role: BPMN-Client    
-# Hibernate
-hibernate:
-  dialect: org.hibernate.dialect.MySQL5Dialect
-  show_sql: false
-
-management:
-  security:
-    enabled: false
-
-security:
-  basic:
-    enabled: false
-
-appc:
-  client:
-    topic:
-      read: 
-        name: APPC-TEST-AMDOCS2
-        timeout: 360000 
-      write: APPC-TEST-AMDOCS1-IST
-    response:
-      timeout: 360000
-    key: LSl8QKolmKcC0yJR
-    secret: lgjXraD1HutKxv8jEN6tVouu
-    service: ueb
-    poolMembers: localhost:3904,localhost:3904,localhost:3904
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/logback-test.xml b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/logback-test.xml
index 38a2ef6..3b0bdb2 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/logback-test.xml
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/logback-test.xml
@@ -1,44 +1,69 @@
 <configuration>
 
+  <property name="LOGS" value="target/logs" />
+
+  <!-- Add this appender to keep the log file for further troubleshooting-->
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] |%X{RequestId}| %-5level
+        %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+
+  <appender name="File"
+    class="ch.qos.logback.core.FileAppender">
+    <file>${LOGS}/testing.log</file>
+    <encoder
+      class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+      <Pattern>%d{HH:mm:ss.SSS} [%thread] |%X{RequestId}| %-5level
+        %logger{1024} - %msg%n</Pattern>
+    </encoder>
+  </appender>
+
+  <logger name="com.att.ecomp.audit" level="info" additivity="false">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <logger name="com.att.eelf.metrics" level="info" additivity="false">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <logger name="com.att.eelf.error" level="WARN" additivity="false">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <logger name="org.onap" level="${so.log.level:-DEBUG}" additivity="false">
+    <appender-ref ref="STDOUT"/>
+  </logger>
 
 
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] |%X{RequestId}| %-5level
-                %logger{1024} - %msg%n
-            </pattern>
-        </encoder>
-    </appender>
+  <logger name="ch.vorburger" level="WARN" additivity="false">
+    <appender-ref ref="STDOUT"/>
+  </logger>
 
+  <logger name="AUDIT" level="info" additivity="true">
+    <appender-ref ref="STDOUT"/>
+  </logger>
 
-    <logger name="com.att.ecomp.audit" level="info" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
+  <!-- suppress the amount of org.apache.tomcat.util.net.NioEndpoint log-->
+  <logger name="org.apache.tomcat" level="WARN" />
 
-    <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
+  <!-- suppress the amount of org.springframework.beans log-->
+  <logger name="org.springframework.beans" level="WARN"/>
 
-    <logger name="com.att.eelf.error" level="WARN" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
+  <!-- suppress the amount of org.springframework.context log-->
+  <logger name="org.springframework.context" level="WARN"/>
 
-    <logger name="org.onap" level="${so.log.level:-DEBUG}" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
-    
+  <!-- suppress the amount of org.camunda.bpm.engine.impl.persistence-->
+  <logger name="org.camunda.bpm.engine.impl.persistence" level="WARN"/>
 
-    <logger name="ch.vorburger" level="WARN" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
-    
-    <logger name="AUDIT" level="info" additivity="true">        
-        <appender-ref ref="STDOUT" />
-    </logger>
+  <!-- suppress the amount of org.camunda.bpm.engine.persistence-->
+  <logger name="org.camunda.bpm.engine.persistence" level="WARN"/>
 
-    <root level="WARN">
-        <appender-ref ref="STDOUT" />
-    </root>
-
+  <root level="WARN">
+    <appender-ref ref="STDOUT"/>
+    <appender-ref ref="File"/>
+  </root>
 
 </configuration>
\ No newline at end of file
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/request/CreateVcpeResCustServiceSimplifiedTest.json b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/request/CreateVcpeResCustServiceSimplifiedTest.json
new file mode 100644
index 0000000..b43148a
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/request/CreateVcpeResCustServiceSimplifiedTest.json
@@ -0,0 +1,47 @@
+{
+  "requestDetails":{
+    "requestInfo":{
+      "source":"VID",
+      "suppressRollback":false,
+      "requestorId":"demo",
+      "productFamilyId":"vCPEid"
+    },
+    "modelInfo":{
+      "modelType":"service",
+      "modelInvariantUuid":"539b7a2f-9524-4dbf-9eee-f2e05521df3f",
+      "modelInvariantId":"539b7a2f-9524-4dbf-9eee-f2e05521df3f",
+      "modelUuid":"f2daaac6-5017-4e1e-96c8-6a27dfbe1421",
+      "modelName":"PNF_int_service_2",
+      "modelVersion":"1.0"
+    },
+    "requestParameters":{
+      "userParams":[
+        {
+          "name":"aic_zone",
+          "value":"nova"
+        },
+        {
+          "name":"pnfId",
+          "value":"PNFDemo"
+        }
+      ],
+      "subscriptionServiceType":"vCPE",
+      "aLaCarte":false,
+      "pnfCorrelationId": "PNFDemo"
+    },
+    "cloudConfiguration":{
+      "lcpCloudRegionId":"regionOne",
+      "tenantId":"09a63533072f4a579d5c99c3b8fe94c6"
+    },
+    "subscriberInfo":{
+      "globalSubscriberId":"ADemoCustomerInCiti"
+    },
+    "project":{
+      "projectName":"Project-Demonstration"
+    },
+    "owningEntity":{
+      "owningEntityId":"5eae949c-1c50-4780-b8b5-7cbeb08856b4",
+      "owningEntityName":"OE-Demonstration"
+    }
+  }
+}
\ No newline at end of file
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest.json b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest.json
new file mode 100644
index 0000000..a88f261
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest.json
@@ -0,0 +1,26 @@
+{
+  "serviceResources":{
+    "modelInfo":{
+      "modelInvariantId":"539b7a2f-9524-4dbf-9eee-f2e05521df3f",
+      "modelUuid":"f2daaac6-5017-4e1e-96c8-6a27dfbe1421",
+      "modelName":"PNF_int_service_2",
+      "modelVersion":"1.0"
+    },
+    "serviceType":"NA",
+    "environmentContext":"Luna",
+    "serviceRole":"NA",
+    "workloadContext":"Oxygen",
+    "serviceVnfs":[
+
+    ],
+    "serviceNetworks":[
+
+    ],
+    "serviceAllottedResources":[
+
+    ],
+    "configResource":[
+
+    ]
+  }
+}
\ No newline at end of file
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest_catalogdb.json b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest_catalogdb.json
new file mode 100644
index 0000000..66d1a88
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/response/CreateVcpeResCustServiceSimplifiedTest_catalogdb.json
@@ -0,0 +1,37 @@
+{
+  "_embedded": {
+    "pnfResourceCustomization": [
+      {
+        "modelCustomizationUUID": "68dc9a92-214c-11e7-93ae-92361f002680",
+        "modelInstanceName": "PNF routing",
+        "created": "2019-03-08 12:00:29.000",
+        "nfFunction": "routing",
+        "nfType": "routing",
+        "nfRole": "routing",
+        "nfNamingCode": "routing",
+        "multiStageDesign": null,
+        "resourceInput": null,
+        "blueprintName": "test_configuration_restconf",
+        "blueprintVersion": "1.0.0",
+        "skipPostInstConf": false,
+        "creationTimestamp": "2019-03-08T12:00:29.000+0000",
+        "_links": {
+          "self": {
+            "href": "http://localhost:41023/pnfResourceCustomization/68dc9a92-214c-11e7-93ae-92361f002680"
+          },
+          "pnfResourceCustomization": {
+            "href": "http://localhost:41023/pnfResourceCustomization/68dc9a92-214c-11e7-93ae-92361f002680"
+          },
+          "pnfResources": {
+            "href": "http://localhost:41023/pnfResourceCustomization/68dc9a92-214c-11e7-93ae-92361f002680/pnfResources"
+          }
+        }
+      }
+    ]
+  },
+  "_links": {
+    "self": {
+      "href": "http://localhost:41023/pnfResourceCustomization/search/findPnfResourceCustomizationByModelUuid?SERVICE_MODEL_UUID=5df8b6de-2083-11e7-93ae-92361f002676"
+    }
+  }
+}
\ No newline at end of file
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/stubprocess/GenericStub.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/test/resources/stubprocess/GenericStub.bpmn
deleted file mode 100644
index 66f4584..0000000
--- a/bpmn/so-bpmn-infrastructure-flows/src/test/resources/stubprocess/GenericStub.bpmn
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
-  <bpmn2:process id="GenericStub" name="GenericStub" isExecutable="true">
-    <bpmn2:startEvent id="StartEvent_1">
-      <bpmn2:outgoing>SequenceFlow_0tyavm9</bpmn2:outgoing>
-    </bpmn2:startEvent>
-    <bpmn2:endEvent id="EndEvent_0n56tas">
-      <bpmn2:incoming>SequenceFlow_0tyavm9</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition />
-    </bpmn2:endEvent>
-    <bpmn2:sequenceFlow id="SequenceFlow_0tyavm9" sourceRef="StartEvent_1" targetRef="EndEvent_0n56tas" />
-  </bpmn2:process>
-  <bpmn2:error id="Error_10hit0u" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
-  <bpmn2:error id="Error_1lwpypa" name="Java Lang Exception" errorCode="java.lang.Exception" />
-  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
-    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericStub">
-      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
-        <dc:Bounds x="147" y="275" width="36" height="36" />
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="EndEvent_0ougemc_di" bpmnElement="EndEvent_0n56tas">
-        <dc:Bounds x="263" y="275" width="36" height="36" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="236" y="311" width="90" height="0" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_0tyavm9_di" bpmnElement="SequenceFlow_0tyavm9">
-        <di:waypoint xsi:type="dc:Point" x="183" y="293" />
-        <di:waypoint xsi:type="dc:Point" x="263" y="293" />
-        <bpmndi:BPMNLabel>
-          <dc:Bounds x="223" y="272" width="0" height="12" />
-        </bpmndi:BPMNLabel>
-      </bpmndi:BPMNEdge>
-    </bpmndi:BPMNPlane>
-  </bpmndi:BPMNDiagram>
-</bpmn2:definitions>