diff options
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-flows/src/test')
23 files changed, 780 insertions, 872 deletions
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 0000000000..b1bf830a7a --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/AllBPMNTestSuites.java @@ -0,0 +1,27 @@ +/* + * + * ============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 0000000000..983fcc2a5c --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/BaseBPMNTest.java @@ -0,0 +1,64 @@ +/* + * ============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 0000000000..3fd39c4953 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/EmbeddedMariaDbConfig.java @@ -0,0 +1,60 @@ +/*- + * ============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 0000000000..9521e68e16 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/GrpcNettyServer.java @@ -0,0 +1,103 @@ +/* + * ============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 CountDownLatch allRequestsDelivered = new CountDownLatch(1); + private final AtomicReference<StreamObserver<ExecutionServiceOutput>> responseObserverRef = new AtomicReference<>(); + private final List<ExecutionServiceInput> detailedMessages = new ArrayList<>(); + + @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) { + detailedMessages.add(message); + 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<ExecutionServiceInput> getDetailedMessages() { + return this.detailedMessages; + } + +} 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 3f0a2145df..0000000000 --- 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 f1b69c653f..e9855619c9 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 @@ -30,14 +30,12 @@ import org.springframework.context.annotation.Profile; @SpringBootApplication @Profile("test") -@ComponentScan(basePackages = {"org.onap.so"}, nameGenerator = DefaultToShortClassNameBeanNameGenerator.class, excludeFilters = { - @Filter(type = FilterType.ANNOTATION, classes = SpringBootApplication.class) }) +@ComponentScan(basePackages = {"org.onap.so"}, nameGenerator = DefaultToShortClassNameBeanNameGenerator.class, + excludeFilters = {@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"); - - - } + 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 0521fa737d..0000000000 --- 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 0000000000..b0517ace3d --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/test/java/org/onap/so/bpmn/infrastructure/process/CreateVcpeResCustServiceSimplifiedTest.java @@ -0,0 +1,320 @@ +/*- + * ============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.post; +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.assertj.core.api.Assertions.fail; +import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions.assertThat; +import com.google.protobuf.Struct; +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.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers; +import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader; +import org.onap.ccsdk.cds.controllerblueprints.processing.api.ExecutionServiceInput; +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; + private String msoRequestId; + + @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. + */ + 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(); + mockRequestDb(); + 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<ExecutionServiceInput> detailedMessages = grpcNettyServer.getDetailedMessages(); + assertThat(detailedMessages).hasSize(2); + try { + checkConfigAssign(detailedMessages.get(0)); + checkConfigDeploy(detailedMessages.get(1)); + } catch (Exception e) { + e.printStackTrace(); + fail("ConfigAssign/deploy request exception", e); + } + } + + private void checkConfigAssign(ExecutionServiceInput executionServiceInput) { + ActionIdentifiers actionIdentifiers = executionServiceInput.getActionIdentifiers(); + + /** + * 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"); + + CommonHeader commonHeader = executionServiceInput.getCommonHeader(); + assertThat(commonHeader.getOriginatorId()).matches("SO"); + assertThat(commonHeader.getRequestId()).matches(msoRequestId); + + Struct payload = executionServiceInput.getPayload(); + Struct requeststruct = payload.getFieldsOrThrow("config-assign-request").getStructValue(); + + assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).matches("PNFDemo"); + Struct propertiesStruct = requeststruct.getFieldsOrThrow("config-assign-properties").getStructValue(); + + assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).matches("PNFDemo"); + assertThat(propertiesStruct.getFieldsOrThrow("service-model-uuid").getStringValue()) + .matches("f2daaac6-5017-4e1e-96c8-6a27dfbe1421"); + assertThat(propertiesStruct.getFieldsOrThrow("pnf-customization-uuid").getStringValue()) + .matches("68dc9a92-214c-11e7-93ae-92361f002680"); + } + + private void checkConfigDeploy(ExecutionServiceInput executionServiceInput) { + ActionIdentifiers actionIdentifiers = executionServiceInput.getActionIdentifiers(); + + /** + * 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"); + + CommonHeader commonHeader = executionServiceInput.getCommonHeader(); + assertThat(commonHeader.getOriginatorId()).matches("SO"); + assertThat(commonHeader.getRequestId()).matches(msoRequestId); + + Struct payload = executionServiceInput.getPayload(); + Struct requeststruct = payload.getFieldsOrThrow("config-deploy-request").getStructValue(); + + assertThat(requeststruct.getFieldsOrThrow("resolution-key").getStringValue()).matches("PNFDemo"); + Struct propertiesStruct = requeststruct.getFieldsOrThrow("config-deploy-properties").getStructValue(); + + assertThat(propertiesStruct.getFieldsOrThrow("pnf-name").getStringValue()).matches("PNFDemo"); + assertThat(propertiesStruct.getFieldsOrThrow("service-model-uuid").getStringValue()) + .matches("f2daaac6-5017-4e1e-96c8-6a27dfbe1421"); + assertThat(propertiesStruct.getFieldsOrThrow("pnf-customization-uuid").getStringValue()) + .matches("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"); + } + + /** + * 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" + + " \"ipaddress-v4-oam\":\"1.1.1.1\",\n" + " \"ipaddress-v6-oam\":\"::/128\"\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))); + } + + private void mockRequestDb() { + wireMockServer.stubFor(post(urlEqualTo("/dbadapters/RequestsDbAdapter")).willReturn(ok())); + } + +} 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 b33aad7443..0000000000 --- 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 807efae1af..0000000000 --- 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 b2f280d7e9..0000000000 --- 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 532ca867bb..0000000000 --- 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 5e4400e9bd..0000000000 --- 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 2867a671b6..0000000000 --- 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 517df36c74..0000000000 --- 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 ad4c3c816d..0000000000 --- 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 daf7279b70..fa753396cf 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 @@ mso: 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 @@ mso: 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 @@ mso: 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 @@ mso: notification: name: GenericNotificationService sdncadapter: + #DoCreateServiceInstance.groovy: preProcessRequest callback: http://localhost:${wiremock.server.port}/mso/SDNCAdapterCallbackService vnfadapter: create: @@ -173,7 +188,6 @@ spring: database-platform: org.hibernate.dialect.MySQL5InnoDBDialect security: usercredentials: - - username: test password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu' role: BPEL-Client @@ -192,3 +206,21 @@ camunda: 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 b1a8c4be07..0000000000 --- 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 38a2ef6ef5..3b0bdb252f 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="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.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.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="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> - <logger name="org.onap" level="${so.log.level:-DEBUG}" additivity="false"> - <appender-ref ref="STDOUT" /> - </logger> - - <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="ch.vorburger" level="WARN" additivity="false"> + <appender-ref ref="STDOUT"/> + </logger> - <root level="WARN"> - <appender-ref ref="STDOUT" /> - </root> + <logger name="AUDIT" level="info" additivity="true"> + <appender-ref ref="STDOUT"/> + </logger> + <!-- suppress the amount of org.apache.tomcat.util.net.NioEndpoint log--> + <logger name="org.apache.tomcat" level="WARN" /> + + <!-- suppress the amount of org.springframework.beans log--> + <logger name="org.springframework.beans" level="WARN"/> + + <!-- suppress the amount of org.springframework.context log--> + <logger name="org.springframework.context" level="WARN"/> + + <!-- suppress the amount of org.camunda.bpm.engine.impl.persistence--> + <logger name="org.camunda.bpm.engine.impl.persistence" level="WARN"/> + + <!-- 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"/> + <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 0000000000..b43148aa73 --- /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 0000000000..a88f261c30 --- /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 0000000000..66d1a88ee8 --- /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 66f458425e..0000000000 --- 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> |