diff options
Diffstat (limited to 'bpmn')
36 files changed, 572 insertions, 210 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 025b533dc0..750f25532c 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2018 Huawei Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright (c) 2019 Samsung + * ================================================================================ * 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 @@ -154,7 +156,7 @@ public class ResourceRequestBuilder { } } - if (resourceInputStr != null || !resourceInputStr.equals("")) { + if (resourceInputStr != null && !resourceInputStr.isEmpty()) { return getResourceInput(resourceInputStr, serviceInputs); } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/CandidateType.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/CandidateType.java index f1534ab60f..6a4fa50020 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/CandidateType.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/homingobjects/CandidateType.java @@ -20,6 +20,8 @@ package org.onap.so.bpmn.servicedecomposition.homingobjects; +import com.fasterxml.jackson.annotation.JsonValue; + public enum CandidateType{ @@ -35,11 +37,8 @@ public enum CandidateType{ } @Override + @JsonValue public String toString() { return name; } - - public String getName(){ - return name; - } } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisher.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisher.java index 382852886e..17b99e2741 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisher.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisher.java @@ -38,22 +38,21 @@ public class GlobalDmaapPublisher extends DmaapPublisher { } @Override - public String getUserName() { + public String getAuth() { - return UrnPropertiesReader.getVariable("mso.global.dmaap.username"); + return UrnPropertiesReader.getVariable("mso.global.dmaap.auth"); } @Override - public String getPassword() { + public String getKey() { - return UrnPropertiesReader.getVariable("mso.global.dmaap.password"); + return UrnPropertiesReader.getVariable("mso.msoKey"); } @Override public String getTopic() { - return UrnPropertiesReader.getVariable("mso.global.dmaap.publisher.topic"); } diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java index e5e13268b2..ddca319708 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java @@ -405,4 +405,32 @@ public class ResourceRequestBuilderTest extends BaseTest { assertEquals(resourceSequence.get(0), "res1"); assertEquals(resourceSequence.get(1), "res2"); } -}
\ No newline at end of file + + @Test + public void getResourceInputWithEmptyServiceResourcesTest() throws Exception { + + stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5")) + .willReturn(ok("{ \"serviceResources\" : {\n" + + "\t\"modelInfo\" : {\n" + + "\t\t\"modelName\" : \"demoVFWCL\",\n" + + "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" + + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" + + "\t\t\"modelVersion\" : \"1.0\"\n" + + "\t},\n" + + "\t\"serviceType\" : \"\",\n" + + "\t\"serviceRole\" : \"\",\n" + + "\t\"environmentContext\" : null,\n" + + "\t\"workloadContext\" : \"Production\",\n" + + "\t\"serviceVnfs\": [], \n" + + "\t\"serviceNetworks\": [],\n" + + "\t\"serviceAllottedResources\": []\n" + + "\t}}"))); + + HashMap serviceInput = new HashMap(); + serviceInput.put("key1", "value"); + Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5", + "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput); + assertEquals(0, stringObjectMap.size()); + } + +} diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java index 4d7c85efdb..fc69f812be 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java @@ -35,8 +35,8 @@ public class GlobalDmaapPublisherTest extends BaseTest{ @Test public void testGetters() { - assertEquals("dmaapUsername", globalDmaapPublisher.getUserName()); - assertEquals("ZG1hYXBQYXNzd29yZA==", globalDmaapPublisher.getPassword()); + assertEquals("81B7E3533B91A6706830611FB9A8ECE529BBCCE754B1F1520FA7C8698B42F97235BEFA993A387E664D6352C63A6185D68DA7F0B1D360637CBA102CB166E3E62C11EB1F75386D3506BCECE51E54", globalDmaapPublisher.getAuth()); + assertEquals("07a7159d3bf51a0e53be7a8f89699be7", globalDmaapPublisher.getKey()); assertEquals("com.att.mso.asyncStatusUpdate", globalDmaapPublisher.getTopic()); assertEquals("http://localhost:" + wireMockPort, globalDmaapPublisher.getHost().get()); } diff --git a/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml b/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml index 945972c9e2..afdb800ffe 100644 --- a/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml +++ b/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml @@ -146,6 +146,7 @@ mso: host: http://localhost:${wiremock.server.port} publisher: topic: com.att.mso.asyncStatusUpdate + auth: 81B7E3533B91A6706830611FB9A8ECE529BBCCE754B1F1520FA7C8698B42F97235BEFA993A387E664D6352C63A6185D68DA7F0B1D360637CBA102CB166E3E62C11EB1F75386D3506BCECE51E54 oof: auth: test timeout: PT10S @@ -163,6 +164,16 @@ sdnc: auth: Basic YWRtaW46YWRtaW4= host: http://localhost:8446 path: /restconf/operations/GENERIC-RESOURCE-API +sdno: + health-check: + dmaap: + password: alRyMzJ3NUNeakxl + publisher: + topic: com.att.sdno.test-health-diagnostic-v02 + host: https://olsd004.wnsnet.attws.com:3905 + subscriber: + topic: com.att.sdno.test-health-diagnostic-v02 + auth: 81B7E3533B91A6706830611FB9A8ECE529BBCCE754B1F1520FA7C8698B42F97235BEFA993A387E664D6352C63A6185D68DA7F0B1D360637CBA102CB166E3E62C11EB1F75386D3506BCECE51E54 sniro: conductor: enabled: true @@ -178,7 +189,15 @@ sniro: headers.patchVersion: 1 headers.minorVersion: 1 headers.latestVersion: 2 - +ruby: + create-ticket-request: + dmaap: + username: m04768@mso.ecomp.att.com + password: alRyMzJ3NUNeakxl + publisher: + topic: com.att.pdas.exp.msoCMFallout-v1 + host: https://olsd004.wnsnet.attws.com:3905 + auth: 81B7E3533B91A6706830611FB9A8ECE529BBCCE754B1F1520FA7C8698B42F97235BEFA993A387E664D6352C63A6185D68DA7F0B1D360637CBA102CB166E3E62C11EB1F75386D3506BCECE51E54 spring: datasource: jdbc-url: jdbc:mariadb://localhost:3307/camundabpmn diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java index 70d94052e1..4e0bf02685 100644 --- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java +++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java @@ -20,12 +20,10 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; -import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Optional; - import org.onap.aai.domain.yang.Pnf; import org.onap.so.bpmn.infrastructure.pnf.implementation.AaiConnection; import org.springframework.context.annotation.Primary; @@ -39,9 +37,10 @@ public class AaiConnectionTestImpl implements AaiConnection { public static final String ID_WITH_ENTRY = "idWithEntryNoIp"; private Map<String, Pnf> created = new HashMap<>(); + private Map<String, String> serviceAndPnfRelationMap = new HashMap<>(); @Override - public Optional<Pnf> getEntryFor(String correlationId) throws IOException { + public Optional<Pnf> getEntryFor(String correlationId) { if (Objects.equals(correlationId, ID_WITH_ENTRY)) { return Optional.of(new Pnf()); } else { @@ -50,15 +49,25 @@ public class AaiConnectionTestImpl implements AaiConnection { } @Override - public void createEntry(String correlationId, Pnf entry) throws IOException { + public void createEntry(String correlationId, Pnf entry) { created.put(correlationId, entry); } + @Override + public void createRelation(String serviceInstanceId, String pnfName) { + serviceAndPnfRelationMap.put(serviceInstanceId, pnfName); + } + public Map<String, Pnf> getCreated() { return created; } + public Map<String, String> getServiceAndPnfRelationMap() { + return serviceAndPnfRelationMap; + } + public void reset() { created.clear(); + serviceAndPnfRelationMap.clear(); } } diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java index 2d0d4b51a9..db6cbe06ae 100644 --- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java +++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java @@ -31,15 +31,19 @@ import java.util.Map; import java.util.UUID; import org.assertj.core.api.Assertions; +import org.assertj.core.data.MapEntry; import org.camunda.bpm.engine.runtime.ProcessInstance; +import org.junit.Before; import org.junit.Test; import org.onap.so.BaseIntegrationTest; import org.springframework.beans.factory.annotation.Autowired; public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { - private static final String TIMEOUT_10_S = "PT10S"; private static final String VALID_UUID = UUID.nameUUIDFromBytes("testUuid".getBytes()).toString(); + private static final String SERVICE_INSTANCE_ID = "serviceForInstance"; + + private Map<String, Object> variables; @Autowired private AaiConnectionTestImpl aaiConnection; @@ -47,14 +51,18 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { @Autowired private DmaapClientTestImpl dmaapClientTestImpl; + @Before + public void setup() { + aaiConnection.reset(); + variables = new HashMap<>(); + variables.put("serviceInstanceId", SERVICE_INSTANCE_ID); + variables.put(PNF_UUID, VALID_UUID); + } + @Test public void shouldWaitForMessageFromDmaapAndUpdateAaiEntryWhenAaiEntryExists() { // given - aaiConnection.reset(); - Map<String, Object> variables = new HashMap<>(); - variables.put("timeoutForPnfEntryNotification", TIMEOUT_10_S); variables.put(CORRELATION_ID, AaiConnectionTestImpl.ID_WITH_ENTRY); - variables.put(PNF_UUID, VALID_UUID); // when ProcessInstance instance = runtimeService .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables); @@ -70,19 +78,17 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { "AaiEntryExists", "InformDmaapClient", "WaitForDmaapPnfReadyNotification", + "CreateRelationId", "AaiEntryUpdated" ); + Assertions.assertThat(aaiConnection.getServiceAndPnfRelationMap()). + containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID,AaiConnectionTestImpl.ID_WITH_ENTRY)); } @Test public void shouldCreateAaiEntryWaitForMessageFromDmaapAndUpdateAaiEntryWhenNoAaiEntryExists() { // given - aaiConnection.reset(); - - Map<String, Object> variables = new HashMap<>(); - variables.put("timeoutForPnfEntryNotification", TIMEOUT_10_S); variables.put(CORRELATION_ID, AaiConnectionTestImpl.ID_WITHOUT_ENTRY); - variables.put(PNF_UUID, VALID_UUID); // when ProcessInstance instance = runtimeService .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables); @@ -99,8 +105,11 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { "AaiEntryExists", "InformDmaapClient", "WaitForDmaapPnfReadyNotification", + "CreateRelationId", "AaiEntryUpdated" ); Assertions.assertThat(aaiConnection.getCreated()).containsOnlyKeys(AaiConnectionTestImpl.ID_WITHOUT_ENTRY); + Assertions.assertThat(aaiConnection.getServiceAndPnfRelationMap()). + containsOnly(MapEntry.entry(SERVICE_INSTANCE_ID,AaiConnectionTestImpl.ID_WITHOUT_ENTRY)); } } diff --git a/bpmn/pom.xml b/bpmn/pom.xml index e28bedda99..df68017f5c 100644 --- a/bpmn/pom.xml +++ b/bpmn/pom.xml @@ -15,7 +15,7 @@ <packaging>pom</packaging> <properties> - <camunda.version>7.9.0</camunda.version> + <camunda.version>7.10.0</camunda.version> <camunda.bpm.assert.version>1.2</camunda.bpm.assert.version> <camunda.bpm.webapp.artifact>camunda-webapp-jboss-standalone</camunda.bpm.webapp.artifact> <h2.version>1.4.196</h2.version> @@ -28,7 +28,7 @@ <modules> <module>MSOCoreBPMN</module> - + <module>MSOCommonBPMN</module> <module>so-bpmn-infrastructure-common</module> <module>so-bpmn-tasks</module> diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/aai/AaiConnectionImpl.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/aai/AaiConnectionImpl.java index d57e48781d..1bf2a290cb 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/aai/AaiConnectionImpl.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/aai/AaiConnectionImpl.java @@ -23,7 +23,11 @@ package org.onap.so.bpmn.infrastructure.pnf.aai; import java.util.Optional; import org.onap.aai.domain.yang.Pnf; import org.onap.so.bpmn.infrastructure.pnf.implementation.AaiConnection; +import org.onap.so.client.aai.AAIObjectType; +import org.onap.so.client.aai.AAIResourcesClient; import org.onap.so.client.aai.AAIRestClientImpl; +import org.onap.so.client.aai.entities.uri.AAIResourceUri; +import org.onap.so.client.aai.entities.uri.AAIUriFactory; import org.springframework.stereotype.Component; @Component @@ -40,4 +44,12 @@ public class AaiConnectionImpl implements AaiConnection { AAIRestClientImpl restClient = new AAIRestClientImpl(); restClient.createPnf(correlationId, entry); } + + @Override + public void createRelation(String serviceInstanceId, String pnfName) { + AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, + serviceInstanceId); + AAIResourceUri pnfUri = AAIUriFactory.createResourceUri(AAIObjectType.PNF, pnfName); + new AAIResourcesClient().connect(serviceInstanceURI, pnfUri); + } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelation.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelation.java new file mode 100644 index 0000000000..21d43964f8 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelation.java @@ -0,0 +1,58 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2019 Nokia. + * ================================================================================ + * 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.bpmn.infrastructure.pnf.delegate; + +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.delegate.JavaDelegate; +import org.onap.so.bpmn.common.scripts.ExceptionUtil; +import org.onap.so.bpmn.infrastructure.pnf.implementation.AaiConnection; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class CreateRelation implements JavaDelegate { + + private static final Logger logger = LoggerFactory.getLogger(CreateRelation.class); + + private AaiConnection aaiConnectionImpl; + + @Autowired + public CreateRelation(AaiConnection aaiConnectionImpl) { + this.aaiConnectionImpl = aaiConnectionImpl; + } + + @Override + public void execute(DelegateExecution delegateExecution) { + String serviceInstanceId = (String) delegateExecution.getVariable("serviceInstanceId"); + String pnfName = (String) delegateExecution.getVariable("correlationId"); + try { + aaiConnectionImpl.createRelation(serviceInstanceId, pnfName); + } catch (Exception e) { + new ExceptionUtil().buildAndThrowWorkflowException(delegateExecution, 9999, + "An exception occurred when making service and pnf relation. Exception: " + e.getMessage()); + } + logger.debug("The relation has been made between service with id: {} and pnf with name: {}", + serviceInstanceId, pnfName); + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/implementation/AaiConnection.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/implementation/AaiConnection.java index 5165912653..eaabb2bfbb 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/implementation/AaiConnection.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/implementation/AaiConnection.java @@ -29,4 +29,6 @@ public interface AaiConnection { Optional<Pnf> getEntryFor(String correlationId) throws IOException; void createEntry(String correlationId, Pnf entry) throws IOException; + + void createRelation(String serviceInstanceId, String pnfName) throws IOException; } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java index 201e791a24..76b62a9cea 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java @@ -37,7 +37,7 @@ public class AaiConnectionTestImpl implements AaiConnection { private Map<String, Pnf> created = new HashMap<>(); @Override - public Optional<Pnf> getEntryFor(String correlationId) throws IOException { + public Optional<Pnf> getEntryFor(String correlationId) { if (Objects.equals(correlationId, ID_WITH_ENTRY)) { return Optional.of(new Pnf()); } else { @@ -50,6 +50,10 @@ public class AaiConnectionTestImpl implements AaiConnection { created.put(correlationId, entry); } + @Override + public void createRelation(String serviceInstanceId, String pnfName) { + } + public Map<String, Pnf> getCreated() { return created; } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionThrowingException.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionThrowingException.java index 7df6757817..300d1e4c9b 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionThrowingException.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/AaiConnectionThrowingException.java @@ -36,4 +36,10 @@ public class AaiConnectionThrowingException implements AaiConnection { public void createEntry(String correlationId, Pnf entry) throws IOException { throw new IOException(); } + + @Override + public void createRelation(String serviceInstanceId, String pnfName) throws IOException { + throw new IOException(); + } + } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelationTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelationTest.java new file mode 100644 index 0000000000..2dd3e23828 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateRelationTest.java @@ -0,0 +1,67 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2019 Nokia. + * ================================================================================ + * 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.bpmn.infrastructure.pnf.delegate; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; + +import java.io.IOException; +import org.camunda.bpm.engine.delegate.BpmnError; +import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; +import org.junit.Before; +import org.junit.Test; +import org.onap.so.bpmn.infrastructure.pnf.aai.AaiConnectionImpl; +import org.onap.so.bpmn.infrastructure.pnf.implementation.AaiConnection; + +public class CreateRelationTest { + + private static final String SERVICE_INSTANCE_ID = "serviceTest"; + private static final String PNF_NAME = "pnfNameTest"; + + private DelegateExecutionFake executionFake; + + @Before + public void setUp() { + executionFake = new DelegateExecutionFake(); + executionFake.setVariable("serviceInstanceId", SERVICE_INSTANCE_ID); + executionFake.setVariable("correlationId", PNF_NAME); + } + + @Test + public void createRelationSuccessful() throws IOException { + // given + AaiConnection aaiConnectionMock = mock(AaiConnectionImpl.class); + CreateRelation testedObject = new CreateRelation(aaiConnectionMock); + // when + testedObject.execute(executionFake); + // then + verify(aaiConnectionMock).createRelation(SERVICE_INSTANCE_ID, PNF_NAME); + } + + @Test + public void shouldThrowBpmnErrorWhenExceptionOccurred() { + CreateRelation testedObject = new CreateRelation(new AaiConnectionThrowingException()); + executionFake.setVariable("testProcessKey", "testProcessKeyValue"); + + assertThatThrownBy(() -> testedObject.execute(executionFake)).isInstanceOf(BpmnError.class); + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilderTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilderTest.java index 828e3fca47..4ac131f873 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilderTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilderTest.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.camunda.bpm.engine.ProcessEngine; import org.camunda.bpm.engine.ProcessEngineServices; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.runtime.Incident; @@ -53,7 +54,7 @@ public class AbstractBuilderTest { private String operType; private String resourceType; private String requestId; - + @Override public String getProcessInstanceId() { return null; @@ -326,18 +327,30 @@ public class AbstractBuilderTest { public void removeVariablesLocal() { } + + @Override + public ProcessEngine getProcessEngine(){ + // TODO Auto-generated method stub + return null; + } + + @Override + public void setProcessBusinessKey(String arg0){ + // TODO Auto-generated method stub + + } }; @Test public void requestActionGetIntValueTest() { assertEquals(0, RequestAction.CREATE_NETWORK_INSTANCE.getIntValue()); } - + @Test public void svcActionGetIntValueTest() { assertEquals(0, SvcAction.RESERVE.getIntValue()); } - + @Test public void buildTest() throws Exception { abstractBuilder.build(null, null); @@ -347,75 +360,75 @@ public class AbstractBuilderTest { public void getRequestActionBlankOperationTypeTest() throws Exception { assertEquals(AbstractBuilder.RequestAction.CREATE_NETWORK_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionDeleteOperationTypeBlankResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, ""); assertEquals(AbstractBuilder.RequestAction.DELETE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionDeleteOperationTypeBadResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "bad"); assertEquals(AbstractBuilder.RequestAction.DELETE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionDeleteOperationTypeOverlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "overlay"); assertEquals(AbstractBuilder.RequestAction.DEACTIVATE_DCI_NETWORK_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionDeleteOperationTypeUnderlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "underlay"); assertEquals(AbstractBuilder.RequestAction.DELETE_NETWORK_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionDeleteOperationTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); assertEquals(AbstractBuilder.RequestAction.DELETE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionCreateOperationTypeBlankResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, ""); assertEquals(AbstractBuilder.RequestAction.CREATE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionCreateOperationTypeBadResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "bad"); assertEquals(AbstractBuilder.RequestAction.CREATE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionCreateOperationTypeOverlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "overlay"); assertEquals(AbstractBuilder.RequestAction.ACTIVATE_DCI_NETWORK_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionCreateOperationTypeUnderlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "underlay"); assertEquals(AbstractBuilder.RequestAction.CREATE_NETWORK_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionCreateOperationTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); assertEquals(AbstractBuilder.RequestAction.CREATE_SERVICE_INSTANCE.getName(), abstractBuilder.getRequestAction(delegateExecution)); } - + @Test public void getRequestActionBadOperationType() { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, "bad"); @@ -426,75 +439,75 @@ public class AbstractBuilderTest { public void getSvcActionBlankOperationTypeTest() throws Exception { assertEquals(AbstractBuilder.SvcAction.CREATE.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionDeleteOperationTypeBlankResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, ""); assertEquals(AbstractBuilder.SvcAction.UNASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionDeleteOperationTypeBadResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "bad"); assertEquals(AbstractBuilder.SvcAction.UNASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionDeleteOperationTypeOverlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "overlay"); assertEquals(AbstractBuilder.SvcAction.DEACTIVATE.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionDeleteOperationTypeUnderlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "underlay"); assertEquals(AbstractBuilder.SvcAction.DELETE.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionDeleteOperationTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.DELETE); assertEquals(AbstractBuilder.SvcAction.UNASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionCreateOperationTypeBlankResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, ""); assertEquals(AbstractBuilder.SvcAction.ASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionCreateOperationTypeBadResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "bad"); assertEquals(AbstractBuilder.SvcAction.ASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionCreateOperationTypeOverlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "overlay"); assertEquals(AbstractBuilder.SvcAction.ACTIVATE.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionCreateOperationTypeUnderlayResourceTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); delegateExecution.setVariable(AbstractBuilder.RESOURCE_TYPE, "underlay"); assertEquals(AbstractBuilder.SvcAction.CREATE.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionCreateOperationTypeTest() throws Exception { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, RequestsDbConstant.OperationType.CREATE); assertEquals(AbstractBuilder.SvcAction.ASSIGN.getName(), abstractBuilder.getSvcAction(delegateExecution)); } - + @Test public void getSvcActionBadOperationType() { delegateExecution.setVariable(AbstractBuilder.OPERATION_TYPE, "bad"); @@ -505,14 +518,14 @@ public class AbstractBuilderTest { public void getRequestIdBlankNotOnExecutionTest() { abstractBuilder.getRequestId(delegateExecution); } - + @Test public void getRequestIdBlankOnExecutionTest() { String expected = "requestId"; delegateExecution.setVariable("msoRequestId", expected); assertEquals(expected, abstractBuilder.getRequestId(delegateExecution)); } - + @Test public void getRequestIdTest() { String expected = "requestId"; @@ -539,13 +552,13 @@ public class AbstractBuilderTest { assertEquals("foo", list.get(0).getName()); assertEquals("bar", list.get(0).getValue()); } - + @Test public void getParamEntitiesNullInputsTest() { List<ParamEntity> list = abstractBuilder.getParamEntities(null); assertEquals(0, list.size()); } - + @Test public void getParamEntitiesEmptyInputsTest() { List<ParamEntity> list = abstractBuilder.getParamEntities(new HashMap<>()); diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilderTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilderTest.java index f7d73a33e1..4e39c7b4e3 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilderTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilderTest.java @@ -7,9 +7,9 @@ * 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. @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.Map; import java.util.Set; +import org.camunda.bpm.engine.ProcessEngine; import org.camunda.bpm.engine.ProcessEngineServices; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.runtime.Incident; @@ -35,12 +36,12 @@ import org.junit.Test; public class NetworkRpcInputEntityBuilderTest { NetworkRpcInputEntityBuilder networRpcInputEntityBuilder = new NetworkRpcInputEntityBuilder(); - + DelegateExecution delegateExecution = new DelegateExecution() { private String operType; private String resourceType; private String requestId; - + @Override public String getProcessInstanceId() { return null; @@ -313,6 +314,18 @@ public class NetworkRpcInputEntityBuilderTest { public void removeVariablesLocal() { } + + @Override + public ProcessEngine getProcessEngine(){ + // TODO Auto-generated method stub + return null; + } + + @Override + public void setProcessBusinessKey(String arg0){ + // TODO Auto-generated method stub + + } }; @Test diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/ServiceRpcInputEntityBuilderTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/ServiceRpcInputEntityBuilderTest.java index 4db0421936..556ff67fad 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/ServiceRpcInputEntityBuilderTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/client/builder/ServiceRpcInputEntityBuilderTest.java @@ -7,9 +7,9 @@ * 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. @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.Map; import java.util.Set; +import org.camunda.bpm.engine.ProcessEngine; import org.camunda.bpm.engine.ProcessEngineServices; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.runtime.Incident; @@ -35,12 +36,12 @@ import org.junit.Test; public class ServiceRpcInputEntityBuilderTest { ServiceRpcInputEntityBuilder serviceRpcInputEntityBuilder = new ServiceRpcInputEntityBuilder(); - + DelegateExecution delegateExecution = new DelegateExecution() { private String operType; private String resourceType; private String requestId; - + @Override public String getProcessInstanceId() { return null; @@ -313,6 +314,18 @@ public class ServiceRpcInputEntityBuilderTest { public void removeVariablesLocal() { } + + @Override + public ProcessEngine getProcessEngine(){ + // TODO Auto-generated method stub + return null; + } + + @Override + public void setProcessBusinessKey(String arg0){ + // TODO Auto-generated method stub + + } }; @Test diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn index d8079174c1..5defe2121b 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn @@ -1,5 +1,5 @@ <?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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="2.0.3"> +<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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3"> <bpmn:collaboration id="Collaboration_1d0w8lf"> <bpmn:participant id="Participant_1egg397" name="SO Create and Activate Pnf Resource" processRef="CreateAndActivatePnfResource" /> <bpmn:participant id="Participant_0atuyq0" name="AAI" /> @@ -17,7 +17,7 @@ <bpmn:sequenceFlow id="SequenceFlow_0v5ffpe" name="No" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="CreatePnfEntryInAai"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{!aaiContainsInfoAboutPnf}</bpmn:conditionExpression> </bpmn:sequenceFlow> - <bpmn:sequenceFlow id="SequenceFlow_0p09qgm" sourceRef="WaitForDmaapPnfReadyNotification" targetRef="AaiEntryUpdated" /> + <bpmn:sequenceFlow id="SequenceFlow_0p09qgm" sourceRef="WaitForDmaapPnfReadyNotification" targetRef="CreateRelationId" /> <bpmn:sequenceFlow id="SequenceFlow_17s9025" sourceRef="AaiEntryExists" targetRef="InformDmaapClient" /> <bpmn:sequenceFlow id="SequenceFlow_1qr6cmf" sourceRef="CreatePnfEntryInAai" targetRef="AaiEntryExists" /> <bpmn:sequenceFlow id="SequenceFlow_1j4r3zt" sourceRef="CheckAiiForCorrelationId" targetRef="DoesAaiContainInfoAboutPnf" /> @@ -59,9 +59,6 @@ <bpmn:incoming>SequenceFlow_1miyzfe</bpmn:incoming> <bpmn:errorEventDefinition errorRef="Error_1" /> </bpmn:endEvent> - <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated"> - <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming> - </bpmn:endEvent> <bpmn:receiveTask id="WaitForDmaapPnfReadyNotification" name="Wait for DMAAP pnf-ready notification" messageRef="Message_13h1tlo"> <bpmn:incoming>SequenceFlow_1o8od8e</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0p09qgm</bpmn:outgoing> @@ -77,13 +74,20 @@ <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming> <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing> </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0o6zhjk" sourceRef="CreateRelationId" targetRef="AaiEntryUpdated" /> + <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated"> + <bpmn:incoming>SequenceFlow_0o6zhjk</bpmn:incoming> + </bpmn:endEvent> + <bpmn:serviceTask id="CreateRelationId" name="Create Relation" camunda:delegateExpression="${CreateRelation}"> + <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0o6zhjk</bpmn:outgoing> + </bpmn:serviceTask> <bpmn:association id="Association_0d7oxnz" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="TextAnnotation_1eyzes8" /> <bpmn:textAnnotation id="TextAnnotation_1eyzes8"> - <bpmn:text>Inputs: + <bpmn:text><![CDATA[Inputs: Â -Â timeoutForPnfEntryNotification - String - correlationId - String - - uuid - String -</bpmn:text> + - uuid - String]]></bpmn:text> </bpmn:textAnnotation> </bpmn:process> <bpmn:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> @@ -100,9 +104,9 @@ </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_0k52gr7_di" bpmnElement="AaiEntryUpdated"> - <dc:Bounds x="1312" y="189" width="36" height="36" /> + <dc:Bounds x="1364" y="189" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1287" y="230" width="88" height="14" /> + <dc:Bounds x="1339" y="230" width="89" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="StartEvent_0j5ok9h_di" bpmnElement="CreateAndActivatePnf_StartEvent"> @@ -118,38 +122,38 @@ <dc:Bounds x="511" y="167" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1j4r3zt_di" bpmnElement="SequenceFlow_1j4r3zt"> - <di:waypoint x="319" y="207" /> - <di:waypoint x="390" y="207" /> + <di:waypoint xsi:type="dc:Point" x="319" y="207" /> + <di:waypoint xsi:type="dc:Point" x="390" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="309.5" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1l1t6ak_di" bpmnElement="SequenceFlow_1l1t6ak"> - <di:waypoint x="415" y="182" /> - <di:waypoint x="415" y="66" /> - <di:waypoint x="711" y="66" /> - <di:waypoint x="711" y="182" /> + <di:waypoint xsi:type="dc:Point" x="415" y="182" /> + <di:waypoint xsi:type="dc:Point" x="415" y="66" /> + <di:waypoint xsi:type="dc:Point" x="711" y="66" /> + <di:waypoint xsi:type="dc:Point" x="711" y="182" /> <bpmndi:BPMNLabel> <dc:Bounds x="430" y="159" width="19" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0v5ffpe_di" bpmnElement="SequenceFlow_0v5ffpe"> - <di:waypoint x="440" y="207" /> - <di:waypoint x="511" y="207" /> + <di:waypoint xsi:type="dc:Point" x="440" y="207" /> + <di:waypoint xsi:type="dc:Point" x="511" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="448" y="210" width="14" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1qr6cmf_di" bpmnElement="SequenceFlow_1qr6cmf"> - <di:waypoint x="611" y="207" /> - <di:waypoint x="686" y="207" /> + <di:waypoint xsi:type="dc:Point" x="611" y="207" /> + <di:waypoint xsi:type="dc:Point" x="686" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="605" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0j5ksz1_di" bpmnElement="SequenceFlow_0j5ksz1"> - <di:waypoint x="-18" y="207" /> - <di:waypoint x="48" y="207" /> + <di:waypoint xsi:type="dc:Point" x="-18" y="207" /> + <di:waypoint xsi:type="dc:Point" x="48" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="-30" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -158,22 +162,22 @@ <dc:Bounds x="123" y="523" width="502" height="60" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="MessageFlow_1h3xu88_di" bpmnElement="MessageFlow_1h3xu88"> - <di:waypoint x="561" y="247" /> - <di:waypoint x="561" y="523" /> + <di:waypoint xsi:type="dc:Point" x="561" y="247" /> + <di:waypoint xsi:type="dc:Point" x="561" y="523" /> <bpmndi:BPMNLabel> <dc:Bounds x="531" y="380" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_09ibv5a_di" bpmnElement="MessageFlow_09ibv5a"> - <di:waypoint x="250" y="247" /> - <di:waypoint x="250" y="523" /> + <di:waypoint xsi:type="dc:Point" x="250" y="247" /> + <di:waypoint xsi:type="dc:Point" x="250" y="523" /> <bpmndi:BPMNLabel> <dc:Bounds x="220" y="380" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_0vjul4t_di" bpmnElement="MessageFlow_0vjul4t"> - <di:waypoint x="289" y="523" /> - <di:waypoint x="289" y="247" /> + <di:waypoint xsi:type="dc:Point" x="289" y="523" /> + <di:waypoint xsi:type="dc:Point" x="289" y="247" /> <bpmndi:BPMNLabel> <dc:Bounds x="259" y="380" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -191,19 +195,19 @@ <dc:Bounds x="-37" y="70" width="243" height="82" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="Association_0d7oxnz_di" bpmnElement="Association_0d7oxnz"> - <di:waypoint x="-36" y="189" /> - <di:waypoint x="-36" y="152" /> + <di:waypoint xsi:type="dc:Point" x="-36" y="189" /> + <di:waypoint xsi:type="dc:Point" x="-36" y="152" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_1vrcp2d_di" bpmnElement="MessageFlow_1vrcp2d"> - <di:waypoint x="1060" y="523" /> - <di:waypoint x="1060" y="247" /> + <di:waypoint xsi:type="dc:Point" x="1060" y="523" /> + <di:waypoint xsi:type="dc:Point" x="1060" y="247" /> <bpmndi:BPMNLabel> <dc:Bounds x="996" y="380" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_17s9025_di" bpmnElement="SequenceFlow_17s9025"> - <di:waypoint x="736" y="207" /> - <di:waypoint x="803" y="207" /> + <di:waypoint xsi:type="dc:Point" x="736" y="207" /> + <di:waypoint xsi:type="dc:Point" x="803" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="719" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -215,9 +219,9 @@ </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1kc34bc_di" bpmnElement="SequenceFlow_1kc34bc"> - <di:waypoint x="1092" y="265" /> - <di:waypoint x="1092" y="363" /> - <di:waypoint x="1145" y="363" /> + <di:waypoint xsi:type="dc:Point" x="1092" y="265" /> + <di:waypoint xsi:type="dc:Point" x="1092" y="363" /> + <di:waypoint xsi:type="dc:Point" x="1145" y="363" /> <bpmndi:BPMNLabel> <dc:Bounds x="1028" y="309" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -226,22 +230,22 @@ <dc:Bounds x="1008" y="167" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0p09qgm_di" bpmnElement="SequenceFlow_0p09qgm"> - <di:waypoint x="1108" y="207" /> - <di:waypoint x="1312" y="207" /> + <di:waypoint xsi:type="dc:Point" x="1108" y="207" /> + <di:waypoint xsi:type="dc:Point" x="1195" y="207" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1148" y="187" width="90" height="10" /> + <dc:Bounds x="1106.5" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1o8od8e_di" bpmnElement="SequenceFlow_1o8od8e"> - <di:waypoint x="903" y="207" /> - <di:waypoint x="1008" y="207" /> + <di:waypoint xsi:type="dc:Point" x="903" y="207" /> + <di:waypoint xsi:type="dc:Point" x="1008" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="893.5" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_0tg4hw9_di" bpmnElement="MessageFlow_0tg4hw9"> - <di:waypoint x="853" y="247" /> - <di:waypoint x="853" y="523" /> + <di:waypoint xsi:type="dc:Point" x="853" y="247" /> + <di:waypoint xsi:type="dc:Point" x="853" y="523" /> <bpmndi:BPMNLabel> <dc:Bounds x="823" y="380" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -250,15 +254,15 @@ <dc:Bounds x="803" y="167" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1miyzfe_di" bpmnElement="SequenceFlow_1miyzfe"> - <di:waypoint x="1245" y="363" /> - <di:waypoint x="1312" y="363" /> + <di:waypoint xsi:type="dc:Point" x="1245" y="363" /> + <di:waypoint xsi:type="dc:Point" x="1312" y="363" /> <bpmndi:BPMNLabel> <dc:Bounds x="1233.5" y="343" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_1py54jr_di" bpmnElement="MessageFlow_1py54jr"> - <di:waypoint x="1195" y="403" /> - <di:waypoint x="1195" y="523" /> + <di:waypoint xsi:type="dc:Point" x="1195" y="403" /> + <di:waypoint xsi:type="dc:Point" x="1195" y="523" /> <bpmndi:BPMNLabel> <dc:Bounds x="1165" y="458" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -267,8 +271,8 @@ <dc:Bounds x="1145" y="323" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0967g8p_di" bpmnElement="SequenceFlow_0967g8p"> - <di:waypoint x="148" y="207" /> - <di:waypoint x="219" y="207" /> + <di:waypoint xsi:type="dc:Point" x="148" y="207" /> + <di:waypoint xsi:type="dc:Point" x="219" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="183.5" y="187" width="0" height="10" /> </bpmndi:BPMNLabel> @@ -282,6 +286,16 @@ <dc:Bounds x="672" y="242" width="77" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0o6zhjk_di" bpmnElement="SequenceFlow_0o6zhjk"> + <di:waypoint xsi:type="dc:Point" x="1295" y="207" /> + <di:waypoint xsi:type="dc:Point" x="1364" y="207" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1329.5" y="186" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_0xn3ug6_di" bpmnElement="CreateRelationId"> + <dc:Bounds x="1195" y="167" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/buildingblock/SniroHomingV2.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/buildingblock/SniroHomingV2.java index 92b4e211d5..cb893ce950 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/buildingblock/SniroHomingV2.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/buildingblock/SniroHomingV2.java @@ -403,9 +403,7 @@ public class SniroHomingV2 { List<org.onap.so.client.sniro.beans.Candidate> cans = new ArrayList<org.onap.so.client.sniro.beans.Candidate>(); for(Candidate c:required){ org.onap.so.client.sniro.beans.Candidate can = new org.onap.so.client.sniro.beans.Candidate(); - org.onap.so.client.sniro.beans.CandidateType type = new org.onap.so.client.sniro.beans.CandidateType(); - type.setName(c.getIdentifierType().getName()); - can.setIdentifierType(type); + can.setIdentifierType(c.getIdentifierType()); can.setIdentifiers(c.getIdentifiers()); can.setCloudOwner(c.getCloudOwner()); cans.add(can); @@ -416,9 +414,7 @@ public class SniroHomingV2 { List<org.onap.so.client.sniro.beans.Candidate> cans = new ArrayList<org.onap.so.client.sniro.beans.Candidate>(); for(Candidate c:excluded){ org.onap.so.client.sniro.beans.Candidate can = new org.onap.so.client.sniro.beans.Candidate(); - org.onap.so.client.sniro.beans.CandidateType type = new org.onap.so.client.sniro.beans.CandidateType(); - type.setName(c.getIdentifierType().getName()); - can.setIdentifierType(type); + can.setIdentifierType(c.getIdentifierType()); can.setIdentifiers(c.getIdentifiers()); can.setCloudOwner(c.getCloudOwner()); cans.add(can); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasks.java index 8f0334e462..0d9aeed1ae 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasks.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasks.java @@ -21,15 +21,16 @@ package org.onap.so.bpmn.infrastructure.aai.tasks; +import java.util.List; import java.util.Optional; -import java.util.UUID; +import org.onap.aai.domain.yang.NetworkPolicies; +import org.onap.aai.domain.yang.NetworkPolicy; import org.onap.so.bpmn.common.BuildingBlockExecution; import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion; import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration; import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network; -import org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy; import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule; import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup; @@ -169,18 +170,22 @@ public class AAIDeleteTasks { String fqdn = fqdnList[i]; AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY); uri.queryParam(NETWORK_POLICY_FQDN_PARAM, fqdn); - Optional<org.onap.aai.domain.yang.NetworkPolicy> oNetPolicy = aaiNetworkResources.getNetworkPolicy(uri); - if(oNetPolicy.isPresent()) { - String networkPolicyId = oNetPolicy.get().getNetworkPolicyId(); - msoLogger.debug("Deleting network-policy with network-policy-id " + networkPolicyId); - - aaiNetworkResources.deleteNetworkPolicy(networkPolicyId); + Optional<NetworkPolicies> oNetPolicies = aaiNetworkResources.getNetworkPolicies(uri); + if(oNetPolicies.isPresent()) { + NetworkPolicies networkPolicies = oNetPolicies.get(); + List<NetworkPolicy> networkPolicyList = networkPolicies.getNetworkPolicy(); + if (networkPolicyList != null && !networkPolicyList.isEmpty()) { + NetworkPolicy networkPolicy = networkPolicyList.get(0); + String networkPolicyId = networkPolicy.getNetworkPolicyId(); + msoLogger.debug("Deleting network-policy with network-policy-id " + networkPolicyId); + aaiNetworkResources.deleteNetworkPolicy(networkPolicyId); + } } } } } } catch (Exception ex) { exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex); - } + } } } diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java index 0082545fa1..99bda80e4f 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright (c) 2019 Samsung + * ================================================================================ * 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 @@ -48,7 +50,6 @@ import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetup; import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils; -import org.onap.so.bpmn.infrastructure.workflow.tasks.Resource; import org.onap.so.client.aai.AAICommonObjectMapperProvider; import org.onap.so.client.aai.entities.AAIResultWrapper; import org.onap.so.client.aai.entities.Relationships; @@ -58,13 +59,11 @@ import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization; import org.onap.so.db.catalog.beans.CollectionResourceCustomization; import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization; import org.onap.so.db.catalog.beans.CvnfcCustomization; -import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization; import org.onap.so.db.catalog.beans.VfModuleCustomization; import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization; import org.onap.so.db.catalog.beans.macro.NorthBoundRequest; import org.onap.so.db.catalog.beans.macro.OrchestrationFlow; import org.onap.so.db.catalog.client.CatalogDbClient; -import org.onap.so.logger.MsoLogger; import org.onap.so.serviceinstancebeans.ModelInfo; import org.onap.so.serviceinstancebeans.ModelType; import org.onap.so.serviceinstancebeans.Networks; @@ -439,8 +438,7 @@ public class WorkflowAction { CollectionResourceCustomization networkCollection = null; int count = 0; for(CollectionResourceCustomization collectionCust : service.getCollectionResourceCustomizations()){ - if(catalogDbClient.getNetworkCollectionResourceCustomizationByID(collectionCust.getModelCustomizationUUID()) - instanceof NetworkCollectionResourceCustomization) { + if(catalogDbClient.getNetworkCollectionResourceCustomizationByID(collectionCust.getModelCustomizationUUID()) != null) { networkCollection = collectionCust; count++; } diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java index 78a84b1772..2e91a52f65 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java @@ -41,6 +41,7 @@ import org.onap.so.serviceinstancebeans.ServiceInstancesResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import com.fasterxml.jackson.core.JsonProcessingException; @@ -54,6 +55,7 @@ public class WorkflowActionBBTasks { private static final String G_ALACARTE = "aLaCarte"; private static final String G_ACTION = "requestAction"; private static final String RETRY_COUNT = "retryCount"; + protected String maxRetries = "mso.rainyDay.maxRetries"; private static final Logger logger = LoggerFactory.getLogger(WorkflowActionBBTasks.class); @Autowired @@ -62,6 +64,8 @@ public class WorkflowActionBBTasks { private WorkflowAction workflowAction; @Autowired private WorkflowActionBBFailure workflowActionBBFailure; + @Autowired + private Environment environment; public void selectBB(DelegateExecution execution) { List<ExecuteBuildingBlock> flowsToExecute = (List<ExecuteBuildingBlock>) execution @@ -85,8 +89,8 @@ public class WorkflowActionBBTasks { execution.setVariable("completed", true); } else { execution.setVariable("completed", false); - execution.setVariable(G_CURRENT_SEQUENCE, currentSequence); } + execution.setVariable(G_CURRENT_SEQUENCE, currentSequence); } public void updateFlowStatistics(DelegateExecution execution) { @@ -215,17 +219,24 @@ public class WorkflowActionBBTasks { String requestId = (String) execution.getVariable(G_REQUEST_ID); String retryDuration = (String) execution.getVariable("RetryDuration"); int retryCount = (int) execution.getVariable(RETRY_COUNT); + int envMaxRetries; + try{ + envMaxRetries = Integer.parseInt(this.environment.getProperty(maxRetries)); + } catch (Exception ex) { + logger.error("Could not read maxRetries from config file. Setting max to 5 retries"); + envMaxRetries = 5; + } int nextCount = retryCount +1; if (handlingCode.equals("Retry")){ workflowActionBBFailure.updateRequestErrorStatusMessage(execution); try{ InfraActiveRequests request = requestDbclient.getInfraActiveRequestbyRequestId(requestId); - request.setRetryStatusMessage("Retry " + nextCount + "/5 will be started in " + retryDuration); + request.setRetryStatusMessage("Retry " + nextCount + "/" + envMaxRetries + " will be started in " + retryDuration); requestDbclient.updateInfraActiveRequests(request); } catch(Exception ex){ logger.warn("Failed to update Request Db Infra Active Requests with Retry Status",ex); } - if(retryCount<5){ + if(retryCount<envMaxRetries){ int currSequence = (int) execution.getVariable("gCurrentSequence"); execution.setVariable("gCurrentSequence", currSequence-1); execution.setVariable(RETRY_COUNT, nextCount); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java index 4ca3f2a78d..7283c9967c 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/orchestration/AAINetworkResources.java @@ -22,6 +22,7 @@ package org.onap.so.client.orchestration; import java.util.Optional; +import org.onap.aai.domain.yang.NetworkPolicies; import org.onap.aai.domain.yang.NetworkPolicy; import org.onap.aai.domain.yang.RouteTableReference; import org.onap.aai.domain.yang.VpnBinding; @@ -86,6 +87,10 @@ public class AAINetworkResources { return injectionHelper.getAaiClient().get(netPolicyUri).asBean(NetworkPolicy.class); } + public Optional<NetworkPolicies> getNetworkPolicies(AAIResourceUri netPoliciesUri) { + return injectionHelper.getAaiClient().get(netPoliciesUri).asBean(NetworkPolicies.class); + } + public Optional<org.onap.aai.domain.yang.Subnet> getSubnet(AAIResourceUri subnetUri) { return injectionHelper.getAaiClient().get(subnetUri).asBean(org.onap.aai.domain.yang.Subnet.class); } diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/Candidate.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/Candidate.java index 1f8c56e727..3b7e509752 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/Candidate.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/Candidate.java @@ -23,6 +23,8 @@ package org.onap.so.client.sniro.beans; import java.io.Serializable; import java.util.List; +import org.onap.so.bpmn.servicedecomposition.homingobjects.CandidateType; + import com.fasterxml.jackson.annotation.JsonProperty; public class Candidate implements Serializable{ diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/CandidateType.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/CandidateType.java deleted file mode 100644 index d8984c0b83..0000000000 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/sniro/beans/CandidateType.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 - 2019 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.client.sniro.beans; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class CandidateType implements Serializable{ - - private static final long serialVersionUID = 2273215496314532173L; - - @JsonProperty("name") - private String name; - - - public String getName(){ - return name; - } - - public void setName(String name){ - this.name = name; - } - -} diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasksTest.java index 5cb775180e..4984b2fbb5 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasksTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAIDeleteTasksTest.java @@ -30,6 +30,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Optional; import org.camunda.bpm.engine.delegate.BpmnError; @@ -39,6 +41,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; import org.mockito.Captor; import org.mockito.InjectMocks; +import org.onap.aai.domain.yang.NetworkPolicies; import org.onap.aai.domain.yang.NetworkPolicy; import org.onap.so.bpmn.BaseTaskTest; import org.onap.so.bpmn.common.BuildingBlockExecution; @@ -50,11 +53,13 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule; import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup; import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey; +import org.onap.so.client.aai.entities.AAIResultWrapper; import org.onap.so.client.aai.entities.uri.AAIResourceUri; import org.onap.so.client.exception.BBObjectNotFoundException; public class AAIDeleteTasksTest extends BaseTaskTest { + private final static String JSON_FILE_LOCATION = "src/test/resources/__files/BuildingBlocks/"; @InjectMocks private AAIDeleteTasks aaiDeleteTasks = new AAIDeleteTasks(); @@ -191,11 +196,14 @@ public class AAIDeleteTasksTest extends BaseTaskTest { @Test public void deleteNetworkPolicyNeedToDeleteAllTest() throws Exception { execution.setVariable("contrailNetworkPolicyFqdnList", "ABC123,DEF456"); - NetworkPolicy networkPolicy0 = new NetworkPolicy(); - networkPolicy0.setNetworkPolicyId("testNetworkPolicyId0"); - NetworkPolicy networkPolicy1 = new NetworkPolicy(); - networkPolicy1.setNetworkPolicyId("testNetworkPolicyId1"); - doReturn(Optional.of(networkPolicy0),Optional.of(networkPolicy1)).when(aaiNetworkResources).getNetworkPolicy(any(AAIResourceUri.class)); + final String content0 = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPoliciesForDelete0.json"))); + AAIResultWrapper aaiResultWrapper0 = new AAIResultWrapper(content0); + NetworkPolicies networkPolicies0 = aaiResultWrapper0.asBean(NetworkPolicies.class).get(); + final String content1 = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPoliciesForDelete1.json"))); + AAIResultWrapper aaiResultWrapper1 = new AAIResultWrapper(content1); + NetworkPolicies networkPolicies1 = aaiResultWrapper1.asBean(NetworkPolicies.class).get(); + + doReturn(Optional.of(networkPolicies0),Optional.of(networkPolicies1)).when(aaiNetworkResources).getNetworkPolicies(any(AAIResourceUri.class)); doNothing().when(aaiNetworkResources).deleteNetworkPolicy(any(String.class)); aaiDeleteTasks.deleteNetworkPolicies(execution); verify(aaiNetworkResources, times(2)).deleteNetworkPolicy(stringCaptor.capture()); @@ -206,8 +214,8 @@ public class AAIDeleteTasksTest extends BaseTaskTest { @Test public void deleteNetworkPolicyNeedToDeleteNoneTest() throws Exception { execution.setVariable("contrailNetworkPolicyFqdnList", "ABC123"); - Optional<NetworkPolicy> networkPolicy = Optional.empty(); - doReturn(networkPolicy).when(aaiNetworkResources).getNetworkPolicy(any(AAIResourceUri.class)); + Optional<NetworkPolicies> networkPolicies = Optional.empty(); + doReturn(networkPolicies).when(aaiNetworkResources).getNetworkPolicies(any(AAIResourceUri.class)); aaiDeleteTasks.deleteNetworkPolicies(execution); verify(aaiNetworkResources, times(0)).deleteNetworkPolicy(any(String.class)); } diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java index f3b094f645..17a37c873a 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java @@ -31,6 +31,7 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; +import org.camunda.bpm.engine.delegate.BpmnError; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; import org.junit.Before; @@ -46,6 +47,7 @@ import org.onap.so.bpmn.core.WorkflowException; import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; import org.onap.so.db.request.beans.InfraActiveRequests; +import org.springframework.core.env.Environment; public class WorkflowActionBBTasksTest extends BaseTaskTest { @@ -64,6 +66,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { private DelegateExecution execution; + @Mock + protected Environment environment; + @Rule public ExpectedException thrown = ExpectedException.none(); @@ -91,7 +96,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { execution.setVariable("flowsToExecute", flowsToExecute); workflowActionBBTasks.selectBB(execution); boolean success = (boolean) execution.getVariable("completed"); + int currentSequence = (int) execution.getVariable("gCurrentSequence"); assertEquals(true,success); + assertEquals(1,currentSequence); } @Test @@ -110,7 +117,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { execution.setVariable("flowsToExecute", flowsToExecute); workflowActionBBTasks.selectBB(execution); boolean success = (boolean) execution.getVariable("completed"); + int currentSequence = (int) execution.getVariable("gCurrentSequence"); assertEquals(false,success); + assertEquals(1,currentSequence); } @Test @@ -287,6 +296,7 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { String reqId = "reqId123"; execution.setVariable("mso-request-id", reqId); doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class)); + doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries"); execution.setVariable("handlingCode","Retry"); execution.setVariable("retryCount", 1); execution.setVariable("gCurrentSequence",1); @@ -297,6 +307,25 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { } @Test + public void checkRetryStatusTestExceededMaxRetries(){ + String reqId = "reqId123"; + execution.setVariable("mso-request-id", reqId); + doNothing().when(workflowActionBBFailure).updateRequestErrorStatusMessage(isA(DelegateExecution.class)); + doReturn("6").when(environment).getProperty("mso.rainyDay.maxRetries"); + execution.setVariable("handlingCode","Retry"); + execution.setVariable("retryCount", 6); + execution.setVariable("gCurrentSequence",1); + InfraActiveRequests req = new InfraActiveRequests(); + doReturn(req).when(requestsDbClient).getInfraActiveRequestbyRequestId(reqId); + try{ + workflowActionBBTasks.checkRetryStatus(execution); + } catch (BpmnError e) { + WorkflowException exception = (WorkflowException) execution.getVariable("WorkflowException"); + assertEquals("Exceeded maximum retries. Ending flow with status Abort",exception.getErrorMessage()); + } + } + + @Test public void checkRetryStatusNoRetryTest(){ String reqId = "reqId123"; execution.setVariable("mso-request-id", reqId); diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java index 24b87277c4..c74f590e6b 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright (c) 2019 Samsung + * ================================================================================ * 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 @@ -23,6 +25,7 @@ package org.onap.so.bpmn.infrastructure.workflow.tasks; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.mockito.ArgumentMatchers.anyObject; @@ -31,6 +34,7 @@ import static org.mockito.Matchers.isA; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.net.MalformedURLException; import java.nio.file.Files; @@ -40,9 +44,8 @@ import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Optional; -import java.util.UUID; import java.util.Set; - +import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; @@ -90,8 +93,6 @@ import org.onap.so.serviceinstancebeans.ServiceInstancesRequest; import org.onap.so.serviceinstancebeans.SubscriberInfo; import org.springframework.core.env.Environment; -import com.fasterxml.jackson.databind.ObjectMapper; - public class WorkflowActionTest extends BaseTaskTest { @@ -1290,7 +1291,44 @@ public class WorkflowActionTest extends BaseTaskTest { assertEquals("222",result.get(1).getResourceId()); assertEquals("111",result.get(2).getResourceId()); } - + + @Test + public void findCatalogNetworkCollectionTest() { + Service service = new Service(); + NetworkCollectionResourceCustomization networkCustomization = new NetworkCollectionResourceCustomization(); + networkCustomization.setModelCustomizationUUID("123"); + service.getCollectionResourceCustomizations().add(networkCustomization); + doReturn(networkCustomization).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123"); + CollectionResourceCustomization customization = workflowAction.findCatalogNetworkCollection(execution, service); + assertNotNull(customization); + } + + @Test + public void findCatalogNetworkCollectionEmptyTest() { + Service service = new Service(); + NetworkCollectionResourceCustomization networkCustomization = new NetworkCollectionResourceCustomization(); + networkCustomization.setModelCustomizationUUID("123"); + service.getCollectionResourceCustomizations().add(networkCustomization); + CollectionResourceCustomization customization = workflowAction.findCatalogNetworkCollection(execution, service); + assertNull(customization); + } + + @Test + public void findCatalogNetworkCollectionMoreThanOneTest() { + Service service = new Service(); + NetworkCollectionResourceCustomization networkCustomization1 = new NetworkCollectionResourceCustomization(); + networkCustomization1.setModelCustomizationUUID("123"); + NetworkCollectionResourceCustomization networkCustomization2 = new NetworkCollectionResourceCustomization(); + networkCustomization2.setModelCustomizationUUID("321"); + service.getCollectionResourceCustomizations().add(networkCustomization1); + service.getCollectionResourceCustomizations().add(networkCustomization2); + doReturn(networkCustomization1).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("123"); + doReturn(networkCustomization2).when(catalogDbClient).getNetworkCollectionResourceCustomizationByID("321"); + workflowAction.findCatalogNetworkCollection(execution, service); + assertEquals("Found multiple Network Collections in the Service model, only one per Service is supported.", + execution.getVariable("WorkflowActionErrorMessage")); + } + private List<OrchestrationFlow> createFlowList (String... flowNames){ List<OrchestrationFlow> result = new ArrayList<>(); for(String flowName : flowNames){ diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java index 2e2cc5d974..8632a6afdd 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAINetworkResourcesTest.java @@ -56,6 +56,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network; import org.onap.so.bpmn.servicedecomposition.bbobjects.NetworkPolicy; import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance; import org.onap.so.bpmn.servicedecomposition.bbobjects.Subnet; +import org.onap.so.client.aai.AAIObjectPlurals; import org.onap.so.client.aai.AAIObjectType; import org.onap.so.client.aai.AAIResourcesClient; import org.onap.so.client.aai.entities.AAIEdgeLabel; @@ -191,6 +192,22 @@ public class AAINetworkResourcesTest extends TestDataSetup{ } @Test + public void getNetworkPoliciesTest() throws Exception { + final String content = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkPolicies.json"))); + AAIResultWrapper aaiResultWrapper = new AAIResultWrapper(content); + Optional<org.onap.aai.domain.yang.NetworkPolicies> oNetPolicies = Optional.empty(); + AAIResourceUri netPoliciesUri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY); + + doReturn(aaiResultWrapper).when(MOCK_aaiResourcesClient).get(isA(AAIResourceUri.class)); + oNetPolicies = aaiNetworkResources.getNetworkPolicies(netPoliciesUri); + verify(MOCK_aaiResourcesClient, times(1)).get(any(AAIResourceUri.class)); + if (oNetPolicies.isPresent()) { + org.onap.aai.domain.yang.NetworkPolicies networkPolicies = oNetPolicies.get(); + assertThat(aaiResultWrapper.asBean(org.onap.aai.domain.yang.NetworkPolicies.class).get(), sameBeanAs(networkPolicies)); + } + } + + @Test public void getRouteTableTest() throws Exception { final String content = new String(Files.readAllBytes(Paths.get(JSON_FILE_LOCATION + "queryAaiNetworkTableRefs.json"))); AAIResultWrapper aaiResultWrapper = new AAIResultWrapper(content); diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json index 83ecd6add1..6713f80ad9 100644 --- a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json +++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest1Vpn.json @@ -42,9 +42,7 @@ "modelInvariantId" : "testProxyModelInvariantUuid2" }, "requiredCandidates" : [ { - "identifierType" : { - "name" : "vnfId" - }, + "identifierType" : "vnfId", "identifiers" : [ "testVnfId" ] } ] } ], diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json index c3c5c0771a..14a89c90fc 100644 --- a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json +++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/SniroHoming/SniroManagerRequest3Vpn.json @@ -42,9 +42,7 @@ "modelInvariantId" : "testProxyModelInvariantUuid2" }, "requiredCandidates" : [ { - "identifierType" : { - "name" : "vnfId" - }, + "identifierType" : "vnfId", "identifiers" : [ "testVnfId" ] } ] }, { @@ -66,9 +64,7 @@ "modelInvariantId" : "testProxyModelInvariantUuid2" }, "requiredCandidates" : [ { - "identifierType" : { - "name" : "vnfId" - }, + "identifierType" : "vnfId", "identifiers" : [ "testVnfId" ] } ] }, { @@ -90,9 +86,7 @@ "modelInvariantId" : "testProxyModelInvariantUuid2" }, "requiredCandidates" : [ { - "identifierType" : { - "name" : "vnfId" - }, + "identifierType" : "vnfId", "identifiers" : [ "testVnfId" ] } ] } ], diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json new file mode 100644 index 0000000000..3bd60a777e --- /dev/null +++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPolicies.json @@ -0,0 +1,10 @@ +{"network-policy": + [ + { + "network-policy-id":"1ac71fb8-ad43-4e16-9459-c3f372b8236d", + "network-policy-fqdn":"default-domain:enpx-26177-T-E2E-rdm6a:enpx-26177-T-E2E-rdm6a_TIPXH-DBEV-VIF-TDAT0_net_1", + "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de", + "resource-version":"1550068250015" + } + ] +}
\ No newline at end of file diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json new file mode 100644 index 0000000000..f60c6d97ad --- /dev/null +++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete0.json @@ -0,0 +1,10 @@ +{"network-policy": + [ + { + "network-policy-id":"testNetworkPolicyId0", + "network-policy-fqdn":"ABC123", + "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de", + "resource-version":"1550068250015" + } + ] +}
\ No newline at end of file diff --git a/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json new file mode 100644 index 0000000000..6aaea8eec8 --- /dev/null +++ b/bpmn/so-bpmn-tasks/src/test/resources/__files/BuildingBlocks/queryAaiNetworkPoliciesForDelete1.json @@ -0,0 +1,10 @@ +{"network-policy": + [ + { + "network-policy-id":"testNetworkPolicyId1", + "network-policy-fqdn":"DEF456", + "heat-stack-id":"InfraMSO-vSAMP12_14_1.0-VF-Base-1902-est01-GR_API-021119-1/9a3be28f-115d-4693-9b17-9291b98b46de", + "resource-version":"1550068250015" + } + ] +}
\ No newline at end of file diff --git a/bpmn/so-bpmn-tasks/src/test/resources/schema.sql b/bpmn/so-bpmn-tasks/src/test/resources/schema.sql index 7a15e84662..5ae6a2d972 100644 --- a/bpmn/so-bpmn-tasks/src/test/resources/schema.sql +++ b/bpmn/so-bpmn-tasks/src/test/resources/schema.sql @@ -1184,5 +1184,12 @@ alter table ACT_ID_TENANT_MEMBER add constraint ACT_FK_TENANT_MEMB_GROUP foreign key (GROUP_ID_) references ACT_ID_GROUP (ID_); - - + +ALTER TABLE ACT_GE_BYTEARRAY + ADD TYPE_ integer; + +ALTER TABLE ACT_GE_BYTEARRAY + ADD CREATE_TIME_ datetime(3); + +ALTER TABLE ACT_RE_PROCDEF + ADD STARTABLE_ BOOLEAN NOT NULL DEFAULT TRUE;
\ No newline at end of file |