diff options
Diffstat (limited to 'vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java')
-rw-r--r-- | vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java | 110 |
1 files changed, 83 insertions, 27 deletions
diff --git a/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java index 20fce4012..c032d5fed 100644 --- a/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java +++ b/vid-automation/src/test/java/org/onap/vid/api/AsyncInstantiationALaCarteApiTest.java @@ -208,7 +208,7 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { assertThat(uuids, hasSize(1)); final String jobId = uuids.get(0); - assertServiceInfoSpecificDeletion(jobId, JobStatus.COMPLETED_WITH_ERRORS, "SERVICE_INSTANCE_NAME", "service-instance-type"); + assertServiceInfoSpecificDeletion(jobId, getErrorStatus(), "SERVICE_INSTANCE_NAME", "service-instance-type"); assertThat(SimulatorApi.retrieveRecordedRequestsPathCounter(), allOf( TestUtils.hasOrLacksOfEntry(deletePresets.get(0).getReqPath(), 1L), TestUtils.hasOrLacksOfEntry(deletePresets.get(1).getReqPath(), 1L), @@ -324,29 +324,42 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { String parentServiceInstanceId = "service-instance-id"; String vnfGroupToDeleteInstanceId = "VNF_GROUP1_INSTANCE_ID"; + SimulatorApi.clearExpectations(); + //failed to create vnf group, failed to remove 1 member (and then also vnf group isn't deleted) viewEditVnfGroup_registerPresets(parentServiceInstanceId, vnfGroupToDeleteInstanceId, MSO_FAILED_STATUS); final List<String> uuids = createBulkOfInstances(false, 1, ImmutableMap.of(), VIEW_EDIT_VNF_GROUPS_REQUEST); + try { + Thread.sleep(20000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + assertThat(uuids, hasSize(1)); final String jobId = uuids.get(0); - assertServiceInfoSpecificUpdate(jobId, JobStatus.COMPLETED_WITH_ERRORS, "SERVICE_INSTANCE_NAME"); - assertExpectedStatus(JobStatus.COMPLETED_WITH_ERRORS, jobId); + assertServiceInfoSpecificUpdate(jobId, getErrorStatus(), "SERVICE_INSTANCE_NAME"); + assertExpectedStatus(getErrorStatus(), jobId); Map<String, Long> recordedRequest = SimulatorApi.retrieveRecordedRequestsPathCounter(); assertThat(recordedRequest, allOf( TestUtils.hasOrLacksOfEntry("/mso/serviceInstantiation/v./instanceGroups/" + vnfGroupToDeleteInstanceId, 0L), //delete vnf group TestUtils.hasOrLacksOfEntry("/mso/serviceInstantiation/v./instanceGroups", 1L), //create vnf group TestUtils.hasOrLacksOfEntry("/mso/serviceInstantiation/v./instanceGroups/" + vnfGroupToDeleteInstanceId + "/removeMembers", 3L) //remove vnf group members )); - + SimulatorApi.clearExpectations(); //retry - vnf group create, 1 member remove, vnf group delete viewEditVnfGroup_registerPresets(parentServiceInstanceId, vnfGroupToDeleteInstanceId, MSO_COMPLETE_STATUS); final List<String> retryUuids = retryJob(jobId); assertThat(retryUuids, hasSize(1)); final String retryJobId = retryUuids.get(0); + try { + Thread.sleep(20000); + } catch (InterruptedException e) { + e.printStackTrace(); + } assertServiceInfoSpecificUpdate(retryJobId, JobStatus.COMPLETED, "SERVICE_INSTANCE_NAME"); assertExpectedStatus(JobStatus.COMPLETED, retryJobId); assertThat(SimulatorApi.retrieveRecordedRequestsPathCounter(), allOf( @@ -406,26 +419,67 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { @DataProvider Object[][] data_deploy1ServiceFromCypress__verifyStatusAndMsoCalls() { - return Features.FLAG_ASYNC_ALACARTE_VFMODULE.isActive() ? new Object[][]{ - {"none", emptyMap(), emptyMap(), true}, - {"none", emptyMap(), emptyMap(), false}, - {"instance", ImmutableMap.of("vnfs", 0L, "networks", 0L, "vfModules", 0L, "volumeGroups", 0L), - ImmutableMap.of("serviceInstances", 1L, "vnfs", 1L, "networks", 1L, "vfModules", 3L, "volumeGroups", 1L),true}, - {"network", emptyMap(), - ImmutableMap.of("networks", 1L), true}, - {"vnf0", ImmutableMap.of("vfModules", 0L, "volumeGroups", 0L), - ImmutableMap.of("vnfs", 1L, "vfModules", 3L, "volumeGroups", 1L), true}, - {"vfModule0", ImmutableMap.of("vfModules", 1L, "volumeGroups", 0L), - ImmutableMap.of("vfModules", 3L, "volumeGroups", 1L), true}, - {"volumeGroup", ImmutableMap.of("vfModules", 2L), - ImmutableMap.of("vfModules", 1L, "volumeGroups", 1L), true}, - {"vfModule1", emptyMap(), - ImmutableMap.of("vfModules", 1L, "volumeGroups", 1L), true}, - {"vfModule2", emptyMap(), - ImmutableMap.of("vfModules", 1L), true} - } : new Object[][]{ - {"none", ImmutableMap.of("vfModules", 0L, "volumeGroups", 0L), emptyMap(), true} - }; + boolean isAsyncAlacarteVfModuleWithPauseOnFailure = Features.FLAG_2008_PAUSE_VFMODULE_INSTANTIATION_FAILURE.isActive() && + Features.FLAG_ASYNC_ALACARTE_VFMODULE.isActive() ; + + if(isAsyncAlacarteVfModuleWithPauseOnFailure) { + return new Object[][] { + {"none", ImmutableMap.of("vfModules", 3L), emptyMap() , true}, + {"none", ImmutableMap.of("vfModules", 3L), emptyMap() , false}, + {"instance", + ImmutableMap.of("vnfs", 0L, "networks", 0L, "vfModules", 0L, "volumeGroups", 0L), + ImmutableMap.of("serviceInstances", 1L, "vnfs", 1L, "networks", 1L, "vfModules", 3L, "volumeGroups", 1L), + true}, + {"network", + ImmutableMap.of("vnfs", 1L, "networks", 1L, "vfModules", 3L, "volumeGroups", 1L, "serviceInstances", 1L), + ImmutableMap.of("networks", 1L), + true}, + {"vnf0", + ImmutableMap.of("vfModules", 0L, "volumeGroups", 0L), + ImmutableMap.of("vnfs", 1L, "vfModules", 3L, "volumeGroups", 1L), + true}, + {"vfModule0", ImmutableMap.of("vfModules", 1L, "volumeGroups", 0L), + ImmutableMap.of("vfModules", 3L, "volumeGroups", 1L), + true}, +// {"volumeGroup", +// ImmutableMap.of("vnfs", 1L, "networks", 1L, "vfModules", 1L, "volumeGroups", 1L, "serviceInstances", 1L), +// ImmutableMap.of("vfModules", 1L, "volumeGroups", 1L), +// true}, + {"vfModule1", + ImmutableMap.of("vfModules", 2L, "volumeGroups", 1L) , + ImmutableMap.of("vfModules", 2L, "volumeGroups", 1L) , + true}, + {"vfModule2", + ImmutableMap.of("vfModules", 3L, "volumeGroups", 1L), + ImmutableMap.of("vfModules", 1L, "volumeGroups", 0L), + true } + }; + } else if (Features.FLAG_ASYNC_ALACARTE_VFMODULE.isActive()) { + return new Object[][]{ + {"none", emptyMap(), emptyMap(), true}, + {"none", emptyMap(), emptyMap(), false}, + {"instance", ImmutableMap.of("vnfs", 0L, "networks", 0L, "vfModules", 0L, "volumeGroups", 0L), + ImmutableMap.of("serviceInstances", 1L, "vnfs", 1L, "networks", 1L, "vfModules", 3L, "volumeGroups", + 1L), true}, + {"network", emptyMap(), + ImmutableMap.of("networks", 1L), true}, + {"vnf0", ImmutableMap.of("vfModules", 0L, "volumeGroups", 0L), + ImmutableMap.of("vnfs", 1L, "vfModules", 3L, "volumeGroups", 1L), true}, + {"vfModule0", ImmutableMap.of("vfModules", 1L, "volumeGroups", 0L), + ImmutableMap.of("vfModules", 3L, "volumeGroups", 1L), true}, + {"volumeGroup", ImmutableMap.of("vfModules", 2L), + ImmutableMap.of("vfModules", 1L, "volumeGroups", 1L), true}, + {"vfModule1", emptyMap(), + ImmutableMap.of("vfModules", 1L, "volumeGroups", 1L), true}, + {"vfModule2", emptyMap(), + ImmutableMap.of("vfModules", 1L), true} + }; + } else { + return new Object[][]{ + {"none", ImmutableMap.of("vfModules", 0L, "volumeGroups", 0L), emptyMap(), true} + }; + } + } @Test(dataProvider = "data_deploy1ServiceFromCypress__verifyStatusAndMsoCalls") @@ -443,7 +497,7 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { switch (whatToFail) { case "none": finalJobStatus = JobStatus.COMPLETED; break; case "instance": finalJobStatus = JobStatus.FAILED; break; - default: finalJobStatus = JobStatus.COMPLETED_WITH_ERRORS; break; + default: finalJobStatus = getErrorStatus(); break; } assertServiceInfoSpecific2(jobId, finalJobStatus, names.get(SERVICE_NAME)); assertRecordedRequests(pathCounterOverride, 1L, vnfRequestId); @@ -486,7 +540,8 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { final String msoURL = "/mso"; - deploy1ServiceFromCypress__verifyStatusAndMsoCalls_andRetry("none", emptyMap(), emptyMap(), true); + deploy1ServiceFromCypress__verifyStatusAndMsoCalls_andRetry("none", + Features.FLAG_2008_PAUSE_VFMODULE_INSTANTIATION_FAILURE.isActive() ? ImmutableMap.of("vfModules", 3L):emptyMap(), emptyMap(), true); List<String> logLines = LoggerFormatTest.getLogLinesAsList(LogName.metrics2019, 200, 1, restTemplate, uri); List<RecordedRequests> underTestRequests = retrieveRecordedRequests(); @@ -603,7 +658,8 @@ public class AsyncInstantiationALaCarteApiTest extends AsyncInstantiationBase { pathCounterOverride.getOrDefault("volumeGroups", defaultValue)), TestUtils.hasOrLacksOfEntry("/mso/serviceInstantiation/v./serviceInstances/" + DEFAULT_INSTANCE_ID + "/vnfs/" + vnfRequestId + "/vfModules", - pathCounterOverride.getOrDefault("vfModules", vfModulesDefaultValue)) + pathCounterOverride.getOrDefault("vfModules", + Features.FLAG_2008_PAUSE_VFMODULE_INSTANTIATION_FAILURE.isActive() ? defaultValue : vfModulesDefaultValue)) )); } |