diff options
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-common/src/test')
39 files changed, 2087 insertions, 947 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVFCNSResourceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVFCNSResourceTest.groovy new file mode 100644 index 0000000000..2eb4c9c408 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVFCNSResourceTest.groovy @@ -0,0 +1,81 @@ +/*- + * ============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.bpmn.infrastructure.scripts + +import org.camunda.bpm.engine.delegate.BpmnError +import org.junit.Before +import org.junit.Test +import org.mockito.Mockito +import org.mockito.MockitoAnnotations +import org.mockito.Spy +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory + +import javax.ws.rs.NotFoundException + +import static org.junit.Assert.assertEquals +import static org.mockito.Matchers.isA +import static org.mockito.Mockito.doNothing +import static org.mockito.Mockito.doThrow +import static org.mockito.Mockito.when + +class CreateVFCNSResourceTest extends MsoGroovyTest{ + + @Spy + CreateVFCNSResource createVFCNSResource + + @Before + void init() throws IOException { + super.init("CreateVFCNSResource") + MockitoAnnotations.initMocks(this); + when(createVFCNSResource.getAAIClient()).thenReturn(client) + } + + @Test + void testaddNSRelationship(){ + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("globalSubscriberId1") + when(mockExecution.getVariable("serviceType")).thenReturn("serviceType") + when(mockExecution.getVariable("serviceInstanceId")).thenReturn("serviceInstanceId") + when(mockExecution.getVariable("nsInstanceId")).thenReturn("nsInstanceId") + doNothing().when(client).connect(isA(AAIResourceUri.class),isA(AAIResourceUri.class)) + createVFCNSResource.addNSRelationship(mockExecution) + AAIResourceUri nsUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,"globalSubscriberId1","serviceType","nsInstanceId") + AAIResourceUri relatedServiceUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,"globalSubscriberId1","serviceType","serviceInstanceId") + Mockito.verify(client).connect(nsUri,relatedServiceUri) + } + + @Test + void testaddNSRelationshipError(){ + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("globalSubscriberId1") + when(mockExecution.getVariable("serviceType")).thenReturn("serviceType") + when(mockExecution.getVariable("serviceInstanceId")).thenReturn("serviceInstanceId") + when(mockExecution.getVariable("nsInstanceId")).thenReturn("nsInstanceId") + doThrow(new NotFoundException("Error creating relationship")).when(client).connect(isA(AAIResourceUri.class),isA(AAIResourceUri.class)) + try { + createVFCNSResource.addNSRelationship(mockExecution) + } catch (BpmnError ex) { + assertEquals(ex.getErrorCode(),"MSOWorkflowException") + } + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1Test.groovy index 2b437d875e..161075f66e 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1Test.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1Test.groovy @@ -20,22 +20,33 @@ package org.onap.so.bpmn.infrastructure.scripts +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.junit.Before import org.junit.Ignore +import org.junit.Rule import org.junit.Test +import org.junit.rules.ExpectedException import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.MockitoAnnotations import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.ResultData +import org.onap.aai.domain.yang.SearchResults import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.AAIResultWrapper +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory import static org.junit.Assert.assertEquals import static org.mockito.Mockito.* -@RunWith(MockitoJUnitRunner.class) class CreateVfModuleVolumeInfraV1Test extends MsoGroovyTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + def jsonRequest = """ { "requestDetails": { @@ -154,6 +165,7 @@ class CreateVfModuleVolumeInfraV1Test extends MsoGroovyTest { @Before public void init() { + super.init("CreateVfModuleVolumeInfraV1") MockitoAnnotations.initMocks(this) } @@ -162,8 +174,6 @@ class CreateVfModuleVolumeInfraV1Test extends MsoGroovyTest { @Ignore public void testPreProcessRequest() { - ExecutionEntity mockExecution = setupMock('CreateVfModuleVolumeInfraV1') - when(mockExecution.getVariable("prefix")).thenReturn('CVMVINFRAV1_') when(mockExecution.getVariable("bpmnRequest")).thenReturn(jsonRequest) when(mockExecution.getVariable("serviceInstanceId")).thenReturn('') @@ -191,7 +201,6 @@ class CreateVfModuleVolumeInfraV1Test extends MsoGroovyTest { @Test public void testPostProcessResponse() { - ExecutionEntity mockExecution = setupMock('CreateVfModuleVolumeInfraV1') when(mockExecution.getVariable("dbReturnCode")).thenReturn('000') when(mockExecution.getVariable("CVMVINFRAV1_createDBResponse")).thenReturn('') when(mockExecution.getVariable("mso-request-id")).thenReturn('1234') @@ -203,6 +212,23 @@ class CreateVfModuleVolumeInfraV1Test extends MsoGroovyTest { verify(mockExecution).setVariable('CVMVINFRAV1_Success', true) verify(mockExecution).setVariable('CVMVINFRAV1_CompleteMsoProcessRequest', completeMsoRequestXml) } - + @Test + public void testcallRESTQueryAAIServiceInstance() { + CreateVfModuleVolumeInfraV1 createVfModuleVolumeInfraV1 = spy(CreateVfModuleVolumeInfraV1.class) + when(createVfModuleVolumeInfraV1.getAAIClient()).thenReturn(client) + AAIResultWrapper resultWrapper = new AAIResultWrapper(SEARCH_RESULT_AAI_WITH_RESULTDATA) + when(client.get(isA(AAIResourceUri.class))).thenReturn(resultWrapper) + createVfModuleVolumeInfraV1.callRESTQueryAAIServiceInstance(mockExecution,true) + } + + @Test + public void testcallRESTQueryAAIServiceInstance_NoData() { + CreateVfModuleVolumeInfraV1 createVfModuleVolumeInfraV1 = spy(CreateVfModuleVolumeInfraV1.class) + when(createVfModuleVolumeInfraV1.getAAIClient()).thenReturn(client) + AAIResultWrapper resultWrapper = new AAIResultWrapper("{}") + when(client.get(isA(AAIResourceUri.class))).thenReturn(resultWrapper) + thrown.expect(BpmnError.class) + createVfModuleVolumeInfraV1.callRESTQueryAAIServiceInstance(mockExecution,true) + } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1Test.groovy index 0bce32716f..6ed5bfe89a 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1Test.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1Test.groovy @@ -21,20 +21,50 @@ package org.onap.so.bpmn.infrastructure.scripts import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity +import org.junit.Assert import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.so.bpmn.common.scripts.DeleteAAIVfModule import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.core.WorkflowException +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.AAIResultWrapper +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException +import javax.ws.rs.NotFoundException + +import static org.mockito.Matchers.eq +import static org.mockito.Mockito.doNothing +import static org.mockito.Mockito.doThrow +import static org.mockito.Mockito.times import static org.mockito.Mockito.verify import static org.mockito.Mockito.when -@RunWith(MockitoJUnitRunner.class) class DeleteVfModuleVolumeInfraV1Test extends MsoGroovyTest { + @Spy + DeleteVfModuleVolumeInfraV1 deleteVfModuleVolumeInfraV1 ; + + @Captor + static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + + @Before + void init() throws IOException { + super.init("DeleteVfModuleVolumeInfraV1") + MockitoAnnotations.initMocks(this); + when(deleteVfModuleVolumeInfraV1.getAAIClient()).thenReturn(client) + } + def deleteVnfAdapterRequestXml = """<deleteVolumeGroupRequest> <cloudSiteId>RDM2WAGPLCP</cloudSiteId> <tenantId>fba1bd1e195a404cacb9ce17a9b2b421</tenantId> @@ -90,13 +120,7 @@ class DeleteVfModuleVolumeInfraV1Test extends MsoGroovyTest { </aetgt:WorkflowException> </aetgt:FalloutHandlerRequest>""" - @Before - public void init() - { - MockitoAnnotations.initMocks(this) - } - - + @Test public void testPrepareVnfAdapterDeleteRequest() { @@ -164,4 +188,110 @@ class DeleteVfModuleVolumeInfraV1Test extends MsoGroovyTest { verify(mockExecution).setVariable("DELVfModVol_Success", false) verify(mockExecution).setVariable("DELVfModVol_FalloutHandlerRequest", falloutHandlerRequestXml) } + + @Test + void testQueryAAIForVolumeGroup(){ + when(mockExecution.getVariable("DELVfModVol_volumeGroupId")).thenReturn("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResultWrapper wrapper = mockVolumeGroupWrapper("region1", "volumeGroupId1", "__files/AAI/VolumeGroupWithTenant.json") + Optional<VolumeGroup> volumeGroupOp = wrapper.asBean(VolumeGroup.class) + deleteVfModuleVolumeInfraV1.queryAAIForVolumeGroup(mockExecution, true) + verify(mockExecution).setVariable("DELVfModVol_volumeGroupTenantId", "Tenant123") + } + + @Test + void testQueryAAIForVolumeGroupWithVfModule(){ + when(mockExecution.getVariable("DELVfModVol_volumeGroupId")).thenReturn("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResultWrapper wrapper = mockVolumeGroupWrapper("region1", "volumeGroupId1", "__files/AAI/VolumeGroupWithVfModule.json") + try { + deleteVfModuleVolumeInfraV1.queryAAIForVolumeGroup(mockExecution, true) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(3)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(2500, workflowException.getErrorCode()) + Assert.assertEquals("Volume Group volumeGroupId1 currently in use - found vf-module relationship.", workflowException.getErrorMessage()) + } + + @Test + void testQueryAAIForVolumeGroupNoTenant(){ + when(mockExecution.getVariable("DELVfModVol_volumeGroupId")).thenReturn("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResultWrapper wrapper = mockVolumeGroupWrapper("region1", "volumeGroupId1", "__files/AAI/VolumeGroup.json") + try { + deleteVfModuleVolumeInfraV1.queryAAIForVolumeGroup(mockExecution, true) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(3)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(2500, workflowException.getErrorCode()) + Assert.assertEquals( "Could not find Tenant Id element in Volume Group with Volume Group Id volumeGroupId1", workflowException.getErrorMessage()) + } + + @Test + void testQueryAAIForVolumeGroupNoId(){ + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + try { + deleteVfModuleVolumeInfraV1.queryAAIForVolumeGroup(mockExecution, true) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(2500, workflowException.getErrorCode()) + Assert.assertEquals("volume-group-id is not provided in the request", workflowException.getErrorMessage()) + } + + @Test + void testDeleteVolGrpId(){ + VolumeGroup volumeGroup = new VolumeGroup() + volumeGroup.setVolumeGroupId("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_queryAAIVolGrpResponse")).thenReturn(volumeGroup) + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "region1","volumeGroupId1") + doNothing().when(client).delete(resourceUri) + deleteVfModuleVolumeInfraV1.deleteVolGrpId(mockExecution, true) + verify(client).delete(resourceUri) + } + + @Test + void testDeleteVolGrpIdNotFound(){ + VolumeGroup volumeGroup = new VolumeGroup() + volumeGroup.setVolumeGroupId("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_queryAAIVolGrpResponse")).thenReturn(volumeGroup) + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "region1","volumeGroupId1") + doThrow(new NotFoundException("Not Found")).when(client).delete(resourceUri) + try { + deleteVfModuleVolumeInfraV1.deleteVolGrpId(mockExecution, true) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(2500, workflowException.getErrorCode()) + Assert.assertEquals("Volume group volumeGroupId1 not found for delete in AAI Response code: 404", workflowException.getErrorMessage()) + } + + @Test + void testDeleteVolGrpIdError(){ + VolumeGroup volumeGroup = new VolumeGroup() + volumeGroup.setVolumeGroupId("volumeGroupId1") + when(mockExecution.getVariable("DELVfModVol_queryAAIVolGrpResponse")).thenReturn(volumeGroup) + when(mockExecution.getVariable("DELVfModVol_aicCloudRegion")).thenReturn("region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "region1","volumeGroupId1") + doThrow(new GraphInventoryUriComputationException("Error")).when(client).delete(resourceUri) + try { + deleteVfModuleVolumeInfraV1.deleteVolGrpId(mockExecution, true) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(5000, workflowException.getErrorCode()) + Assert.assertEquals("Received error from A&AI ()", workflowException.getErrorMessage()) + } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceTest.groovy index d8a82acfa7..fc8bd0da8a 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceTest.groovy @@ -20,53 +20,54 @@ package org.onap.so.bpmn.infrastructure.scripts -import com.github.tomakehurst.wiremock.junit.WireMockRule -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService +import static com.shazam.shazamcrest.MatcherAssert.assertThat +import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs +import static org.mockito.Mockito.times +import static org.mockito.Mockito.when + import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Before -import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito -import org.mockito.MockitoAnnotations -import org.mockito.runners.MockitoJUnitRunner -import org.onap.so.bpmn.common.scripts.utils.XmlComparator +import org.onap.aai.domain.yang.ServiceInstance +import org.onap.so.bpmn.common.scripts.MsoGroovyTest -import static org.mockito.Mockito.* /** * @author sushilma * @since January 10, 2018 */ -@RunWith(MockitoJUnitRunner.class) -class DoCreateE2EServiceInstanceTest { +class DoCreateE2EServiceInstanceTest extends MsoGroovyTest{ - @Rule - public WireMockRule wireMockRule = new WireMockRule(28090); @Before - public void init() throws IOException { - MockitoAnnotations.initMocks(this); + public void init() { + super.init("DoCreateE2EServiceInstance") } - @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) - - String expectedServiceInstanceData = """ <service-instance xmlns="http://org.openecomp.aai.inventory/v8"> - <service-instance-id>1234</service-instance-id> - <service-instance-name>volte-service</service-instance-name> - <service-type>voLTE type</service-type> - <service-role>voLTE role</service-role> - <orchestration-status>Created</orchestration-status> - <model-invariant-id>c1d4305f-cdbd-4bbe-9069-a2f4978fd89e</model-invariant-id> - <model-version-id>d4df5c27-98a1-4812-a8aa-c17f055b7a3f</model-version-id> - </service-instance>""" @Test public void testPreProcessRequest(){ - ExecutionEntity mockExecution = setupMock() + mockData() + ServiceInstance expectedServiceInstanceData = getExpectedServiceInstance() + DoCreateE2EServiceInstance serviceInstance = new DoCreateE2EServiceInstance() + serviceInstance.preProcessRequest(mockExecution) + Mockito.verify(mockExecution, times(7)).setVariable(captor.capture(), captor.capture()) + assertThat(captor.getValue(), sameBeanAs(expectedServiceInstanceData)) + } + + private ServiceInstance getExpectedServiceInstance() { + ServiceInstance expectedServiceInstanceData = new ServiceInstance() + expectedServiceInstanceData.setServiceInstanceId("1234") + expectedServiceInstanceData.setServiceInstanceName("volte-service") + expectedServiceInstanceData.setServiceType("E2E Service") + expectedServiceInstanceData.setServiceRole("E2E Service") + expectedServiceInstanceData.setOrchestrationStatus("Created") + return expectedServiceInstanceData + } + + private void mockData() { when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345") when(mockExecution.getVariable("serviceType")).thenReturn("TRANSPORT") @@ -76,27 +77,8 @@ class DoCreateE2EServiceInstanceTest { when(mockExecution.getVariable("mso.workflow.sdncadapter.callback")).thenReturn("/mso/sdncadapter/") when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8") - DoCreateE2EServiceInstance obj = new DoCreateE2EServiceInstance() - obj.preProcessRequest(mockExecution) - Mockito.verify(mockExecution, times(7)).setVariable(captor.capture(), captor.capture()) - XmlComparator.assertXMLEquals(expectedServiceInstanceData, captor.getValue()) + when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer') + when(mockExecution.getVariable("URN_mso_workflow_sdncadapter_callback")).thenReturn('/testUrl') } - private ExecutionEntity setupMock() { - ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) - when(mockProcessDefinition.getKey()).thenReturn("DoCreateE2EServiceInstance") - RepositoryService mockRepositoryService = mock(RepositoryService.class) - when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition) - when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateE2EServiceInstance") - when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100") - ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class) - when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService) - ExecutionEntity mockExecution = mock(ExecutionEntity.class) - when(mockExecution.getId()).thenReturn("100") - when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateE2EServiceInstance") - when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateE2EServiceInstance") - when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices) - when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition) - return mockExecution - } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstanceTest.groovy index 587abbee52..b246caf40e 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstanceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateServiceInstanceTest.groovy @@ -21,41 +21,35 @@ package org.onap.so.bpmn.infrastructure.scripts import com.github.tomakehurst.wiremock.junit.WireMockRule -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.junit.Assert import org.junit.Before import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith -import org.mockito.ArgumentCaptor -import org.mockito.Captor -import org.mockito.Mockito +import org.junit.rules.ExpectedException import org.mockito.MockitoAnnotations -import org.mockito.runners.MockitoJUnitRunner -import org.onap.so.bpmn.core.WorkflowException +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.core.domain.ModelInfo import org.onap.so.bpmn.core.domain.ServiceDecomposition import org.onap.so.bpmn.core.domain.ServiceInstance import org.onap.so.bpmn.mock.StubResponseAAI +import org.onap.so.client.aai.entities.uri.AAIResourceUri import static org.mockito.Mockito.* -@RunWith(MockitoJUnitRunner.class) -class DoCreateServiceInstanceTest { +class DoCreateServiceInstanceTest extends MsoGroovyTest{ def prefix = "DCRESI_" @Rule public WireMockRule wireMockRule = new WireMockRule(28090) - @Captor - static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + @Rule + public ExpectedException thrown = ExpectedException.none() @Before void init() throws IOException { - MockitoAnnotations.initMocks(this); + super.init("DoCreateServiceInstance") + MockitoAnnotations.initMocks(this) } @Test @@ -96,7 +90,6 @@ class DoCreateServiceInstanceTest { @Test void testGetAAICustomerById() { - ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable("prefix")).thenReturn(prefix) when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345") @@ -104,30 +97,41 @@ class DoCreateServiceInstanceTest { when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") when(mockExecution.getVariable("mso.workflow.custom.DoCreateServiceInstance.aai.version")).thenReturn('8') StubResponseAAI.MockGetCustomer("12345", "") - DoCreateServiceInstance obj = new DoCreateServiceInstance() + DoCreateServiceInstance obj = spy(DoCreateServiceInstance.class) + when(obj.getAAIClient()).thenReturn(client) + when(client.exists(isA(AAIResourceUri.class))).thenReturn(true) obj.getAAICustomerById(mockExecution) + } - verify(mockExecution, times(1)).getVariable("aai.endpoint") + @Test + void testGetAAICustomerById_NoCustFound() { + when(mockExecution.getVariable("prefix")).thenReturn(prefix) + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345") + when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") + when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") + when(mockExecution.getVariable("mso.workflow.custom.DoCreateServiceInstance.aai.version")).thenReturn('8') + StubResponseAAI.MockGetCustomer("12345", "") + DoCreateServiceInstance obj = spy(DoCreateServiceInstance.class) + when(obj.getAAIClient()).thenReturn(client) + when(client.exists(isA(AAIResourceUri.class))).thenReturn(false) + thrown.expect(BpmnError.class) + obj.getAAICustomerById(mockExecution) } - private static ExecutionEntity setupMock() { - ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) - when(mockProcessDefinition.getKey()).thenReturn("DoCreateServiceInstance") - RepositoryService mockRepositoryService = mock(RepositoryService.class) - when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition) - when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateServiceInstance") - when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100") - ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class) - when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService) - - ExecutionEntity mockExecution = mock(ExecutionEntity.class) - // Initialize prerequisite variables - when(mockExecution.getId()).thenReturn("100") - when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateServiceInstance") - when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateServiceInstance") - when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices) - when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition) - - return mockExecution + @Test + void testGetAAICustomerById_Exception() { + when(mockExecution.getVariable("prefix")).thenReturn(prefix) + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345") + when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") + when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") + when(mockExecution.getVariable("mso.workflow.custom.DoCreateServiceInstance.aai.version")).thenReturn('8') + StubResponseAAI.MockGetCustomer("12345", "") + DoCreateServiceInstance obj = spy(DoCreateServiceInstance.class) + when(obj.getAAIClient()).thenReturn(client) + when(client.exists(isA(AAIResourceUri.class))).thenThrow(Exception.class) + thrown.expect(Exception.class) + obj.getAAICustomerById(mockExecution) } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstanceTest.groovy index 6d9d5e5356..52b54a48e8 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstanceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstanceTest.groovy @@ -21,40 +21,37 @@ package org.onap.so.bpmn.infrastructure.scripts import com.github.tomakehurst.wiremock.junit.WireMockRule -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Before import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.Captor +import org.mockito.Mockito import org.mockito.MockitoAnnotations -import org.mockito.runners.MockitoJUnitRunner - -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse -import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching -import static org.mockito.Mockito.mock -import static org.mockito.Mockito.times -import static org.mockito.Mockito.verify +import org.mockito.Spy +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import javax.ws.rs.NotFoundException +import static org.junit.Assert.assertEquals +import static org.mockito.Matchers.isA +import static org.mockito.Mockito.doNothing +import static org.mockito.Mockito.doThrow import static org.mockito.Mockito.when -/** - * @author sushilma - * @since January 10, 2018 - */ -@RunWith(MockitoJUnitRunner.class) -class DoCreateVFCNetworkServiceInstanceTest { +class DoCreateVFCNetworkServiceInstanceTest extends MsoGroovyTest { + + @Spy + DoCreateVFCNetworkServiceInstance doCreateVFCNetworkServiceInstance - @Rule - public WireMockRule wireMockRule = new WireMockRule(28090) @Before public void init() throws IOException { - MockitoAnnotations.initMocks(this); + super.init("CreateVFCNSResource") + MockitoAnnotations.initMocks(this) + when(doCreateVFCNetworkServiceInstance.getAAIClient()).thenReturn(client) } @Captor @@ -62,45 +59,29 @@ class DoCreateVFCNetworkServiceInstanceTest { @Test public void testAddNSRelationship(){ - ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") when(mockExecution.getVariable("nsInstanceId")).thenReturn("NS12345") when(mockExecution.getVariable("globalSubscriberId")).thenReturn("MSO_dev") when(mockExecution.getVariable("serviceType")).thenReturn("MSO-dev-service-type") when(mockExecution.getVariable("serviceId")).thenReturn("SER12345") - when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") - when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - MockPutServiceInstance("MSO_dev", "MSO-dev-service-type", "SER12345"); - DoCreateVFCNetworkServiceInstance DoCreateVFCNetworkServiceInstance = new DoCreateVFCNetworkServiceInstance() - DoCreateVFCNetworkServiceInstance.addNSRelationship(mockExecution); - verify(mockExecution, times(1)).getVariable("aai.endpoint") - verify(mockExecution, times(1)).getVariable("mso.msoKey") - verify(mockExecution, times(1)).getVariable("aai.auth") + doNothing().when(client).connect(isA(AAIResourceUri.class),isA(AAIResourceUri.class)) + doCreateVFCNetworkServiceInstance.addNSRelationship(mockExecution); + AAIResourceUri nsUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,"MSO_dev","MSO-dev-service-type","NS12345") + AAIResourceUri relatedServiceUri = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,"MSO_dev","MSO-dev-service-type","SER12345") + Mockito.verify(client).connect(nsUri,relatedServiceUri) } - private ExecutionEntity setupMock() { - ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) - when(mockProcessDefinition.getKey()).thenReturn("DoCreateVFCNetworkServiceInstance") - RepositoryService mockRepositoryService = mock(RepositoryService.class) - when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition) - when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateVFCNetworkServiceInstance") - when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100") - ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class) - when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService) - ExecutionEntity mockExecution = mock(ExecutionEntity.class) - when(mockExecution.getId()).thenReturn("100") - when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateVFCNetworkServiceInstance") - when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateVFCNetworkServiceInstance") - when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices) - when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition) - return mockExecution + @Test + void testaddNSRelationshipError(){ + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("globalSubscriberId1") + when(mockExecution.getVariable("serviceType")).thenReturn("serviceType") + when(mockExecution.getVariable("serviceInstanceId")).thenReturn("serviceInstanceId") + when(mockExecution.getVariable("nsInstanceId")).thenReturn("nsInstanceId") + doThrow(new NotFoundException("Error creating relationship")).when(client).connect(isA(AAIResourceUri.class),isA(AAIResourceUri.class)) + try { + doCreateVFCNetworkServiceInstance.addNSRelationship(mockExecution) + } catch (BpmnError ex) { + assertEquals(ex.getErrorCode(),"MSOWorkflowException") + } } - public static void MockPutServiceInstance(String globalCustId, String subscriptionType, String serviceInstanceId) { - stubFor(put(urlMatching("/aai/v[0-9]+/business/customers/customer/" + globalCustId + "/service-subscriptions/service-subscription/" + subscriptionType + "/service-instances/service-instance/" + serviceInstanceId+"/relationship-list/relationship")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml").withBody("") - )); - } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleRollbackTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleRollbackTest.groovy index c5c6187648..e7ebe23e75 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleRollbackTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleRollbackTest.groovy @@ -34,20 +34,34 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.NetworkPolicies +import org.onap.aai.domain.yang.NetworkPolicy +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.common.scripts.utils.XmlComparator import org.onap.so.bpmn.core.RollbackData import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException + +import javax.ws.rs.NotFoundException import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -class DoCreateVfModuleRollbackTest { +class DoCreateVfModuleRollbackTest extends MsoGroovyTest{ def prefix = "DCVFMR_" + @Spy + DoCreateVfModuleRollback doCreateVfModuleRollback + @Rule public WireMockRule wireMockRule = new WireMockRule(28090) @@ -56,7 +70,9 @@ class DoCreateVfModuleRollbackTest { @Before void init() throws IOException { - MockitoAnnotations.initMocks(this); + super.init("CreateVFCNSResource") + MockitoAnnotations.initMocks(this) + when(doCreateVfModuleRollback.getAAIClient()).thenReturn(client) } @Test @@ -149,23 +165,90 @@ class DoCreateVfModuleRollbackTest { when(mockExecution.getVariable("prefix")).thenReturn(prefix) when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("DCVFM_cloudSiteId")).thenReturn("12345") - when(mockExecution.getVariable("mso.workflow.DoCreateVfModuleRollback.aai.network-policy.uri")).thenReturn("/aai/v8/network/network-policies/network-policy") - when(mockExecution.getVariable("mso.workflow.custom.DoCreateVfModuleRollback.aai.version")).thenReturn("8") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") when(mockExecution.getVariable("rollbackData")).thenReturn(new RollbackData()) List fqdnList = new ArrayList() fqdnList.add("test") when(mockExecution.getVariable(prefix + "createdNetworkPolicyFqdnList")).thenReturn(fqdnList) - mockData() - DoCreateVfModuleRollback obj = new DoCreateVfModuleRollback() - obj.deleteNetworkPoliciesFromAAI(mockExecution) + + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + NetworkPolicies networkPolicies = new NetworkPolicies(); + NetworkPolicy networkPolicy = new NetworkPolicy(); + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + + AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicy.getNetworkPolicyId()) + doNothing().when(client).delete(delUri) + + doCreateVfModuleRollback.deleteNetworkPoliciesFromAAI(mockExecution) Mockito.verify(mockExecution).setVariable("prefix", prefix) Mockito.verify(mockExecution).setVariable(prefix + "networkPolicyFqdnCount", 1) Mockito.verify(mockExecution).setVariable(prefix + "aaiQueryNetworkPolicyByFqdnReturnCode", 200) } + @Test + void testDeleteNetworkPoliciesFromAAINotFound() { + ExecutionEntity mockExecution = setupMock() + when(mockExecution.getVariable("prefix")).thenReturn(prefix) + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("DCVFM_cloudSiteId")).thenReturn("12345") + when(mockExecution.getVariable("rollbackData")).thenReturn(new RollbackData()) + List fqdnList = new ArrayList() + fqdnList.add("test") + when(mockExecution.getVariable(prefix + "createdNetworkPolicyFqdnList")).thenReturn(fqdnList) + + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + NetworkPolicies networkPolicies = new NetworkPolicies(); + NetworkPolicy networkPolicy = new NetworkPolicy(); + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + + AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicy.getNetworkPolicyId()) + doThrow(new NotFoundException("Not Found!")).when(client).delete(delUri) + + doCreateVfModuleRollback.deleteNetworkPoliciesFromAAI(mockExecution) + + Mockito.verify(mockExecution).setVariable("prefix", prefix) + Mockito.verify(mockExecution).setVariable(prefix + "networkPolicyFqdnCount", 1) + Mockito.verify(mockExecution).setVariable(prefix + "aaiDeleteNetworkPolicyReturnCode", 404) + } + + @Test + void testDeleteNetworkPoliciesFromAAIError() { + ExecutionEntity mockExecution = setupMock() + when(mockExecution.getVariable("prefix")).thenReturn(prefix) + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("DCVFM_cloudSiteId")).thenReturn("12345") + when(mockExecution.getVariable("rollbackData")).thenReturn(new RollbackData()) + List fqdnList = new ArrayList() + fqdnList.add("test") + when(mockExecution.getVariable(prefix + "createdNetworkPolicyFqdnList")).thenReturn(fqdnList) + + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + NetworkPolicies networkPolicies = new NetworkPolicies(); + NetworkPolicy networkPolicy = new NetworkPolicy(); + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + + AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicy.getNetworkPolicyId()) + doThrow(new GraphInventoryUriComputationException("Error!")).when(client).delete(delUri) + try { + doCreateVfModuleRollback.deleteNetworkPoliciesFromAAI(mockExecution) + } catch (Exception ex) { + println " Test End - Handle catch-throw BpmnError()! " + } + Mockito.verify(mockExecution, times(4)).setVariable(captor.capture(), captor.capture()) + WorkflowException workflowException = captor.getValue() + Assert.assertEquals(2500, workflowException.getErrorCode()) + Assert.assertEquals("Unable to delete network-policy to AAI deleteNetworkPoliciesFromAAI - Error!", workflowException.getErrorMessage()) + } + private static ExecutionEntity setupMock() { ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollbackTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollbackTest.groovy new file mode 100644 index 0000000000..5c68cc7fc1 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollbackTest.groovy @@ -0,0 +1,63 @@ +/*- + * ============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.bpmn.infrastructure.scripts; + +import org.junit.Before; +import org.junit.Test +import org.onap.aai.domain.yang.VfModule +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.aai.domain.yang.VolumeGroups; +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.constants.Defaults + +import static org.mockito.Mockito.spy +import static org.mockito.Mockito.when; + +public class DoCreateVfModuleVolumeRollbackTest extends MsoGroovyTest { + + private DoCreateVfModuleVolumeRollback doCreateVfModuleVolumeRollback; + @Before + public void init(){ + super.init("DoCreateVfModuleVolumeRollback"); + doCreateVfModuleVolumeRollback = spy(DoCreateVfModuleVolumeRollback.class); + when(doCreateVfModuleVolumeRollback.getAAIClient()).thenReturn(client) + } + + @Test + void callRESTDeleteAAIVolumeGroupTest(){ + String volumeGroupName = "volumeGroupName" + String cloudRegionId = "cloudRegionId" + when(mockExecution.getVariable("DCVFMODVOLRBK_volumeGroupName")).thenReturn(volumeGroupName) + when(mockExecution.getVariable("DCVFMODVOLRBK_lcpCloudRegionId")).thenReturn(cloudRegionId) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), cloudRegionId).queryParam("volume-group-name", volumeGroupName) + VolumeGroup volumeGroup = new VolumeGroup(); + volumeGroup.setVolumeGroupId("volumeGroupId") + VolumeGroups groups = new VolumeGroups(); + groups.getVolumeGroup().add(volumeGroup) + when(client.get(VolumeGroups.class,uri)).thenReturn(Optional.of(groups)) + + doCreateVfModuleVolumeRollback.callRESTDeleteAAIVolumeGroup(mockExecution,null) + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy index 91e7086bd3..26d3ab8d9d 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2Test.groovy @@ -20,26 +20,42 @@ package org.onap.so.bpmn.infrastructure.scripts +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.junit.Before +import org.junit.Rule import org.junit.Test +import org.junit.rules.ExpectedException import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.GenericVnf +import org.onap.aai.domain.yang.Volume +import org.onap.aai.domain.yang.VolumeGroup import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.bpmn.core.RollbackData +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.constants.Defaults import static org.junit.Assert.assertEquals import static org.junit.Assert.assertNotNull +import static org.mockito.Matchers.anyObject +import static org.mockito.Mockito.spy import static org.mockito.Mockito.times +import static org.mockito.Mockito.verify import static org.mockito.Mockito.when -@RunWith(MockitoJUnitRunner.class) class DoCreateVfModuleVolumeV2Test extends MsoGroovyTest { + private DoCreateVfModuleVolumeV2 doCreateVfModuleVolumeV2; + @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) @@ -86,6 +102,9 @@ class DoCreateVfModuleVolumeV2Test extends MsoGroovyTest { @Before public void init() { + super.init("DoCreateVfModuleVolumeV2") + doCreateVfModuleVolumeV2 = spy(DoCreateVfModuleVolumeV2.class) + when(doCreateVfModuleVolumeV2.getAAIClient()).thenReturn(client) MockitoAnnotations.initMocks(this) } @@ -117,6 +136,7 @@ class DoCreateVfModuleVolumeV2Test extends MsoGroovyTest { ExecutionEntity mockExecution = setupMock('DoCreateVfModuleVolumeV2') when(mockExecution.getVariable("prefix")).thenReturn('DCVFMODVOLV2_') + when(mockExecution.getVariable("DCVFMODVOLV2_AAIQueryGenericVfnResponse")).thenReturn(new GenericVnf()) when(mockExecution.getVariable("serviceInstanceId")).thenReturn('') when(mockExecution.getVariable("vnfId")).thenReturn('test-vnf-id') when(mockExecution.getVariable("mso-request-id")).thenReturn('1234') @@ -132,4 +152,126 @@ class DoCreateVfModuleVolumeV2Test extends MsoGroovyTest { String DCVFMODVOLV2_createVnfARequest = captor.getValue(); assertNotNull(DCVFMODVOLV2_createVnfARequest) } + + @Test + void testcallRESTQueryAAIVolGrpName(){ + String volumeGroupName = "volumeGroupName" + String lcpCloudRegionId = "lcpCloudRegionId" + when(mockExecution.getVariable(volumeGroupName)).thenReturn(volumeGroupName) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), lcpCloudRegionId).queryParam("volume-group-name", volumeGroupName) + VolumeGroup volumeGroup = new VolumeGroup() + volumeGroup.setVolumeGroupId("volumeGroupId") + when(client.get(VolumeGroup.class,uri)).thenReturn(Optional.of(volumeGroup)) + doCreateVfModuleVolumeV2.callRESTQueryAAIVolGrpName(mockExecution,null) + verify(mockExecution).setVariable("DCVFMODVOLV2_AaiReturnCode",200) + } + + @Test + void testcallRESTQueryAAIVolGrpName_NoData(){ + String volumeGroupName = "volumeGroupName" + String lcpCloudRegionId = "lcpCloudRegionId" + when(mockExecution.getVariable(volumeGroupName)).thenReturn(volumeGroupName) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), lcpCloudRegionId).queryParam("volume-group-name", volumeGroupName) + when(client.get(VolumeGroup.class,uri)).thenReturn(Optional.empty()) + thrown.expect(BpmnError.class) + doCreateVfModuleVolumeV2.callRESTQueryAAIVolGrpName(mockExecution,null) + } + + @Test + void testcallRESTUpdateCreatedVolGrpName(){ + String queriedVolumeGroupId = "queriedVolumeGroupId" + String modelCustomizationId = "modelCustomizationId" + String lcpCloudRegionId = "lcpCloudRegionId" + when(mockExecution.getVariable(queriedVolumeGroupId)).thenReturn(queriedVolumeGroupId) + when(mockExecution.getVariable(modelCustomizationId)).thenReturn(modelCustomizationId) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + when(mockExecution.getVariable("DCVFMODVOLV2_createVnfAResponse")).thenReturn("<createVnfAResponse><volumeGroupStackId>volumeGroupStackId</volumeGroupStackId></createVnfAResponse>") + doCreateVfModuleVolumeV2.callRESTUpdateCreatedVolGrpName(mockExecution,null) + verify(mockExecution).setVariable("DCVFMODVOLV2_heatStackId","volumeGroupStackId") + } + + @Test + void testcallRESTUpdateCreatedVolGrpNameException(){ + String queriedVolumeGroupId = "queriedVolumeGroupId" + String modelCustomizationId = "modelCustomizationId" + String lcpCloudRegionId = "lcpCloudRegionId" + when(mockExecution.getVariable(queriedVolumeGroupId)).thenReturn(queriedVolumeGroupId) + when(mockExecution.getVariable(modelCustomizationId)).thenReturn(modelCustomizationId) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + when(mockExecution.getVariable("DCVFMODVOLV2_createVnfAResponse")).thenReturn("<createVnfAResponse><volumeGroupStackId>volumeGroupStackId</volumeGroupStackId></createVnfAResponse>") + when(client.update(anyObject(),anyObject())).thenThrow(Exception.class) + thrown.expect(BpmnError.class) + doCreateVfModuleVolumeV2.callRESTUpdateCreatedVolGrpName(mockExecution,null) + verify(mockExecution).setVariable("DCVFMODVOLV2_heatStackId","volumeGroupStackId") + } + + @Test + void testcallRESTQueryAAIGenericVnf(){ + String vnfId = "vnfId" + when(mockExecution.getVariable(vnfId)).thenReturn(vnfId) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + GenericVnf genericVnf = new GenericVnf() + genericVnf.setVnfId(vnfId) + when(client.get(GenericVnf.class,uri)).thenReturn(Optional.of(genericVnf)) + doCreateVfModuleVolumeV2.callRESTQueryAAIGenericVnf(mockExecution,null) + verify(mockExecution).setVariable("DCVFMODVOLV2_AAIQueryGenericVfnResponse",genericVnf) + } + + @Test + void testcallRESTQueryAAIGenericVnf_NotFound(){ + String vnfId = "vnfId" + when(mockExecution.getVariable(vnfId)).thenReturn(vnfId) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + when(client.get(GenericVnf.class,uri)).thenReturn(Optional.empty()) + thrown.expect(BpmnError.class) + doCreateVfModuleVolumeV2.callRESTQueryAAIGenericVnf(mockExecution,null) + } + + @Test + void testcallRESTCreateAAIVolGrpName(){ + String vnfId = "vnfId" + String volumeGroupId = "volumeGroupId" + String volumeGroupName = "volumeGroupName" + String modelCustomizationId = "modelCustomizationId" + String vnfType= "vnfType" + String tenantId = "tenantId" + String lcpCloudRegionId= "lcpCloudRegionId" + String cloudOwner = "cloudOwner" + + when(mockExecution.getVariable(vnfId)).thenReturn(vnfId) + when(mockExecution.getVariable(volumeGroupId)).thenReturn(volumeGroupId) + when(mockExecution.getVariable(volumeGroupName)).thenReturn(volumeGroupName) + when(mockExecution.getVariable(modelCustomizationId)).thenReturn(modelCustomizationId) + when(mockExecution.getVariable(vnfType)).thenReturn(vnfType) + when(mockExecution.getVariable(tenantId)).thenReturn(tenantId) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + when(mockExecution.getVariable(cloudOwner)).thenReturn(cloudOwner) + when(mockExecution.getVariable("rollbackData")).thenReturn(new RollbackData()) + doCreateVfModuleVolumeV2.callRESTCreateAAIVolGrpName(mockExecution,null) + } + + @Test + void testcallRESTCreateAAIVolGrpNameException(){ + String vnfId = "vnfId" + String volumeGroupId = "volumeGroupId" + String volumeGroupName = "volumeGroupName" + String modelCustomizationId = "modelCustomizationId" + String vnfType= "vnfType" + String tenantId = "tenantId" + String lcpCloudRegionId= "lcpCloudRegionId" + String cloudOwner = "cloudOwner" + + when(mockExecution.getVariable(vnfId)).thenReturn(vnfId) + when(mockExecution.getVariable(volumeGroupId)).thenReturn(volumeGroupId) + when(mockExecution.getVariable(volumeGroupName)).thenReturn(volumeGroupName) + when(mockExecution.getVariable(modelCustomizationId)).thenReturn(modelCustomizationId) + when(mockExecution.getVariable(vnfType)).thenReturn(vnfType) + when(mockExecution.getVariable(tenantId)).thenReturn(tenantId) + when(mockExecution.getVariable(lcpCloudRegionId)).thenReturn(lcpCloudRegionId) + when(mockExecution.getVariable(cloudOwner)).thenReturn(cloudOwner) + thrown.expect(BpmnError.class) + doCreateVfModuleVolumeV2.callRESTCreateAAIVolGrpName(mockExecution,null) + } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2Test.groovy new file mode 100644 index 0000000000..6b3674d908 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2Test.groovy @@ -0,0 +1,62 @@ +/*- + * ============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.bpmn.infrastructure.scripts + +import org.junit.Before +import org.junit.Test +import org.mockito.Mockito +import org.mockito.Spy +import org.onap.aai.domain.yang.AllottedResource +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import javax.ws.rs.core.UriBuilder +import static org.mockito.Mockito.times +import static org.mockito.Mockito.when + +class DoCustomDeleteE2EServiceInstanceV2Test extends MsoGroovyTest { + + @Spy + DoCustomDeleteE2EServiceInstanceV2 doCustomDeleteE2EServiceInstanceV2 + + @Before + void init(){ + super.init("DoCustomDeleteE2EServiceInstanceV2") + Mockito.when(doCustomDeleteE2EServiceInstanceV2.getAAIClient()).thenReturn(client) + } + + @Test + void testPrepareServiceDeleteResource(){ + when(mockExecution.getVariable("serviceInstance")).thenReturn(FileUtil.readResourceFile("__files/AAI/ServiceInstanceWithAR.json")) + def relink = "/aai/v11/business/customers/customer/testCustIdInfra/service-subscriptions/service-subscription/HNPORTAL/service-instances/service-instance/testServiceInstanceIdPortalPri/allotted-resources/allotted-resource/testAllottedResourceIdPortalPri" + AAIResourceUri uri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.ALLOTTED_RESOURCE, UriBuilder.fromPath(relink).build()) + AllottedResource ar = new AllottedResource(); + ar.setId("ar1") + ar.setType("ar") + ar.setRole("ar") + ar.setResourceVersion("1234") + when(client.get(AllottedResource.class,uri)).thenReturn(Optional.of(ar)) + doCustomDeleteE2EServiceInstanceV2.prepareServiceDeleteResource(mockExecution) + Mockito.verify(client, times(1)).get(AllottedResource.class,uri) + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy index 7f55eb3dcb..f6efe1d7d1 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceTest.groovy @@ -20,35 +20,39 @@ package org.onap.so.bpmn.infrastructure.scripts - import static org.mockito.Mockito.* - -import static org.onap.so.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapter; -import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetNetworkByIdWithDepth; import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetNetworkCloudRegion; import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetNetworkCloudRegion_404; +import static org.onap.so.bpmn.mock.StubResponseNetworkAdapter.MockNetworkAdapter; + +import org.apache.commons.lang3.* import org.camunda.bpm.engine.ProcessEngineServices import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.delegate.DelegateExecution import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution import org.junit.Before import org.junit.Ignore import org.junit.Rule import org.junit.Test -import org.junit.runner.RunWith import org.mockito.MockitoAnnotations -import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.L3Network +import org.onap.aai.domain.yang.Relationship +import org.onap.aai.domain.yang.RelationshipList +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.common.scripts.MsoUtils import org.onap.so.bpmn.core.WorkflowException +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.entities.uri.Depth +import org.onap.so.constants.Defaults import com.github.tomakehurst.wiremock.client.WireMock import com.github.tomakehurst.wiremock.junit.WireMockRule -import org.apache.commons.lang3.* -@RunWith(MockitoJUnitRunner.class) -class DoDeleteNetworkInstanceTest { +class DoDeleteNetworkInstanceTest extends MsoGroovyTest{ @Rule public WireMockRule wireMockRule = new WireMockRule(8090); @@ -1117,11 +1121,11 @@ String sdncAdapterWorkflowFormattedResponse_404 = @Before public void init() { + super.init("DoDeleteNetworkInstance") MockitoAnnotations.initMocks(this) } @Test - //@Ignore public void preProcessRequest_Json() { println "************ preProcessRequest_Payload ************* " @@ -1258,7 +1262,6 @@ String sdncAdapterWorkflowFormattedResponse_404 = verify(mockExecution).setVariable(Prefix + "networkInputs", "") verify(mockExecution).setVariable(Prefix + "tenantId", "") - verify(mockExecution).setVariable(Prefix + "queryAAIRequest","") verify(mockExecution).setVariable(Prefix + "queryAAIResponse", "") verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "") verify(mockExecution).setVariable(Prefix + "isAAIGood", false) @@ -1583,13 +1586,10 @@ String sdncAdapterWorkflowFormattedResponse_404 = @Test - //@Ignore - public void callRESTQueryAAI_200() { - println "************ callRESTQueryAAI ************* " + public void callRESTQueryAAI_VfRelationshipExist() { - WireMock.reset(); - MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all"); + println "************ callRESTQueryAAI ************* " ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest) @@ -1602,89 +1602,113 @@ String sdncAdapterWorkflowFormattedResponse_404 = when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/') when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - - DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance() - DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution) + String networkId = "bdc5efe8-404a-409b-85f6-0dcc9eebae30" + DoDeleteNetworkInstance doDeleteNetworkInstance = spy(DoDeleteNetworkInstance.class) + when(doDeleteNetworkInstance.getAAIClient()).thenReturn(client) + L3Network l3Network = getL3Network() + Relationship relationship = new Relationship(); + relationship.setRelatedTo("vf-module") + l3Network.getRelationshipList().getRelationship().add(relationship) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId).depth(Depth.ALL) + when(client.get(L3Network.class,uri)).thenReturn(Optional.of(l3Network)) + + doDeleteNetworkInstance.callRESTQueryAAI(mockExecution) verify(mockExecution).setVariable("prefix", Prefix) - verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=all") - verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200") + verify(mockExecution).setVariable(Prefix + "aaiReturnCode", 200) //verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponse) verify(mockExecution).setVariable(Prefix + "isAAIGood", true) - verify(mockExecution).setVariable(Prefix + "isVfRelationshipExist", false) + verify(mockExecution).setVariable(Prefix + "isVfRelationshipExist", true) } @Test //@Ignore - public void callRESTQueryAAI_withRelationship_200() { + public void callRESTQueryAAI_200() { println "************ callRESTQueryAAI ************* " - - WireMock.reset(); - MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_withRelationship_Success.xml", "all"); - ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest) when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6") when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090") when(mockExecution.getVariable("mso.workflow.default.aai.network.l3-network.uri")).thenReturn("") - // old: when(mockExecution.getVariable("mso.workflow.DoDeleteNetworkInstance.aai.network.l3-network.uri")).thenReturn("/aai/v8/network/l3-networks/l3-network") - when(mockExecution.getVariable("mso.workflow.DoDeleteNetworkInstance.aai.l3-network.uri")).thenReturn("/aai/v9/network/l3-networks/l3-network") + when(mockExecution.getVariable("mso.workflow.doDeleteNetworkInstance.aai.l3-network.uri")).thenReturn("/aai/v9/network/l3-networks/l3-network") when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/') when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - - DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance() - DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution) + when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn(null) + String networkId = "bdc5efe8-404a-409b-85f6-0dcc9eebae30" + DoDeleteNetworkInstance doDeleteNetworkInstance = spy(DoDeleteNetworkInstance.class) + when(doDeleteNetworkInstance.getAAIClient()).thenReturn(client) + L3Network l3Network = getL3Network() + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId).depth(Depth.ALL) + when(client.get(L3Network.class,uri)).thenReturn(Optional.of(l3Network)) + doDeleteNetworkInstance.callRESTQueryAAI(mockExecution) verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix) - verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+"?depth=all") - verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200") - //verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponseWithRelationship) + verify(mockExecution).setVariable(Prefix + "aaiReturnCode", 200) verify(mockExecution).setVariable(Prefix + "isAAIGood", true) - verify(mockExecution).setVariable(Prefix + "isVfRelationshipExist", true) - + verify(mockExecution).setVariable(Prefix + "queryAAIResponse", l3Network) } - @Test - //@Ignore - public void callRESTQueryAAI_200_DefaultUri() { - - println "************ callRESTQueryAAI ************* " - - WireMock.reset(); - MockGetNetworkByIdWithDepth("bdc5efe8-404a-409b-85f6-0dcc9eebae30", "DeleteNetworkV2/deleteNetworkAAIResponse_Success.xml", "all"); - - ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest) - when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090") - // old: when(mockExecution.getVariable("mso.workflow.default.aai.network.l3-network.uri")).thenReturn("/aai/v8/network/l3-networks/l3-network") - when(mockExecution.getVariable("mso.workflow.global.default.aai.version")).thenReturn("8") - when(mockExecution.getVariable("mso.workflow.default.aai.v8.l3-network.uri")).thenReturn("/aai/v9/network/l3-networks/l3-network") - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/') - when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") - when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - - DoDeleteNetworkInstance DoDeleteNetworkInstance = new DoDeleteNetworkInstance() - DoDeleteNetworkInstance.callRESTQueryAAI(mockExecution) - verify(mockExecution).setVariable("prefix", Prefix) - verify(mockExecution).setVariable(Prefix + "queryAAIRequest", "http://localhost:8090/aai/v9/network/l3-networks/l3-network/bdc5efe8-404a-409b-85f6-0dcc9eebae30"+ "?depth=all") - - verify(mockExecution).setVariable(Prefix + "aaiReturnCode", "200") - //verify(mockExecution).setVariable(Prefix + "queryAAIResponse", aaiResponse) - verify(mockExecution).setVariable(Prefix + "isAAIGood", true) + @Test + //@Ignore + public void callRESTQueryAAI_CloudRegionRelation() { + + println "************ callRESTQueryAAI ************* " + ExecutionEntity mockExecution = setupMock() + when(mockExecution.getVariable(Prefix + "networkInputs")).thenReturn(expectedNetworkRequest) + when(mockExecution.getVariable(Prefix + "messageId")).thenReturn("e8ebf6a0-f8ea-4dc0-8b99-fe98a87722d6") + when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:8090") + when(mockExecution.getVariable("mso.workflow.default.aai.network.l3-network.uri")).thenReturn("") + when(mockExecution.getVariable("mso.workflow.doDeleteNetworkInstance.aai.l3-network.uri")).thenReturn("/aai/v9/network/l3-networks/l3-network") + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn('http://org.openecomp.aai.inventory/') + when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") + when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") + when(mockExecution.getVariable(Prefix + "lcpCloudRegion")).thenReturn(null) + String networkId = "bdc5efe8-404a-409b-85f6-0dcc9eebae30" + DoDeleteNetworkInstance doDeleteNetworkInstance = spy(DoDeleteNetworkInstance.class) + when(doDeleteNetworkInstance.getAAIClient()).thenReturn(client) + L3Network l3Network = new L3Network(); + RelationshipList relationshipList = new RelationshipList() + Relationship relationship = new Relationship(); + relationship.setRelatedTo("cloud-region") + relationship.setRelatedLink("http://localhost:18080/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER.toString() + "/lcpCloudRegion/") + relationshipList.getRelationship().add(relationship) + l3Network.setRelationshipList(relationshipList) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId).depth(Depth.ALL) + when(client.get(L3Network.class,uri)).thenReturn(Optional.of(l3Network)) + doDeleteNetworkInstance.callRESTQueryAAI(mockExecution) + + verify(mockExecution, atLeast(1)).setVariable("prefix", Prefix) + + verify(mockExecution).setVariable(Prefix + "aaiReturnCode", 200) + verify(mockExecution).setVariable(Prefix + "isAAIGood", true) + verify(mockExecution).setVariable(Prefix + "queryAAIResponse", l3Network) + } + + private L3Network getL3Network() { + L3Network l3Network = new L3Network(); + RelationshipList relationshipList = new RelationshipList() + Relationship relationship = new Relationship(); + relationship.setRelatedTo("cloud-region") + relationship.setRelatedLink("http://localhost:18080/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER.toString() + "/lcpCloudRegion/") + relationshipList.getRelationship().add(relationship) + relationship.setRelatedTo("tenant") + relationship.setRelatedLink("http://localhost:18080/cloud-regions/cloud-region/" + Defaults.CLOUD_OWNER.toString() + "/lcpCloudRegion/tenants/tenant/tenantId/") + relationshipList.getRelationship().add(relationship) + + l3Network.setRelationshipList(relationshipList) + l3Network + } - } @Test - //@Ignore public void callRESTQueryAAICloudRegion30_200() { println "************ callRESTQueryAAICloudRegion30_200 ************* " diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstanceTest.groovy new file mode 100644 index 0000000000..764ceb256a --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstanceTest.groovy @@ -0,0 +1,73 @@ +/*- + * ============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.bpmn.infrastructure.scripts + +import org.camunda.bpm.engine.delegate.BpmnError +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.rules.ExpectedException +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.aai.domain.yang.VolumeGroups +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.constants.Defaults + +import static org.mockito.Matchers.isA +import static org.mockito.Mockito.doThrow +import static org.mockito.Mockito.spy +import static org.mockito.Mockito.when + +public class DoDeleteVFCNetworkServiceInstanceTest extends MsoGroovyTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private DoDeleteVFCNetworkServiceInstance doDeleteVFCNetworkServiceInstance; + @Before + public void init(){ + super.init("DoDeleteVFCNetworkServiceInstance"); + doDeleteVFCNetworkServiceInstance = spy(DoDeleteVFCNetworkServiceInstance.class); + when(doDeleteVFCNetworkServiceInstance.getAAIClient()).thenReturn(client) + } + + @Test + void callRESTDeleteAAIVolumeGroupTest(){ + String resourceInstanceId = "resourceInstanceId" + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("resourceInstanceId")).thenReturn(resourceInstanceId) + doDeleteVFCNetworkServiceInstance.deleteNSRelationship(mockExecution) + } + + @Test + void callRESTDeleteAAIVolumeGroupTestException(){ + String resourceInstanceId = "resourceInstanceId" + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("resourceInstanceId")).thenReturn(resourceInstanceId) + doThrow(Exception.class).when(client).disconnect(isA(AAIResourceUri.class),isA(AAIResourceUri.class)) + thrown.expect(BpmnError.class) + doDeleteVFCNetworkServiceInstance.deleteNSRelationship(mockExecution) + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnfTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnfTest.groovy index 447463a079..cfdeee2c32 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnfTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnfTest.groovy @@ -35,14 +35,24 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.GenericVnf +import org.onap.aai.domain.yang.NetworkPolicies +import org.onap.aai.domain.yang.NetworkPolicy +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.core.WorkflowException +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.entities.uri.Depth import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -class DoDeleteVfModuleFromVnfTest { +class DoDeleteVfModuleFromVnfTest extends MsoGroovyTest { @Rule public WireMockRule wireMockRule = new WireMockRule(28090); @@ -50,9 +60,14 @@ class DoDeleteVfModuleFromVnfTest { @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + @Spy + DoDeleteVfModuleFromVnf deleteVfModuleFromVnf + @Before public void init() throws IOException { - MockitoAnnotations.initMocks(this); + super.init("DoDeleteVfModuleFromVnf") + MockitoAnnotations.initMocks(this) + when(deleteVfModuleFromVnf.getAAIClient()).thenReturn(client) } @Test @@ -89,40 +104,64 @@ class DoDeleteVfModuleFromVnfTest { @Test void testDeleteNetworkPoliciesFromAAI() { - ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") - when(mockExecution.getVariable("mso.workflow.DoDeleteVfModuleFromVnf.aai.network-policy.uri")).thenReturn("/aai/v8/network/network-policies/network-policy") - when(mockExecution.getVariable("mso.workflow.custom.DoDeleteVfModuleFromVnf.aai.version")).thenReturn("8") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") + List fqdnList = new ArrayList() fqdnList.add("test") when(mockExecution.getVariable("DDVFMV_contrailNetworkPolicyFqdnList")).thenReturn(fqdnList) - mockData() - DoDeleteVfModuleFromVnf obj = new DoDeleteVfModuleFromVnf() - obj.deleteNetworkPoliciesFromAAI(mockExecution) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + NetworkPolicies networkPolicies = new NetworkPolicies(); + NetworkPolicy networkPolicy = new NetworkPolicy(); + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + + AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, networkPolicy.getNetworkPolicyId()) + doNothing().when(client).delete(delUri) + deleteVfModuleFromVnf.deleteNetworkPoliciesFromAAI(mockExecution) Mockito.verify(mockExecution).setVariable("prefix", 'DDVFMV_') Mockito.verify(mockExecution).setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", 200) } + @Test + void testDeleteNetworkPoliciesFromAAINotFound() { + + List fqdnList = new ArrayList() + fqdnList.add("test") + when(mockExecution.getVariable("DDVFMV_contrailNetworkPolicyFqdnList")).thenReturn(fqdnList) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.empty()) + deleteVfModuleFromVnf.deleteNetworkPoliciesFromAAI(mockExecution) + + Mockito.verify(mockExecution).setVariable("prefix", 'DDVFMV_') + Mockito.verify(mockExecution).setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", 404) + } + @Test void testQueryAAIForVfModule() { ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("vnfId")).thenReturn("12345") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("mso.workflow.global.default.aai.namespace") - when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8") - when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") - when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - - mockData() - DoDeleteVfModuleFromVnf obj = new DoDeleteVfModuleFromVnf() - obj.queryAAIForVfModule(mockExecution) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "12345").depth(Depth.ONE) + GenericVnf genericVnf = new GenericVnf() + genericVnf.setVnfId("test1") + when(client.get(GenericVnf.class, uri)).thenReturn(Optional.of(genericVnf)) + deleteVfModuleFromVnf.queryAAIForVfModule(mockExecution) Mockito.verify(mockExecution, atLeastOnce()).setVariable("DDVMFV_getVnfResponseCode", 200) + Mockito.verify(mockExecution, atLeastOnce()).setVariable("DDVMFV_getVnfResponse", genericVnf) + } + + @Test + void testQueryAAIForVfModuleNotFound() { + ExecutionEntity mockExecution = setupMock() + when(mockExecution.getVariable("vnfId")).thenReturn("12345") + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "12345").depth(Depth.ONE) + when(client.get(GenericVnf.class, uri)).thenReturn(Optional.empty()) + deleteVfModuleFromVnf.queryAAIForVfModule(mockExecution) + Mockito.verify(mockExecution, atLeastOnce()).setVariable("DDVMFV_getVnfResponseCode", 404) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleTest.groovy index 3390b1a6f0..7776ab3fe6 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleTest.groovy @@ -27,6 +27,7 @@ import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Assert import org.junit.Before +import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -34,16 +35,31 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.NetworkPolicies +import org.onap.aai.domain.yang.NetworkPolicy +import org.onap.aai.domain.yang.VfModule +import org.onap.aai.domain.yang.VfModules +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.common.scripts.utils.XmlComparator import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectPlurals +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory + +import javax.ws.rs.NotFoundException import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -class DoDeleteVfModuleTest { +class DoDeleteVfModuleTest extends MsoGroovyTest{ + + @Spy + DoDeleteVfModule doDeleteVfModule @Rule public WireMockRule wireMockRule = new WireMockRule(28090); @@ -53,7 +69,9 @@ class DoDeleteVfModuleTest { @Before public void init() throws IOException { + super.init("DoDeleteVfModule") MockitoAnnotations.initMocks(this); + when(doDeleteVfModule.getAAIClient()).thenReturn(client) } @Test @@ -82,38 +100,49 @@ class DoDeleteVfModuleTest { @Test void testDeleteNetworkPoliciesFromAAI() { - ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") - when(mockExecution.getVariable("mso.workflow.DoDeleteVfModule.aai.network-policy.uri")).thenReturn("/aai/v8/network/network-policies/network-policy") - when(mockExecution.getVariable("mso.workflow.custom.DoDeleteVfModule.aai.version")).thenReturn("8") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") List fqdnList = new ArrayList() fqdnList.add("test") when(mockExecution.getVariable("DoDVfMod_contrailNetworkPolicyFqdnList")).thenReturn(fqdnList) - mockData() - DoDeleteVfModule obj = new DoDeleteVfModule() - obj.deleteNetworkPoliciesFromAAI(mockExecution) - + NetworkPolicies networkPolicies = new NetworkPolicies() + NetworkPolicy networkPolicy = new NetworkPolicy() + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + doDeleteVfModule.deleteNetworkPoliciesFromAAI(mockExecution) Mockito.verify(mockExecution).setVariable("DCVFM_aaiQueryNetworkPolicyByFqdnReturnCode", 200) } + @Test + void testDeleteNetworkPoliciesFromAAIError() { + List fqdnList = new ArrayList() + fqdnList.add("test") + when(mockExecution.getVariable("DoDVfMod_contrailNetworkPolicyFqdnList")).thenReturn(fqdnList) + NetworkPolicies networkPolicies = new NetworkPolicies() + NetworkPolicy networkPolicy = new NetworkPolicy() + networkPolicy.setNetworkPolicyId("NP1") + networkPolicies.getNetworkPolicy().add(networkPolicy) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.NETWORK_POLICY) + uri.queryParam("network-policy-fqdn", "test") + when(client.get(NetworkPolicies.class, uri)).thenReturn(Optional.of(networkPolicies)) + AAIResourceUri delUri = AAIUriFactory.createResourceUri(AAIObjectType.NETWORK_POLICY, "NP1") + doThrow(new NotFoundException(("Not Found !"))).when(client).delete(delUri) + doDeleteVfModule.deleteNetworkPoliciesFromAAI(mockExecution) + Mockito.verify(client).delete(delUri) + } @Test void testQueryAAIVfModuleForStatus() { - ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") - when(mockExecution.getVariable("DCVFM_vnfId")).thenReturn("12345") - when(mockExecution.getVariable("DCVFM_vfModuleName")).thenReturn("module-0") - when(mockExecution.getVariable("mso.workflow.DoDeleteVfModule.aai.generic-vnf.uri")).thenReturn("/aai/v9/network/generic-vnfs/generic-vnf") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") - - mockData() - DoCreateVfModule obj = new DoCreateVfModule() - obj.queryAAIVfModuleForStatus(mockExecution) - - Mockito.verify(mockExecution).setVariable("DCVFM_queryAAIVfModuleForStatusResponseCode", 200) + when(mockExecution.getVariable("vnfId")).thenReturn("12345") + when(mockExecution.getVariable("vfModuleId")).thenReturn("module-0") + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE,"12345","module-0") + VfModule vfModule = new VfModule() + vfModule.setOrchestrationStatus("Created") + when(client.get(VfModule.class, uri)).thenReturn(Optional.of(vfModule)) + doDeleteVfModule.queryAAIVfModuleForStatus(mockExecution) + Mockito.verify(mockExecution).setVariable("DoDVfMod_queryAAIVfModuleForStatusResponseCode", 200) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2Test.groovy index 730be14df0..94aec7a73f 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2Test.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2Test.groovy @@ -23,6 +23,7 @@ package org.onap.so.bpmn.infrastructure.scripts import com.github.tomakehurst.wiremock.junit.WireMockRule import org.camunda.bpm.engine.ProcessEngineServices import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Assert @@ -35,25 +36,41 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.common.scripts.utils.XmlComparator import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.AAIResultWrapper +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException + +import javax.ws.rs.NotFoundException import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -class DoDeleteVfModuleVolumeV2Test { +class DoDeleteVfModuleVolumeV2Test extends MsoGroovyTest{ @Rule public WireMockRule wireMockRule = new WireMockRule(28090); @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + @Spy + DoDeleteVfModuleVolumeV2 deleteVfModuleVolumeV2; + @Before public void init() throws IOException { + super.init("DoDeleteVfModuleVolumeV2") MockitoAnnotations.initMocks(this); + when(deleteVfModuleVolumeV2.getAAIClient()).thenReturn(client) + } @Test @@ -118,6 +135,118 @@ class DoDeleteVfModuleVolumeV2Test { XmlComparator.assertXMLEquals(str, captor.getValue(),"messageId","notificationUrl") } + @Test + void testCallRESTQueryAAIForVolumeGroup(){ + when(mockExecution.getVariable("tenantId")).thenReturn("Tenant123") + when(mockExecution.getVariable("volumeGroupId")).thenReturn("VolumeGroup123") + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroupWithTenant.json"); + when(client.get(VolumeGroup.class,resourceUri)).thenReturn(volumeGroup) + deleteVfModuleVolumeV2.callRESTQueryAAIForVolumeGroup(mockExecution,"true") + Mockito.verify(mockExecution).setVariable("DDVMV_queryAAIVolGrpResponse", volumeGroup.get()) + Mockito.verify(mockExecution).setVariable("DDVMV_volumeGroupHeatStackId", volumeGroup.get().getHeatStackId()) + } + + @Test + void testCallRESTQueryAAIForVolumeGroupNoTenant(){ + when(mockExecution.getVariable("tenantId")).thenReturn("Tenant123") + when(mockExecution.getVariable("volumeGroupId")).thenReturn("VolumeGroup123") + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroup.json"); + when(client.get(VolumeGroup.class,resourceUri)).thenReturn(volumeGroup) + try { + deleteVfModuleVolumeV2.callRESTQueryAAIForVolumeGroup(mockExecution, "true") + }catch(BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + @Test + void testCallRESTQueryAAIForVolumeGroupDifferentTenant(){ + when(mockExecution.getVariable("tenantId")).thenReturn("Tenant12345") + when(mockExecution.getVariable("volumeGroupId")).thenReturn("VolumeGroup123") + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroupWithTenant.json"); + when(client.get(VolumeGroup.class,resourceUri)).thenReturn(volumeGroup) + try { + deleteVfModuleVolumeV2.callRESTQueryAAIForVolumeGroup(mockExecution, "true") + }catch(BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + @Test + void testCallRESTQueryAAIForVolumeGroupNotFound(){ + when(mockExecution.getVariable("tenantId")).thenReturn("Tenant123") + when(mockExecution.getVariable("volumeGroupId")).thenReturn("VolumeGroup123") + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + when(client.get(VolumeGroup.class,resourceUri)).thenReturn(Optional.empty()) + try { + deleteVfModuleVolumeV2.callRESTQueryAAIForVolumeGroup(mockExecution, "true") + }catch(BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + @Test + void testCallRESTQueryAAIForVolumeGroupWithVfModule(){ + when(mockExecution.getVariable("tenantId")).thenReturn("Tenant123") + when(mockExecution.getVariable("volumeGroupId")).thenReturn("VolumeGroup123") + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroupWithVfModule.json"); + when(client.get(VolumeGroup.class,resourceUri)).thenReturn(volumeGroup) + try { + deleteVfModuleVolumeV2.callRESTQueryAAIForVolumeGroup(mockExecution, "true") + }catch(BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + @Test + void testCallRESTDeleteAAIVolumeGroup(){ + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroup.json"); + when(mockExecution.getVariable("DDVMV_queryAAIVolGrpResponse")).thenReturn(volumeGroup.get()) + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + doNothing().when(client).delete(resourceUri) + deleteVfModuleVolumeV2.callRESTDeleteAAIVolumeGroup(mockExecution,"true") + } + + @Test + void testCallRESTDeleteAAIVolumeGroupAaiError(){ + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroupWithVfModule.json"); + when(mockExecution.getVariable("DDVMV_queryAAIVolGrpResponse")).thenReturn(volumeGroup.get()) + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1",volumeGroup.get().getVolumeGroupId()) + doThrow(new GraphInventoryUriComputationException("Error")).when(client).delete(resourceUri) + try { + deleteVfModuleVolumeV2.callRESTDeleteAAIVolumeGroup(mockExecution, "true") + } catch (BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + @Test + void testCallRESTDeleteAAIVolumeGroupNotFound(){ + Optional<VolumeGroup> volumeGroup = getAAIObjectFromJson(VolumeGroup.class,"__files/aai/VolumeGroup.json"); + when(mockExecution.getVariable("DDVMV_queryAAIVolGrpResponse")).thenReturn(volumeGroup.get()) + when(mockExecution.getVariable("DDVMV_aicCloudRegion")).thenReturn("Region1") + AAIResourceUri resourceUri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP,CLOUD_OWNER, "Region1","VolumeGroup123") + doThrow(new NotFoundException("VolumeGroup Not found")).when(client).delete(resourceUri) + try { + deleteVfModuleVolumeV2.callRESTDeleteAAIVolumeGroup(mockExecution, "true") + } catch (BpmnError error) { + println " Test End - Handle catch-throw BpmnError()! " + } + } + + + private ExecutionEntity setupMock() { diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnfAndModulesTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnfAndModulesTest.groovy index 0b95ffc053..f98d454eb0 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnfAndModulesTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVnfAndModulesTest.groovy @@ -27,7 +27,6 @@ import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Assert import org.junit.Before -import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -35,14 +34,21 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.GenericVnf +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.core.WorkflowException - +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.client.graphinventory.entities.uri.Depth +import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -public class DoDeleteVnfAndModulesTest { +public class DoDeleteVnfAndModulesTest extends MsoGroovyTest{ @Rule public WireMockRule wireMockRule = new WireMockRule(28090); @@ -50,13 +56,18 @@ public class DoDeleteVnfAndModulesTest { @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + @Spy + DoDeleteVnfAndModules doDeleteVnfAndModules + String cloudConfiguration = "{ " + "\"lcpCloudRegionId\": \"mdt1\"," + "\"tenantId\": \"88a6ca3ee0394ade9403f075db23167e\"" + "}"; @Before public void init() throws IOException { + super.init("DoDeleteVnfAndModules") MockitoAnnotations.initMocks(this); + when(doDeleteVnfAndModules.getAAIClient()).thenReturn(client) } @Test @@ -90,40 +101,26 @@ public class DoDeleteVnfAndModulesTest { @Test public void testQueryAAIVfModuleNullEndPoint() { - ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("vnfId")).thenReturn("12345") - when(mockExecution.getVariable("mso.workflow.DoDeleteVnfAndModules.aai.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf") - when(mockExecution.getVariable("aai.endpoint")).thenReturn(null) - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") - - mockData() + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "12345").depth(Depth.ONE) + doThrow(new GraphInventoryUriComputationException("Error in AAI")).when(client).get(GenericVnf.class,uri) try { - DoDeleteVnfAndModules obj = new DoDeleteVnfAndModules() - obj.queryAAIVfModule(mockExecution) + doDeleteVnfAndModules.queryAAIVfModule(mockExecution) } catch (Exception ex) { println " Test End - Handle catch-throw BpmnError()! " } - Mockito.verify(mockExecution,atLeastOnce()).setVariable(captor.capture(),captor.capture()) WorkflowException workflowException = captor.getValue() - Assert.assertEquals("AAI GET Failed:null", workflowException.getErrorMessage()) + Assert.assertEquals("AAI GET Failed:Error in AAI", workflowException.getErrorMessage()) Assert.assertEquals(1002, workflowException.getErrorCode()) } @Test public void testQueryAAIVfModule() { ExecutionEntity mockExecution = setupMock() - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable("vnfId")).thenReturn("12345") - when(mockExecution.getVariable("mso.workflow.DoDeleteVnfAndModules.aai.generic-vnf.uri")).thenReturn("/aai/v8/network/generic-vnfs/generic-vnf") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") - - mockData() - DoDeleteVnfAndModules obj = new DoDeleteVnfAndModules() - obj.queryAAIVfModule(mockExecution) - + mockAAIGenericVnf("12345","__files/AAI/GenericVnfVfModule.json") + doDeleteVnfAndModules.queryAAIVfModule(mockExecution) Mockito.verify(mockExecution).setVariable("DCVFM_queryAAIVfModuleResponseCode", 200) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceTest.groovy new file mode 100644 index 0000000000..30df8eacc5 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceTest.groovy @@ -0,0 +1,83 @@ +/*- + * ============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.bpmn.infrastructure.scripts + +import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity +import org.junit.Before +import org.junit.Test +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.Mockito +import org.onap.aai.domain.yang.ServiceInstance +import org.onap.so.bpmn.common.scripts.MsoGroovyTest + +import static com.shazam.shazamcrest.MatcherAssert.assertThat +import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs +import static org.mockito.Mockito.times +import static org.mockito.Mockito.when + +/** + * @author sushilma + * @since January 10, 2018 + */ +class DoUpdateE2EServiceInstanceTest extends MsoGroovyTest{ + + + @Before + public void init() { + super.init("DoUpdateE2EServiceInstance") + } + @Captor + static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + @Test + public void testPreProcessRequest(){ + mockData() + ServiceInstance expectedServiceInstanceData = getExpectedServiceInstance() + DoUpdateE2EServiceInstance serviceInstance = new DoUpdateE2EServiceInstance() + serviceInstance.preProcessAAIPUT(mockExecution) + Mockito.verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) + assertThat(captor.getValue(), sameBeanAs(expectedServiceInstanceData)) + } + + private ServiceInstance getExpectedServiceInstance() { + ServiceInstance expectedServiceInstanceData = new ServiceInstance() + expectedServiceInstanceData.setServiceInstanceId("1234") + expectedServiceInstanceData.setServiceInstanceName("volte-service") + expectedServiceInstanceData.setServiceType("E2E Service") + expectedServiceInstanceData.setServiceRole("E2E Service") + return expectedServiceInstanceData + } + + private void mockData() { + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("globalSubscriberId")).thenReturn("12345") + when(mockExecution.getVariable("serviceType")).thenReturn("TRANSPORT") + when(mockExecution.getVariable("serviceInstanceId")).thenReturn("1234") + when(mockExecution.getVariable("serviceInstanceName")).thenReturn("volte-service") + when(mockExecution.getVariable("uuiRequest")).thenReturn("""{"service":{"serviceDefId":"c1d4305f-cdbd-4bbe-9069-a2f4978fd89e" , "templateId" : "d4df5c27-98a1-4812-a8aa-c17f055b7a3f"}}""") + when(mockExecution.getVariable("mso.workflow.sdncadapter.callback")).thenReturn("/mso/sdncadapter/") + when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") + when(mockExecution.getVariable("mso.workflow.default.aai.customer.version")).thenReturn("8") + when(mockExecution.getVariable("mso.workflow.default.aai.v8.customer.uri")).thenReturn('/aai/v8/business/customers/customer') + when(mockExecution.getVariable("URN_mso_workflow_sdncadapter_callback")).thenReturn('/testUrl') + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy index 6ed9dbd2bd..d635b2311a 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoUpdateVfModuleTest.groovy @@ -35,7 +35,9 @@ import org.mockito.ArgumentCaptor import org.mockito.Captor import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.Spy import org.mockito.runners.MockitoJUnitRunner +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.common.scripts.VfModule import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil @@ -45,7 +47,7 @@ import static org.mockito.Mockito.* import org.onap.so.bpmn.common.scripts.utils.XmlComparator @RunWith(MockitoJUnitRunner.class) -class DoUpdateVfModuleTest { +class DoUpdateVfModuleTest extends MsoGroovyTest{ def prefix = "DOUPVfMod_" String doUpdateVfModuleRequest = FileUtil.readResourceFile("__files/VfModularity/DoUpdateVfModuleRequest.xml"); @@ -56,11 +58,16 @@ class DoUpdateVfModuleTest { static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) @Rule - public WireMockRule wireMockRule = new WireMockRule(28090); + public WireMockRule wireMockRule = new WireMockRule(28090) + + @Spy + DoUpdateVfModule doUpdateVfModule @Before public void init() { + super.init("DoUpdateVfModule") MockitoAnnotations.initMocks(this) + when(doUpdateVfModule.getAAIClient()).thenReturn(client) } @Test @@ -258,18 +265,15 @@ class DoUpdateVfModuleTest { @Test void testQueryAAIVfModule() { - ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable("prefix")).thenReturn(prefix) - when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable(prefix + "vnfId")).thenReturn("12345") - when(mockExecution.getVariable("mso.workflow.default.aai.generic-vnf.version")).thenReturn("8") - when(mockExecution.getVariable("aai.endpoint")).thenReturn("http://localhost:28090") - when(mockExecution.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn("http://org.openecomp.aai.inventory/") - mockData() - DoUpdateVfModule obj = new DoUpdateVfModule() - obj.queryAAIVfModule(mockExecution) + mockAAIGenericVnf("12345","__files/AAI/GenericVnfVfModule.json") + doUpdateVfModule.queryAAIVfModule(mockExecution) Mockito.verify(mockExecution).setVariable(prefix + "queryAAIVfModuleResponseCode", 200) + Mockito.verify(mockExecution).setVariable("DOUPVfMod_baseVfModuleId", "lukewarm") + Mockito.verify(mockExecution).setVariable("DOUPVfMod_baseVfModuleHeatStackId", "fastburn") + } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1Test.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1Test.groovy index 620b0b787d..06ae576307 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1Test.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1Test.groovy @@ -20,42 +20,48 @@ package org.onap.so.bpmn.infrastructure.scripts -import com.github.tomakehurst.wiremock.junit.WireMockRule -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService + +import org.camunda.bpm.engine.delegate.BpmnError import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition import org.junit.Assert import org.junit.Before -import org.junit.Ignore import org.junit.Rule import org.junit.Test +import org.junit.rules.ExpectedException import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.Captor -import org.mockito.Mockito import org.mockito.MockitoAnnotations import org.mockito.runners.MockitoJUnitRunner -import org.onap.so.bpmn.common.scripts.utils.XmlComparator -import org.onap.so.bpmn.core.WorkflowException +import org.onap.aai.domain.yang.GenericVnf +import org.onap.aai.domain.yang.VfModule +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.so.bpmn.common.scripts.MsoGroovyTest import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.AAIResultWrapper +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.constants.Defaults + +import javax.ws.rs.core.UriBuilder -import static com.github.tomakehurst.wiremock.client.WireMock.* import static org.mockito.Mockito.* @RunWith(MockitoJUnitRunner.class) -class UpdateVfModuleVolumeInfraV1Test { +class UpdateVfModuleVolumeInfraV1Test extends MsoGroovyTest{ def prefix = "UPDVfModVol_" @Captor static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + + @Rule + public ExpectedException thrown = ExpectedException.none() - @Rule - public WireMockRule wireMockRule = new WireMockRule(28090); - + @Before - public void init() - { + public void init(){ + super.init("UpdateVfModuleVolumeInfraV1") MockitoAnnotations.initMocks(this) } @@ -69,66 +75,95 @@ class UpdateVfModuleVolumeInfraV1Test { when(mockExecution.getVariable("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7") when(mockExecution.getVariable("aai.auth")).thenReturn("757A94191D685FD2092AC1490730A4FC") - mockData() - UpdateVfModuleVolumeInfraV1 obj = new UpdateVfModuleVolumeInfraV1() + UpdateVfModuleVolumeInfraV1 obj = spy(UpdateVfModuleVolumeInfraV1.class) + when(obj.getAAIClient()).thenReturn(client) + AAIResourceUri uri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.VF_MODULE, UriBuilder.fromPath("/aai/v8/network/generic-vnfs/generic-vnf/12345/vf-modules/vf-module/12345").build()) + VfModule vfModule = new VfModule(); + vfModule.setVfModuleId("12345") + vfModule.setModelInvariantId("ff5256d2-5a33-55df-13ab-12abad84e7ff") + when(client.get(VfModule.class,uri)).thenReturn(Optional.of(vfModule)) obj.queryAAIForVfModule(mockExecution, "true") - Mockito.verify(mockExecution, atLeastOnce()).setVariable("UPDVfModVol_personaModelId", "ff5256d2-5a33-55df-13ab-12abad84e7ff") + verify(mockExecution, atLeastOnce()).setVariable("UPDVfModVol_personaModelId", "ff5256d2-5a33-55df-13ab-12abad84e7ff") + } + + @Test + void testQueryAAIForVolumeGroup() { + String aicCloudRegion = "aicCloudRegionId" + String volumeGroupId = "volumeGroupId" + when(mockExecution.getVariable("UPDVfModVol_volumeGroupId")).thenReturn(volumeGroupId) + when(mockExecution.getVariable("UPDVfModVol_aicCloudRegion")).thenReturn(aicCloudRegion) + + UpdateVfModuleVolumeInfraV1 obj = spy(UpdateVfModuleVolumeInfraV1.class) + when(obj.getAAIClient()).thenReturn(client) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId) + VolumeGroup volumeGroup = new VolumeGroup(); + volumeGroup.setVolumeGroupId(volumeGroupId) + + AAIResultWrapper wrapper = new AAIResultWrapper(FileUtil.readResourceFile("__files/aai/VolumeGroupWithTenant.json")) + when(client.get(uri)).thenReturn(wrapper) + thrown.expect(BpmnError.class) + obj.queryAAIForVolumeGroup(mockExecution, "true") } - @Test + @Test + void testQueryAAIForGenericVnf() { + String vnfId = "vnfId" + when(mockExecution.getVariable("vnfId")).thenReturn(vnfId) + + UpdateVfModuleVolumeInfraV1 obj = spy(UpdateVfModuleVolumeInfraV1.class) + when(obj.getAAIClient()).thenReturn(client) + + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + GenericVnf genericVnf = new GenericVnf() + genericVnf.setVnfId(vnfId) + genericVnf.setVnfName("testvnfName") + when(client.get(GenericVnf.class,uri)).thenReturn(Optional.of(genericVnf)) + obj.queryAAIForGenericVnf(mockExecution, "true") + verify(mockExecution).setVariable("UPDVfModVol_AAIQueryGenericVfnResponse", genericVnf) + } + + @Test + void testQueryAAIForGenericVnfNodata() { + String vnfId = "vnfId" + when(mockExecution.getVariable("vnfId")).thenReturn(vnfId) + + UpdateVfModuleVolumeInfraV1 obj = spy(UpdateVfModuleVolumeInfraV1.class) + when(obj.getAAIClient()).thenReturn(client) + + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + when(client.get(GenericVnf.class,uri)).thenReturn(Optional.empty()) + thrown.expect(BpmnError.class) + obj.queryAAIForGenericVnf(mockExecution, "true") + verify(mockExecution).setVariable("UPDVfModVol_AAIQueryGenericVfnResponse", genericVnf) + } + + @Test void testPrepVnfAdapterRest() { - ExecutionEntity mockExecution = setupMock() when(mockExecution.getVariable("prefix")).thenReturn(prefix) when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") when(mockExecution.getVariable(prefix + "aicCloudRegion")).thenReturn("RDM2WAGPLCP") when(mockExecution.getVariable(prefix + "tenantId")).thenReturn("") - when(mockExecution.getVariable(prefix + "aaiVolumeGroupResponse")).thenReturn(FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml")) + VolumeGroup volumeGroup = new VolumeGroup(); + volumeGroup.setHeatStackId("heatStackId") + when(mockExecution.getVariable(prefix + "aaiVolumeGroupResponse")).thenReturn(volumeGroup) when(mockExecution.getVariable(prefix + "vnfType")).thenReturn("vnf1") when(mockExecution.getVariable(prefix + "vnfVersion")).thenReturn("1") - when(mockExecution.getVariable(prefix + "AAIQueryGenericVfnResponse")).thenReturn(FileUtil.readResourceFile("__files/GenericFlows/getGenericVnfByNameResponse.xml")) + GenericVnf genericVnf = new GenericVnf() + genericVnf.setVnfId("vnfId") + genericVnf.setVnfName("testvnfName") + when(mockExecution.getVariable(prefix + "AAIQueryGenericVfnResponse")).thenReturn(genericVnf) when(mockExecution.getVariable(prefix + "requestId")).thenReturn("12345") when(mockExecution.getVariable(prefix + "serviceId")).thenReturn("12345") when(mockExecution.getVariable("mso-request-id")).thenReturn("12345") when(mockExecution.getVariable("mso.workflow.message.endpoint")).thenReturn('http://localhost:28080/mso/WorkflowMessage') when(mockExecution.getVariable("mso.use.qualified.host")).thenReturn("true") - mockData() UpdateVfModuleVolumeInfraV1 obj = new UpdateVfModuleVolumeInfraV1() obj.prepVnfAdapterRest(mockExecution, "true") - Mockito.verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) - def updateVolumeGroupRequest = captor.getValue() - String expectedValue = FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVolumeGroupRequest.xml") - XmlComparator.assertXMLEquals(expectedValue, updateVolumeGroupRequest, "messageId", "notificationUrl") - } - - - private static ExecutionEntity setupMock() { - ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) - when(mockProcessDefinition.getKey()).thenReturn("UpdateVfModuleVolumeInfraV1") - RepositoryService mockRepositoryService = mock(RepositoryService.class) - when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition) - when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("UpdateVfModuleVolumeInfraV1") - when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100") - ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class) - when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService) - - ExecutionEntity mockExecution = mock(ExecutionEntity.class) - // Initialize prerequisite variables - when(mockExecution.getId()).thenReturn("100") - when(mockExecution.getProcessDefinitionId()).thenReturn("UpdateVfModuleVolumeInfraV1") - when(mockExecution.getProcessInstanceId()).thenReturn("UpdateVfModuleVolumeInfraV1") - when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices) - when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition) - - return mockExecution + verify(mockExecution, times(1)).setVariable(captor.capture(), captor.capture()) + String updateVolumeGroupRequest = captor.getValue() + Assert.assertTrue(updateVolumeGroupRequest.contains("testvnfName")) } - - private static void mockData() { - stubFor(get(urlMatching(".*/aai/v[0-9]+/network/generic-vnfs/generic-vnf/12345/vf-modules/vf-module/.*")) - .willReturn(aResponse() - .withStatus(200).withHeader("Content-Type", "text/xml") - .withBodyFile("UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml"))) - } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeTest.groovy new file mode 100644 index 0000000000..6771476955 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/UpdateVfModuleVolumeTest.groovy @@ -0,0 +1,106 @@ +/*- + * ============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.bpmn.infrastructure.scripts + + +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity +import org.junit.Assert +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.rules.ExpectedException +import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.MockitoAnnotations +import org.mockito.runners.MockitoJUnitRunner +import org.onap.aai.domain.yang.GenericVnf +import org.onap.aai.domain.yang.VfModule +import org.onap.aai.domain.yang.VolumeGroup +import org.onap.so.bpmn.common.scripts.MsoGroovyTest +import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.entities.AAIResultWrapper +import org.onap.so.client.aai.entities.uri.AAIResourceUri +import org.onap.so.client.aai.entities.uri.AAIUriFactory +import org.onap.so.constants.Defaults + +import javax.ws.rs.core.UriBuilder + +import static org.mockito.Mockito.* + +@RunWith(MockitoJUnitRunner.class) +class UpdateVfModuleVolumeTest extends MsoGroovyTest{ + + def prefix = "UPDVfModVol_" + @Captor + static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + + @Rule + public ExpectedException thrown = ExpectedException.none() + + + @Before + public void init(){ + super.init("UpdateVfModuleVolume") + MockitoAnnotations.initMocks(this) + } + + + @Test + void testQueryAAIForVolumeGroup() { + String aicCloudRegion = "aicCloudRegionId" + String volumeGroupId = "volumeGroupId" + when(mockExecution.getVariable("UPDVfModVol_volumeGroupId")).thenReturn(volumeGroupId) + when(mockExecution.getVariable("UPDVfModVol_aicCloudRegion")).thenReturn(aicCloudRegion) + + UpdateVfModuleVolume obj = spy(UpdateVfModuleVolume.class) + when(obj.getAAIClient()).thenReturn(client) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId) + VolumeGroup volumeGroup = new VolumeGroup(); + volumeGroup.setVolumeGroupId(volumeGroupId) + + AAIResultWrapper wrapper = new AAIResultWrapper(FileUtil.readResourceFile("__files/aai/VolumeGroupWithTenant.json")) + when(client.get(uri)).thenReturn(wrapper) + obj.queryAAIForVolumeGroup(mockExecution) + verify(mockExecution).setVariable("UPDVfModVol_volumeGroupHeatStackId","heatStackId") + } + + @Test + void testQueryAAIForVolumeGroupNoTenant() { + String aicCloudRegion = "aicCloudRegionId" + String volumeGroupId = "volumeGroupId" + when(mockExecution.getVariable("UPDVfModVol_volumeGroupId")).thenReturn(volumeGroupId) + when(mockExecution.getVariable("UPDVfModVol_aicCloudRegion")).thenReturn(aicCloudRegion) + + UpdateVfModuleVolume obj = spy(UpdateVfModuleVolume.class) + when(obj.getAAIClient()).thenReturn(client) + AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VOLUME_GROUP, Defaults.CLOUD_OWNER.toString(), aicCloudRegion, volumeGroupId) + VolumeGroup volumeGroup = new VolumeGroup(); + volumeGroup.setVolumeGroupId(volumeGroupId) + + AAIResultWrapper wrapper = new AAIResultWrapper(FileUtil.readResourceFile("__files/aai/VolumeGroupWithTenant.json")) + when(client.get(uri)).thenThrow(Exception.class) + thrown.expect(BpmnError.class) + obj.queryAAIForVolumeGroup(mockExecution) + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy index 1e8842e68f..7982e4dd4b 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollbackTest.groovy @@ -617,7 +617,7 @@ class DoCreateAllottedResourceBRGRollbackTest extends GroovyTestBase { private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } @@ -634,7 +634,7 @@ class DoCreateAllottedResourceBRGRollbackTest extends GroovyTestBase { private initDeleteAaiAR(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") when(mex.getVariable("aaiARResourceVersion")).thenReturn(VERS) - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy index 543bb1db05..f5e48a02e4 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGTest.groovy @@ -21,11 +21,7 @@ package org.onap.so.bpmn.vcpe.scripts -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution import org.junit.Before import org.junit.BeforeClass import org.junit.Rule @@ -36,10 +32,14 @@ import org.camunda.bpm.engine.delegate.BpmnError import org.onap.so.bpmn.core.UrnPropertiesReader import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.AAIResourcesClient +import org.onap.so.client.aai.entities.uri.AAIUriFactory + +import javax.ws.rs.core.UriBuilder import static com.github.tomakehurst.wiremock.client.WireMock.aResponse import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching import static org.junit.Assert.*; import static org.mockito.Mockito.* @@ -49,7 +49,6 @@ import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource_500 import org.onap.so.bpmn.core.RollbackData -import org.onap.so.bpmn.vcpe.scripts.MapSetter import com.github.tomakehurst.wiremock.junit.WireMockRule @@ -62,7 +61,7 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { @BeforeClass public static void setUpBeforeClass() { - super.setUpBeforeClass() + aaiUriPfx = UrnPropertiesReader.getVariable("aai.endpoint") } @Before @@ -171,27 +170,18 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { // ***** createAaiAR ***** @Test - @Ignore public void createAaiAR() { - ExecutionEntity mex = setupMock() - def map = setupMap(mex) - initCreateAaiAr(mex) - - MockPutAllottedResource(CUST, SVC, INST, ARID) - - DoCreateAllottedResourceBRG DoCreateAllottedResourceBRG = new DoCreateAllottedResourceBRG() - DoCreateAllottedResourceBRG.createAaiAR(mex) - - def data = map.get("rollbackData") - assertNotNull(data) - assertTrue(data instanceof RollbackData) - - assertEquals("45", data.get(Prefix, "disableRollback")) - assertEquals("true", data.get(Prefix, "rollbackAAI")) - assertEquals(ARID, data.get(Prefix, "allottedResourceId")) - assertEquals("sii", data.get(Prefix, "serviceInstanceId")) - assertEquals("psii", data.get(Prefix, "parentServiceInstanceId")) - assertEquals(mex.getVariable("PSI_resourceLink")+"/allotted-resources/allotted-resource/"+ARID, data.get(Prefix, "aaiARPath")) + ExecutionEntity mockExecution = setupMock() + AAIResourcesClient client = mock(AAIResourcesClient.class) + when(mockExecution.getVariable("PSI_resourceLink")).thenReturn(AAIUriFactory.createResourceFromExistingURI(AAIObjectType.SERVICE_INSTANCE,UriBuilder.fromPath( "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST).build())) + when(mockExecution.getVariable("CSI_resourceLink")).thenReturn("/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST) + when(mockExecution.getVariable("allottedResourceModelInfo")).thenReturn("{\n" + + " \"modelInvariantUuid\":\"modelInvariantUuid\",\n" + + " \"modelUuid\" : \"modelUuid\"\n" + + "}") + DoCreateAllottedResourceBRG doCreateAllottedResourceBRG = spy(DoCreateAllottedResourceBRG.class) + when(doCreateAllottedResourceBRG.getAAIClient()).thenReturn(client) + doCreateAllottedResourceBRG.createAaiAR(mockExecution) } @Test @@ -225,7 +215,6 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { } @Test -// @Ignore public void createAaiAR_MissingPsiLink() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -240,7 +229,6 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { } @Test -// @Ignore public void createAaiAR_HttpFailed() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -253,7 +241,6 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { } @Test -// @Ignore public void createAaiAR_BpmnError() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -268,7 +255,6 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { } @Test -// @Ignore public void createAaiAR_Ex() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -921,7 +907,7 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { when(mex.getVariable("allottedResourceId")).thenReturn(ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) when(mex.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.global.default.aai.namespace")) - when(mex.getVariable("PSI_resourceLink")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST) + when(mex.getVariable("PSI_resourceLink")).thenReturn(AAIUriFactory.createResourceFromExistingURI(AAIObjectType.SERVICE_INSTANCE, UriBuilder.fromPath( "/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST).build())) when(mex.getVariable("allottedResourceType")).thenReturn("BRGt") when(mex.getVariable("allottedResourceRole")).thenReturn("BRGr") when(mex.getVariable("CSI_resourceLink")).thenReturn(aaiUriPfx+"/aai/v9/mycsi") @@ -993,7 +979,7 @@ class DoCreateAllottedResourceBRGTest extends GroovyTestBase { private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy index 66cfdb635d..50ce46e4a3 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollbackTest.groovy @@ -617,7 +617,7 @@ class DoCreateAllottedResourceTXCRollbackTest extends GroovyTestBase { private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } @@ -634,7 +634,7 @@ class DoCreateAllottedResourceTXCRollbackTest extends GroovyTestBase { private initDeleteAaiAR(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") when(mex.getVariable("aaiARResourceVersion")).thenReturn(VERS) - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy index fa40c17e63..b759ca1c20 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCTest.groovy @@ -21,11 +21,7 @@ package org.onap.so.bpmn.vcpe.scripts -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution import org.junit.Before import org.junit.BeforeClass import org.junit.Rule @@ -36,15 +32,12 @@ import org.camunda.bpm.engine.delegate.BpmnError import org.onap.so.bpmn.core.UrnPropertiesReader import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil -import org.springframework.beans.factory.config.YamlPropertiesFactoryBean -import org.springframework.core.io.ClassPathResource -import org.springframework.core.io.FileSystemResource -import org.springframework.core.io.Resource +import org.onap.so.client.aai.AAIObjectType +import org.onap.so.client.aai.AAIResourcesClient +import org.onap.so.client.aai.entities.uri.AAIUriFactory + +import javax.ws.rs.core.UriBuilder -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse -import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching import static org.junit.Assert.*; import static org.mockito.Mockito.* import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetAllottedResource @@ -52,10 +45,7 @@ import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockPutAllottedResource_500 -import java.util.Map - import org.onap.so.bpmn.core.RollbackData -import org.onap.so.bpmn.vcpe.scripts.MapSetter import com.github.tomakehurst.wiremock.junit.WireMockRule @@ -85,7 +75,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessRequest ***** @Test - // @Ignore + public void preProcessRequest() { ExecutionEntity mex = setupMock() initPreProcess(mex) @@ -124,7 +114,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void getAaiAR_Duplicate() { MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXC/getArTxc.xml") @@ -140,7 +130,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void getAaiAR_NotActive() { MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoCreateAllottedResourceTXC/getArTxc.xml") @@ -175,61 +165,23 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** createAaiAR ***** @Test - @Ignore public void createAaiAR() { ExecutionEntity mex = setupMock() - def map = setupMap(mex) - initCreateAaiAr(mex) - - MockPutAllottedResource(CUST, SVC, INST, ARID) - - DoCreateAllottedResourceTXC DoCreateAllottedResourceTXC = new DoCreateAllottedResourceTXC() - DoCreateAllottedResourceTXC.createAaiAR(mex) - - def data = map.get("rollbackData") - assertNotNull(data) - assertTrue(data instanceof RollbackData) - - assertEquals("45", data.get(Prefix, "disableRollback")) - assertEquals("true", data.get(Prefix, "rollbackAAI")) - assertEquals(ARID, data.get(Prefix, "allottedResourceId")) - assertEquals("sii", data.get(Prefix, "serviceInstanceId")) - assertEquals("psii", data.get(Prefix, "parentServiceInstanceId")) - assertEquals(mex.getVariable("PSI_resourceLink")+"/allotted-resources/allotted-resource/"+ARID, data.get(Prefix, "aaiARPath")) - } - - @Test - @Ignore - public void createAaiAR_NoArid_NoModelUuids() { - ExecutionEntity mex = setupMock() - def map = setupMap(mex) initCreateAaiAr(mex) - - // no allottedResourceId - will be generated - - when(mex.getVariable("allottedResourceId")).thenReturn(null) - - wireMockRule - .stubFor(put(urlMatching("/aai/.*/allotted-resource/.*")) - .willReturn(aResponse() - .withStatus(200))) - - DoCreateAllottedResourceTXC DoCreateAllottedResourceTXC = new DoCreateAllottedResourceTXC() - DoCreateAllottedResourceTXC.createAaiAR(mex) - - def arid = map.get("allottedResourceId") - assertNotNull(arid) - assertFalse(arid.isEmpty()) - - def data = map.get("rollbackData") - assertNotNull(data) - assertTrue(data instanceof RollbackData) - - assertEquals(arid, data.get(Prefix, "allottedResourceId")) + when(mex.getVariable("PSI_resourceLink")).thenReturn(AAIUriFactory.createResourceFromExistingURI(AAIObjectType.SERVICE_INSTANCE, UriBuilder.fromPath( "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST).build())) + when(mex.getVariable("CSI_resourceLink")).thenReturn("/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST) + when(mex.getVariable("allottedResourceModelInfo")).thenReturn("{\n" + + " \"modelInvariantUuid\":\"modelInvariantUuid\",\n" + + " \"modelUuid\" : \"modelUuid\"\n" + + "}") + AAIResourcesClient client = mock(AAIResourcesClient.class) + DoCreateAllottedResourceTXC doCreateAllottedResourceTXC = spy(DoCreateAllottedResourceTXC.class) + when(doCreateAllottedResourceTXC.getAAIClient()).thenReturn(client) + doCreateAllottedResourceTXC.createAaiAR(mex) } + @Test - // @Ignore public void createAaiAR_MissingPsiLink() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -244,7 +196,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void createAaiAR_HttpFailed() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -257,7 +209,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void createAaiAR_BpmnError() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -272,7 +224,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void createAaiAR_Ex() { ExecutionEntity mex = setupMock() initCreateAaiAr(mex) @@ -290,7 +242,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** buildSDNCRequest ***** @Test - // @Ignore + public void buildSDNCRequest() { ExecutionEntity mex = setupMock() initBuildSDNCRequest(mex) @@ -317,7 +269,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void buildSDNCRequest_Ex() { ExecutionEntity mex = setupMock() initBuildSDNCRequest(mex) @@ -333,7 +285,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessSDNCAssign ***** @Test - // @Ignore + public void preProcessSDNCAssign() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -359,7 +311,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCAssign_BpmnError() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -372,7 +324,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCAssign_Ex() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -388,7 +340,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessSDNCCreate ***** @Test - // @Ignore + public void preProcessSDNCCreate() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -415,7 +367,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCCreate_BpmnError() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -428,7 +380,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCCreate_Ex() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -444,7 +396,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessSDNCActivate ***** @Test - // @Ignore + public void preProcessSDNCActivate() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -471,7 +423,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCActivate_BpmnError() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -484,7 +436,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCActivate_Ex() { ExecutionEntity mex = setupMock() initPreProcessSDNC(mex) @@ -500,7 +452,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** validateSDNCResp ***** @Test - // @Ignore + public void validateSDNCResp() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -524,7 +476,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void validateSDNCResp_Get() { ExecutionEntity mex = setupMock() def data = initValidateSDNCResp(mex) @@ -543,7 +495,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void validateSDNCResp_Unsuccessful() { ExecutionEntity mex = setupMock() initValidateSDNCResp(mex) @@ -558,7 +510,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void validateSDNCResp_BpmnError() { ExecutionEntity mex = setupMock() initValidateSDNCResp(mex) @@ -572,7 +524,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void validateSDNCResp_Ex() { ExecutionEntity mex = setupMock() initValidateSDNCResp(mex) @@ -589,7 +541,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessSDNCGet ***** @Test - // @Ignore + public void preProcessSDNCGet_FoundAR() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -608,7 +560,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCGet_NotFoundAR() { ExecutionEntity mex = setupMock() def map = setupMap(mex) @@ -629,7 +581,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessSDNCGet_Ex() { ExecutionEntity mex = setupMock() initPreProcessSDNCGet(mex) @@ -660,7 +612,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** generateOutputs ***** @Test - // @Ignore + public void generateOutputs() { ExecutionEntity mex = setupMock() def txctop = FileUtil.readResourceFile("__files/VCPE/DoCreateAllottedResourceTXC/SDNCTopologyQueryCallback.xml") @@ -679,7 +631,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void generateOutputs_BadXml() { ExecutionEntity mex = setupMock() @@ -694,7 +646,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void generateOutputs_BpmnError() { ExecutionEntity mex = setupMock() @@ -709,7 +661,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void generateOutputs_Ex() { ExecutionEntity mex = setupMock() @@ -727,7 +679,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** preProcessRollback ***** @Test - // @Ignore + public void preProcessRollback() { ExecutionEntity mex = setupMock() WorkflowException wfe = mock(WorkflowException.class) @@ -743,7 +695,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessRollback_NotWFE() { ExecutionEntity mex = setupMock() @@ -758,7 +710,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessRollback_BpmnError() { ExecutionEntity mex = setupMock() @@ -772,7 +724,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void preProcessRollback_Ex() { ExecutionEntity mex = setupMock() @@ -789,7 +741,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { // ***** postProcessRollback ***** @Test - // @Ignore + public void postProcessRollback() { ExecutionEntity mex = setupMock() WorkflowException wfe = mock(WorkflowException.class) @@ -806,7 +758,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void postProcessRollback_NotWFE() { ExecutionEntity mex = setupMock() @@ -822,7 +774,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void postProcessRollback_BpmnError() { ExecutionEntity mex = setupMock() @@ -837,7 +789,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { } @Test - // @Ignore + public void postProcessRollback_Ex() { ExecutionEntity mex = setupMock() @@ -891,7 +843,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { when(mex.getVariable("allottedResourceId")).thenReturn(ARID) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) when(mex.getVariable("mso.workflow.global.default.aai.namespace")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.global.default.aai.namespace")) - when(mex.getVariable("PSI_resourceLink")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST) + when(mex.getVariable("PSI_resourceLink")).thenReturn(AAIUriFactory.createResourceFromExistingURI(AAIObjectType.SERVICE_INSTANCE, UriBuilder.fromPath( "/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST).build())) when(mex.getVariable("allottedResourceType")).thenReturn("TXCt") when(mex.getVariable("allottedResourceRole")).thenReturn("TXCr") when(mex.getVariable("CSI_resourceLink")).thenReturn(aaiUriPfx+"/aai/v9/mycsi") @@ -951,7 +903,7 @@ class DoCreateAllottedResourceTXCTest extends GroovyTestBase { private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy index e8004d3d2b..0528529819 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRGTest.groovy @@ -20,12 +20,7 @@ package org.onap.so.bpmn.vcpe.scripts - -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution import org.junit.Before import org.junit.BeforeClass import org.junit.Rule @@ -33,33 +28,19 @@ import org.junit.Test import org.junit.Ignore import org.mockito.MockitoAnnotations import org.camunda.bpm.engine.delegate.BpmnError +import org.mockito.Spy import org.onap.so.bpmn.core.UrnPropertiesReader -import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil - -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse -import static com.github.tomakehurst.wiremock.client.WireMock.delete -import static com.github.tomakehurst.wiremock.client.WireMock.get -import static com.github.tomakehurst.wiremock.client.WireMock.patch -import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching +import org.onap.so.client.aai.entities.uri.AAIResourceUri import static org.junit.Assert.*; import static org.mockito.Mockito.* import static org.onap.so.bpmn.mock.StubResponseAAI.MockDeleteAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchAllottedResource -import static org.onap.so.bpmn.mock.StubResponseAAI.MockQueryAllottedResourceById - -import java.util.Map - -import org.onap.so.bpmn.core.RollbackData -import org.onap.so.bpmn.vcpe.scripts.MapSetter - import com.github.tomakehurst.wiremock.junit.WireMockRule class DoDeleteAllottedResourceBRGTest extends GroovyTestBase { - + @Rule public WireMockRule wireMockRule = new WireMockRule(PORT) @@ -69,11 +50,16 @@ class DoDeleteAllottedResourceBRGTest extends GroovyTestBase { public static void setUpBeforeClass() { super.setUpBeforeClass() } + + @Spy + DoDeleteAllottedResourceBRG doDeleteAllottedResourceBRG @Before public void init() { MockitoAnnotations.initMocks(this) + super.init() + when(doDeleteAllottedResourceBRG.getAllottedResourceUtils()).thenReturn(allottedResourceUtils_MOCK) } public DoDeleteAllottedResourceBRGTest() { @@ -131,40 +117,21 @@ class DoDeleteAllottedResourceBRGTest extends GroovyTestBase { // ***** getAaiAR ***** @Test - @Ignore + @Ignore public void getAaiAR() { - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml") - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml") - ExecutionEntity mex = setupMock() initGetAaiAR(mex) - - DoDeleteAllottedResourceBRG DoDeleteAllottedResourceBRG = new DoDeleteAllottedResourceBRG() - DoDeleteAllottedResourceBRG.getAaiAR(mex) - + when(client_MOCK.exists(any(AAIResourceUri.class))).thenReturn(true) + doDeleteAllottedResourceBRG.getAaiAR(mex) verify(mex).setVariable("parentServiceInstanceId", INST) } @Test -// @Ignore public void getAaiAR_EmptyResponse() { - - // note: empty result-link - wireMockRule - .stubFor(get(urlMatching("/aai/.*/search/.*")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody("<result-data></result-data>"))) - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceBRG/arGetById.xml") - ExecutionEntity mex = setupMock() initGetAaiAR(mex) - - DoDeleteAllottedResourceBRG DoDeleteAllottedResourceBRG = new DoDeleteAllottedResourceBRG() - - assertTrue(doBpmnError( { _ -> DoDeleteAllottedResourceBRG.getAaiAR(mex) })) + when(client_MOCK.exists(any(AAIResourceUri.class))).thenReturn(false) + assertTrue(doBpmnError( { _ -> doDeleteAllottedResourceBRG.getAaiAR(mex) })) } @@ -562,13 +529,13 @@ class DoDeleteAllottedResourceBRGTest extends GroovyTestBase { when(mex.getVariable("mso.workflow.global.default.aai.version")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.global.default.aai.version")) when(mex.getVariable("mso.workflow.default.aai.v8.nodes.query.uri")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.default.aai.v8.nodes-query.uri")) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aaiAROrchStatus")).thenReturn("Active") } private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) } private initBuildSDNCRequest(ExecutionEntity mex) { @@ -598,7 +565,7 @@ class DoDeleteAllottedResourceBRGTest extends GroovyTestBase { private initDeleteAaiAR(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aaiARResourceVersion")).thenReturn("myvers") when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy index 6719be17a1..ad9b3d4f88 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXCTest.groovy @@ -20,12 +20,7 @@ package org.onap.so.bpmn.vcpe.scripts - -import org.camunda.bpm.engine.ProcessEngineServices -import org.camunda.bpm.engine.RepositoryService import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution import org.junit.Before import org.junit.BeforeClass import org.junit.Rule @@ -33,30 +28,15 @@ import org.junit.Test import org.junit.Ignore import org.mockito.MockitoAnnotations import org.camunda.bpm.engine.delegate.BpmnError +import org.mockito.Spy import org.onap.so.bpmn.core.UrnPropertiesReader -import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.mock.FileUtil - -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse -import static com.github.tomakehurst.wiremock.client.WireMock.delete -import static com.github.tomakehurst.wiremock.client.WireMock.get -import static com.github.tomakehurst.wiremock.client.WireMock.patch -import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching +import org.onap.so.client.aai.entities.uri.AAIResourceUri import static org.junit.Assert.*; import static org.mockito.Mockito.* import static org.onap.so.bpmn.mock.StubResponseAAI.MockDeleteAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetAllottedResource import static org.onap.so.bpmn.mock.StubResponseAAI.MockPatchAllottedResource -import static org.onap.so.bpmn.mock.StubResponseAAI.MockQueryAllottedResourceById - - -import java.util.Map - -import org.onap.so.bpmn.core.RollbackData -import org.onap.so.bpmn.vcpe.scripts.MapSetter - import com.github.tomakehurst.wiremock.junit.WireMockRule class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { @@ -66,6 +46,9 @@ class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { String Prefix = "DDARTXC_" + @Spy + DoDeleteAllottedResourceTXC doDeleteAllottedResourceTXC + @BeforeClass public static void setUpBeforeClass() { super.setUpBeforeClass() @@ -74,7 +57,9 @@ class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { @Before public void init() { - MockitoAnnotations.initMocks(this) + MockitoAnnotations.initMocks(this) + super.init() + when(doDeleteAllottedResourceTXC.getAllottedResourceUtils()).thenReturn(allottedResourceUtils_MOCK) } public DoDeleteAllottedResourceTXCTest() { @@ -130,42 +115,23 @@ class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { // ***** getAaiAR ***** - @Test - @Ignore + @Ignore public void getAaiAR() { - MockQueryAllottedResourceById(ARID, "GenericFlows/getARUrlById.xml") - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml") - + ExecutionEntity mex = setupMock() initGetAaiAR(mex) - - DoDeleteAllottedResourceTXC DoDeleteAllottedResourceTXC = new DoDeleteAllottedResourceTXC() - DoDeleteAllottedResourceTXC.getAaiAR(mex) - + when(client_MOCK.exists(any(AAIResourceUri.class))).thenReturn(true) + doDeleteAllottedResourceTXC.getAaiAR(mex) verify(mex).setVariable("parentServiceInstanceId", INST) } - + @Test -// @Ignore public void getAaiAR_EmptyResponse() { - - // note: empty result-link - wireMockRule - .stubFor(get(urlMatching("/aai/.*/search/.*")) - .willReturn(aResponse() - .withStatus(200) - .withHeader("Content-Type", "text/xml") - .withBody("<result-data></result-data>"))) - - MockGetAllottedResource(CUST, SVC, INST, ARID, "VCPE/DoDeleteAllottedResourceTXC/arGetById.xml") - ExecutionEntity mex = setupMock() initGetAaiAR(mex) - - DoDeleteAllottedResourceTXC DoDeleteAllottedResourceTXC = new DoDeleteAllottedResourceTXC() - - assertTrue(doBpmnError( { _ -> DoDeleteAllottedResourceTXC.getAaiAR(mex) })) + when(client_MOCK.exists(any(AAIResourceUri.class))).thenReturn(false) + assertTrue(doBpmnError( { _ -> doDeleteAllottedResourceTXC.getAaiAR(mex) })) } @@ -563,13 +529,13 @@ class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { when(mex.getVariable("mso.workflow.global.default.aai.version")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.global.default.aai.version")) when(mex.getVariable("mso.workflow.default.aai.v8.nodes.query.uri")).thenReturn(UrnPropertiesReader.getVariable("mso.workflow.default.aai.v8.nodes-query.uri")) when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aaiAROrchStatus")).thenReturn("Active") } private initUpdateAaiAROrchStatus(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) } private initBuildSDNCRequest(ExecutionEntity mex) { @@ -599,7 +565,7 @@ class DoDeleteAllottedResourceTXCTest extends GroovyTestBase { private initDeleteAaiAR(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") - when(mex.getVariable("aaiARPath")).thenReturn(aaiUriPfx + "/aai/v9/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) + when(mex.getVariable("aaiARPath")).thenReturn("/business/customers/customer/"+CUST+"/service-subscriptions/service-subscription/"+SVC+"/service-instances/service-instance/"+INST+"/allotted-resources/allotted-resource/"+ARID) when(mex.getVariable("aaiARResourceVersion")).thenReturn("myvers") when(mex.getVariable("aai.endpoint")).thenReturn(aaiUriPfx) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/GroovyTestBase.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/GroovyTestBase.groovy index 764e6244d4..8ce3bdb6c3 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/GroovyTestBase.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/GroovyTestBase.groovy @@ -25,35 +25,17 @@ import org.camunda.bpm.engine.ProcessEngineServices import org.camunda.bpm.engine.RepositoryService import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.delegate.DelegateExecution -import org.junit.Before -import org.junit.BeforeClass -import org.junit.Rule -import org.junit.Test -import org.junit.Ignore -import org.mockito.MockitoAnnotations +import org.junit.runner.RunWith +import org.mockito.Mock import org.camunda.bpm.engine.delegate.BpmnError +import org.mockito.runners.MockitoJUnitRunner +import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.onap.so.bpmn.common.scripts.AllottedResourceUtils import org.onap.so.bpmn.core.UrnPropertiesReader -import org.onap.so.bpmn.core.WorkflowException -import org.onap.so.bpmn.mock.FileUtil -import org.springframework.beans.factory.config.YamlPropertiesFactoryBean -import org.springframework.core.io.ClassPathResource -import org.springframework.core.io.Resource - -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse -import static com.github.tomakehurst.wiremock.client.WireMock.get -import static com.github.tomakehurst.wiremock.client.WireMock.patch -import static com.github.tomakehurst.wiremock.client.WireMock.put -import static com.github.tomakehurst.wiremock.client.WireMock.stubFor -import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching -import static org.junit.Assert.*; +import org.onap.so.client.aai.AAIResourcesClient import static org.mockito.Mockito.* -import static org.onap.so.bpmn.mock.StubResponseAAI.MockGetAllottedResource -import org.onap.so.bpmn.core.RollbackData -import org.onap.so.bpmn.vcpe.scripts.MapSetter - -import com.github.tomakehurst.wiremock.junit.WireMockRule +@RunWith(MockitoJUnitRunner.class) class GroovyTestBase { static final int PORT = 28090 @@ -71,6 +53,11 @@ class GroovyTestBase { String processName + AllottedResourceUtils allottedResourceUtils_MOCK + + @Mock + AAIResourcesClient client_MOCK + public static void setUpBeforeClass() { aaiUriPfx = UrnPropertiesReader.getVariable("aai.endpoint") } @@ -120,5 +107,10 @@ class GroovyTestBase { doAnswer(mapset).when(mex).setVariable(any(), any()) return mapset.getMap(); } - + + void init(){ + allottedResourceUtils_MOCK = spy(new AllottedResourceUtils(mock(AbstractServiceTaskProcessor.class))) + when(allottedResourceUtils_MOCK.getAAIClient()).thenReturn(client_MOCK) + } + } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAICreateResourcesTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAICreateResourcesTest.java index 7d3d298c68..2e588b7078 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAICreateResourcesTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAICreateResourcesTest.java @@ -22,7 +22,7 @@ package org.onap.so.bpmn.infrastructure.aai; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -38,7 +38,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; import org.onap.so.client.aai.AAIObjectType; import org.onap.so.client.aai.AAIResourcesClient; @@ -86,7 +86,7 @@ public class AAICreateResourcesTest { public void createAAIProjectTest() { doReturn(aaiResourcesClient).when(aaiResourcesClient).createIfNotExists(isA(AAIResourceUri.class), isA(Optional.class)); doNothing().when(aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class)); - doNothing().when(aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class)); + aaiCreateResources.createAAIProject(projectName, serviceInstanceId); @@ -185,7 +185,7 @@ public class AAICreateResourcesTest { @Test public void getVnfInstanceExceptionTest() { - doThrow(Exception.class).when(aaiResourcesClient).get(isA(AAIResourceUri.class)); + doThrow(RuntimeException.class).when(aaiResourcesClient).get(isA(AAIResourceUri.class)); Optional<GenericVnf> actualVnf = aaiCreateResources.getVnfInstance(vnfId); diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAIDeleteServiceInstanceTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAIDeleteServiceInstanceTest.java index 5808a330a3..a540a6d2cc 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAIDeleteServiceInstanceTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/aai/AAIDeleteServiceInstanceTest.java @@ -20,7 +20,7 @@ package org.onap.so.bpmn.infrastructure.aai; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -77,7 +77,7 @@ public class AAIDeleteServiceInstanceTest { doReturn("testProcessKey").when(execution).getVariable("testProcessKey"); doReturn("serviceInstanceId").when(execution).getVariable("serviceInstanceId"); - doThrow(Exception.class).when(aaiResourcesClient).delete(isA(AAIResourceUri.class)); + doThrow(RuntimeException.class).when(aaiResourcesClient).delete(isA(AAIResourceUri.class)); aaiDeleteServiceInstance.execute(execution); } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CheckAaiForCorrelationIdDelegateTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CheckAaiForCorrelationIdDelegateTest.java index 3eb3bd8796..eeda355f80 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CheckAaiForCorrelationIdDelegateTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CheckAaiForCorrelationIdDelegateTest.java @@ -20,9 +20,8 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -34,8 +33,10 @@ import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableName import org.camunda.bpm.engine.delegate.BpmnError; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.experimental.runners.Enclosed; +import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.onap.so.bpmn.core.WorkflowException; @@ -45,6 +46,9 @@ public class CheckAaiForCorrelationIdDelegateTest { public static class ConnectionOkTests { private CheckAaiForCorrelationIdDelegate delegate; + + @Rule + public ExpectedException expectedException = ExpectedException.none(); @Before public void setUp() { @@ -53,13 +57,14 @@ public class CheckAaiForCorrelationIdDelegateTest { } @Test - public void shouldThrowExceptionWhenCorrelationIdIsNotSet() { + public void shouldThrowExceptionWhenCorrelationIdIsNotSet() throws Exception { // given DelegateExecution execution = mock(DelegateExecution.class); when(execution.getVariable(CORRELATION_ID)).thenReturn(null); when(execution.getVariable("testProcessKey")).thenReturn("testProcessKeyValue"); // when, then - assertThatThrownBy(() -> delegate.execute(execution)).isInstanceOf(BpmnError.class); + expectedException.expect(BpmnError.class); + delegate.execute(execution); verify(execution).setVariable(eq("WorkflowException"), any(WorkflowException.class)); } @@ -89,6 +94,9 @@ public class CheckAaiForCorrelationIdDelegateTest { public static class NoConnectionTests { private CheckAaiForCorrelationIdDelegate delegate; + + @Rule + public ExpectedException expectedException = ExpectedException.none(); @Before public void setUp() { @@ -97,13 +105,14 @@ public class CheckAaiForCorrelationIdDelegateTest { } @Test - public void shouldThrowExceptionWhenIoExceptionOnConnectionToAai() { + public void shouldThrowExceptionWhenIoExceptionOnConnectionToAai() throws Exception { // given DelegateExecution execution = mock(DelegateExecution.class); when(execution.getVariable(CORRELATION_ID)).thenReturn(ID_WITH_ENTRY); when(execution.getVariable("testProcessKey")).thenReturn("testProcessKey"); // when, then - assertThatThrownBy(() -> delegate.execute(execution)).isInstanceOf(BpmnError.class); + expectedException.expect(BpmnError.class); + delegate.execute(execution); verify(execution).setVariable(eq("WorkflowException"), any(WorkflowException.class)); } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClientTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClientTest.java index ddf33a1d77..7a31ae1a67 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClientTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/InformDmaapClientTest.java @@ -29,7 +29,7 @@ import org.junit.Test; import org.mockito.InOrder; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.*; diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java index 2e8fb4be78..ab8d206a62 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java @@ -20,8 +20,7 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -30,12 +29,17 @@ import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableName import org.camunda.bpm.engine.delegate.BpmnError; import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; public class PnfCheckInputsTest { private static final String DEFAULT_TIMEOUT = "P1D"; + @Rule + public ExpectedException expectedException = ExpectedException.none(); + private DelegateExecution mockDelegateExecution() { new PnfCheckInputs(DEFAULT_TIMEOUT); DelegateExecution delegateExecution = mock(DelegateExecution.class); @@ -49,7 +53,19 @@ public class PnfCheckInputsTest { PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); DelegateExecution delegateExecution = mockDelegateExecution(); // when, then - assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + expectedException.expect(BpmnError.class); + testedObject.execute(delegateExecution); + } + + @Test + public void shouldThrowException_whenPnfIdIsEmptyString() throws Exception { + // given + PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); + DelegateExecution delegateExecution = mockDelegateExecution(); + when(delegateExecution.getVariable(CORRELATION_ID)).thenReturn(""); + // when, then + expectedException.expect(BpmnError.class); + testedObject.execute(delegateExecution); } private DelegateExecution mockDelegateExecutionWithCorrelationId() { @@ -65,7 +81,19 @@ public class PnfCheckInputsTest { PnfCheckInputs testedObject = new PnfCheckInputs(null); DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); // when, then - assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + expectedException.expect(BpmnError.class); + testedObject.execute(delegateExecution); + } + + @Test + public void shouldThrowException_whenTimeoutIsEmptyStringAndDefaultIsNotDefined() throws Exception { + // given + PnfCheckInputs testedObject = new PnfCheckInputs(null); + DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); + when(delegateExecution.getVariable(TIMEOUT_FOR_NOTIFICATION)).thenReturn(""); + // when, then + expectedException.expect(BpmnError.class); + testedObject.execute(delegateExecution); } @Test @@ -78,4 +106,4 @@ public class PnfCheckInputsTest { // then verify(delegateExecution).setVariable(eq(TIMEOUT_FOR_NOTIFICATION), eq(DEFAULT_TIMEOUT)); } -}
\ No newline at end of file +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java index 1b0169d6d3..33b4689629 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java @@ -22,8 +22,9 @@ package org.onap.so.bpmn.infrastructure.pnf.dmaap; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Matchers.any; + +import static org.junit.Assert.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -49,7 +50,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.onap.so.bpmn.infrastructure.pnf.dmaap.PnfEventReadyDmaapClient.DmaapTopicListenerThread; import org.springframework.core.env.Environment; @RunWith(MockitoJUnitRunner.class) @@ -113,10 +114,13 @@ public class PnfEventReadyDmaapClientTest { thenReturn(createResponse(String.format(JSON_EXAMPLE_WITH_CORRELATION_ID, CORRELATION_ID))); testedObjectInnerClassThread.run(); ArgumentCaptor<HttpGet> captor1 = ArgumentCaptor.forClass(HttpGet.class); - verify(httpClientMock).execute(captor1.capture()); - assertThat(captor1.getValue().getURI()).hasHost(HOST).hasPort(PORT).hasScheme(PROTOCOL) - .hasPath( - "/" + URI_PATH_PREFIX + "/" + EVENT_TOPIC_TEST + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + ""); + verify(httpClientMock).execute(captor1.capture()); + + assertEquals(captor1.getValue().getURI().getHost(),HOST); + assertEquals(captor1.getValue().getURI().getPort(),PORT); + assertEquals(captor1.getValue().getURI().getScheme(),PROTOCOL); + assertEquals(captor1.getValue().getURI().getPath(),"/" + URI_PATH_PREFIX + "/" + EVENT_TOPIC_TEST + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + ""); + verify(threadMockToNotifyCamundaFlow).run(); verify(executorMock).shutdown(); } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/GenericVnfVfModule.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/GenericVnfVfModule.json new file mode 100644 index 0000000000..488865c326 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/GenericVnfVfModule.json @@ -0,0 +1,62 @@ +{ + "closedLoopDisabled":false, + "vnf-id":"vnfId1", + "vnf-name":"vnfName", + "vnf-type":"vnfType", + "orchestration-status":"PRECREATED", + "model-invariant-id":"model1", + "vf-modules": { + "vf-module": [{ + "vf-module-id": "lukewarm", + "vf-module-name": "testVfModuleNameGWPrim", + "heat-stack-id": "fastburn", + "is-base-vf-module": true, + "orchestration-status": "Created", + "module-index":0, + "model-invariant-id":"model1" + }, + { + "vf-module-id": "testVfModuleIdGWSec", + "vf-module-name": "testVfModuleNameGWSec", + "heat-stack-id": "testHeatStackIdGWSec", + "orchestration-status": "Created", + "module-index":2, + "model-invariant-id":"model1" + }] + }, + "volume-groups":[], + "line-of-business":null, + "platform":null, + "cascaded":false, + "cloud-params":{}, + "cloud-context":null, + "solution":null, + "vnf-name-2":null, + "service-id":null, + "regional-resource-zone":null, + "prov-status":null, + "operational-status":null, + "equipment-role":null, + "management-option":null, + "ipv4-oam-address":null, + "ipv4-loopback0-address":null, + "nm-lan-v6-address":null, + "management-v6-address":null, + "vcpu":null, + "vcpu-units":null, + "vmemory":null, + "vmemory-units":null, + "vdisk":null, + "vdisk-units":null, + "in-maint":false, + "is-closed-loop-disabled":false, + "summary-status":null, + "encrypted-access-flag":null, + "as-number":null, + "regional-resource-subzone":null, + "self-link":null, + "ipv4-oam-gateway-address":null, + "ipv4-oam-gateway-address-prefix-length":null, + "vlan-id-outer":null,"nm-profile-name":null, + "model-info-generic-vnf":null +}
\ No newline at end of file diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/ServiceInstanceWithAR.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/ServiceInstanceWithAR.json new file mode 100644 index 0000000000..1a2f5b8aa4 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/ServiceInstanceWithAR.json @@ -0,0 +1,36 @@ +{"service-instance":{ + "service-instance-id": "serviceInstanceId", + "service-instance-name": "serviceInstanceName", + "orchestration-status": "CREATED", + "owning-entity": null, + "project": null, + "relationship-list": { + "relationship": [ + { + "related-to": "allotted-resource", + "related-link": "/aai/v11/business/customers/customer/testCustIdInfra/service-subscriptions/service-subscription/HNPORTAL/service-instances/service-instance/testServiceInstanceIdPortalPri/allotted-resources/allotted-resource/testAllottedResourceIdPortalPri", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "CloudOwner" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "mdt1" + }, + { + "relationship-key": "allotted-resource.id", + "relationship-value": "4a9184ac-5fad-44a1-b224-289bb490eaa9" + } + ] + } + ] + }, + "service-type": "serviceType", + "service-instance-location-id": "serviceInstanceLocId", + "selflink": "selfLink", + "metadata": null, + "configurations": [], + "model-info-service-instance": null +} +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroup.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroup.json new file mode 100644 index 0000000000..4022ffe98a --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroup.json @@ -0,0 +1,10 @@ +{ + "volume-group-id":"volumeGroupId", + "volume-group-name":"volumeGroupName", + "vnf-type":"vnfType", + "orchestration-status":"PRECREATED", + "cloud-params":{}, + "cascaded":false, + "heat-stack-id":"heatStackId", + "resource-version":"12345" +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithTenant.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithTenant.json new file mode 100644 index 0000000000..e0fadfb78a --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithTenant.json @@ -0,0 +1,29 @@ +{ + "volume-group-id":"volumeGroupId", + "volume-group-name":"volumeGroupName", + "vnf-type":"vnfType", + "orchestration-status":"PRECREATED", + "cloud-params":{}, + "cascaded":false, + "heat-stack-id":"heatStackId", + "relationship-list": { + "relationship": [ + { + "related-to": "tenant", + "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/mdt1/tenants/tenant/Tenant123", + "relationship-data": [ + { + "relationship-key": "cloud-region.cloud-owner", + "relationship-value": "CloudOwner" + }, + { + "relationship-key": "cloud-region.cloud-region-id", + "relationship-value": "mdt1" + }, + { + "relationship-key": "tenant.tenant-id", + "relationship-value": "Tenant123" + }] + }] + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithVfModule.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithVfModule.json new file mode 100644 index 0000000000..9a47c44751 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/AAI/VolumeGroupWithVfModule.json @@ -0,0 +1,26 @@ +{ + "volume-group-id":"volumeGroupId", + "volume-group-name":"volumeGroupName", + "vnf-type":"vnfType", + "orchestration-status":"PRECREATED", + "cloud-params":{}, + "cascaded":false, + "heat-stack-id":"heatStackId", + "relationship-list": { + "relationship": [ + { + "related-to": "vf-module", + "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/GENERIC-VNFSAT-vig30001vm001vig001/vf-modules/vf-module/a62d14f0-421e-4e64-980a-a368722819db", + "relationship-data": [ + { + "relationship-key": "generic-vnf.vnf-id", + "relationship-value": "GENERIC-VNFSAT-vig30001vm001vig001" + }, + { + "relationship-key": "vf-module.vf-module-id", + "relationship-value": "a62d14f0-421e-4e64-980a-a368722819db" + } + ] + }] + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/application-test.yml b/bpmn/so-bpmn-infrastructure-common/src/test/resources/application-test.yml index 78ecd6ce88..5b36b65b43 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/resources/application-test.yml +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/application-test.yml @@ -1,287 +1,287 @@ -aai:
- auth: 757A94191D685FD2092AC1490730A4FC
- dme2:
- timeout: '30000'
- endpoint: http://localhost:${wiremock.server.port}
-camunda:
- bpm:
- admin-user:
- id: admin
- password: admin
- database:
- type: h2
- history-level: FULL
- metrics:
- enabled: false
- db-reporter-activate: false
-canopi:
- auth: 757A94191D685FD2092AC1490730A4FC
-csi:
- aots:
- addincidentmanagement:
- endpoint: http://localhost:${wiremock.server.port}/AddIncidentManagementTicketRequest
- networkstatus:
- endpoint: http://localhost:${wiremock.server.port}/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: 757A94191D685FD2092AC1490730A4FC
- password: wLg4sjrAFUS8rfVfdvTXeQ==
- endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter
- spring:
- endpoint: http://localhost:${wiremock.server.port}
- network:
- endpoint: http://localhost:30253/services/NetworkAdapter
- rest:
- endpoint: http://localhost:30253/services/rest/v1/networks
- openecomp:
- db:
- endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter
- po:
- auth: 757A94191D685FD2092AC1490730A4FC
- password: 3141634BF7E070AA289CF2892C986C0B
- sdnc:
- endpoint: http://localhost:${wiremock.server.port}/adapters/SDNCAdapter
- rest:
- endpoint: http://localhost:${wiremock.server.port}/adapters/rest/v1/sdnc
- timeout: PT150S
- tenant:
- endpoint: http://localhost:30253/services/TenantAdapter
- vnf:
- endpoint: http://localhost:${wiremock.server.port}/services/VnfAdapter
- rest:
- endpoint: http://localhost:${wiremock.server.port}/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:${wiremock.server.port}/ecomp/mso/catalog
- spring:
- endpoint: http://localhost:30258
- csi:
- pwd: 4EA237303511EFBBC37F17A351562131
- 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:${wiremock.server.port}/
- rollback: 'true'
- sdnc:
- firewall:
- yang:
- model:
- version: '2015-05-15'
- password: 3141634BF7E070AA289CF2892C986C0B
- timeout:
- firewall:
- minutes: '20'
- ucpe:
- async:
- hours: '120'
- minutes: '5'
- site-name: CamundaEngine
- 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:
- sdnc:
- replication:
- delay: PT5S
- 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:${wiremock.server.port}/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
-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
-pnf:
- dmaap:
- host:
- port:
-sniro:
- conductor:
- host: http://localhost:30253
- uri: /release
- manager:
- timeout: PT30M
- host: http://localhost:${wiremock.server.port}
- uri.v1: /sniro/api/v2/placement
- uri.v2: /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
\ No newline at end of file +aai: + auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C + dme2: + timeout: '30000' + endpoint: http://localhost:${wiremock.server.port} +camunda: + bpm: + admin-user: + id: admin + password: admin + database: + type: h2 + history-level: FULL + metrics: + enabled: false + db-reporter-activate: false +canopi: + auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C +csi: + aots: + addincidentmanagement: + endpoint: http://localhost:${wiremock.server.port}/AddIncidentManagementTicketRequest + networkstatus: + endpoint: http://localhost:${wiremock.server.port}/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:${wiremock.server.port}/services/RequestsDbAdapter + spring: + endpoint: http://localhost:${wiremock.server.port} + network: + endpoint: http://localhost:30253/services/NetworkAdapter + rest: + endpoint: http://localhost:30253/services/rest/v1/networks + openecomp: + db: + endpoint: http://localhost:${wiremock.server.port}/services/RequestsDbAdapter + po: + auth: 5E12ACACBD552A415E081E29F2C4772F9835792A51C766CCFDD7433DB5220B59969CB2798C + password: 3141634BF7E070AA289CF2892C986C0B + sdnc: + endpoint: http://localhost:${wiremock.server.port}/adapters/SDNCAdapter + rest: + endpoint: http://localhost:${wiremock.server.port}/adapters/rest/v1/sdnc + timeout: PT150S + tenant: + endpoint: http://localhost:30253/services/TenantAdapter + vnf: + endpoint: http://localhost:${wiremock.server.port}/services/VnfAdapter + rest: + endpoint: http://localhost:${wiremock.server.port}/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:${wiremock.server.port}/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:${wiremock.server.port}/ + rollback: 'true' + sdnc: + firewall: + yang: + model: + version: '2015-05-15' + password: 3141634BF7E070AA289CF2892C986C0B + timeout: + firewall: + minutes: '20' + ucpe: + async: + hours: '120' + minutes: '5' + site-name: CamundaEngine + 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: + sdnc: + replication: + delay: PT5S + 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:${wiremock.server.port}/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 +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 +pnf: + dmaap: + host: + port: +sniro: + conductor: + host: http://localhost:30253 + uri: /release + manager: + timeout: PT30M + host: http://localhost:${wiremock.server.port} + uri.v1: /sniro/api/v2/placement + uri.v2: /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 |