getStatusCounter);
}
+ @DataProvider
+ public static Object[][] pauseInstantiation(Method test) {
+ return new Object[][]{
+ {true, 2},
+ {false, 3}
+ };
+ }
+
+ @Test (dataProvider = "pauseInstantiation")
+ public void viewEdit_existingVnfCreate3VfModulesPauseAfterTheSecond(boolean flag, int expectedNumberOfInvocation) {
+ RestObject<RequestReferencesContainer> createVfModuleResponse = createResponseRandomIds(202);
+ RestObject<AsyncRequestStatus> createStatusResponse = asyncRequestStatusResponseAsRestObject(COMPLETE_STR);
+ JobStatus expectedJobStatus = COMPLETED;
+
+ when(featureManager.isActive(Features.FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION)).thenReturn(flag);
+
+ when(commandUtils.isVfModuleBaseModule(eq("6b528779-44a3-4472-bdff-9cd15ec93450"),
+ argThat(it -> it.getModelCustomizationName().equals("2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0")))).thenReturn(true);
+
+ UUID jobUUID = asyncInstantiationBL.pushBulkJob(
+ readJsonResourceFileAsObject("/payload_jsons/vfModuleCreate2AndPauseRequest.json", ServiceInstantiation.class), "userId")
+ .get(0);
+
+ String createPath= "/serviceInstantiation/v7/serviceInstances/f8791436-8d55-4fde-b4d5-72dd2cf13cfb/vnfs/VNF_INSTANCE_ID/vfModules";
+
+ when(restMso.restCall(eq(HttpMethod.POST), eq(RequestReferencesContainer.class), any(), eq(createPath), any())).thenReturn(createVfModuleResponse);
+ when(restMso.GetForObject(endsWith(createVfModuleResponse.get().getRequestReferences().getRequestId()), eq(AsyncRequestStatus.class))).thenReturn(createStatusResponse);
+
+
+ processJobsCountTimesAndAssertStatus(jobUUID, 40, expectedJobStatus);
+
+ verify(restMso, times(expectedNumberOfInvocation)).restCall(eq(HttpMethod.POST), any(), any(), eq(createPath), any());
+ }
+
//this test is going along with AsyncInstantiationALaCarteApiTest.delete1Create1NetworkFromService API test
//The API test has only the happy flow scenario, while this test also test additional MSO responses (mostly non happy)
@Test(dataProvider="createAndDeleteIntegrationTestDataProvider")
assertThat(requestCaptor.getValue(), jsonEquals(expectedPayloadToMso).when(IGNORING_ARRAY_ORDER));
}
+ @Test
+ public void viewEdit_oneNetworkExistsAddAnotherNetwork() {
+ String currentServiceInstanceId = "ce2821fc-3b28-4759-9613-1e514d7563c0";
+ String addNetworkRequestId = randomUuid();
+ String userId = "az2016";
+
+
+ String expectedMsoAddNetworkPath =
+ "/serviceInstantiation/v7/serviceInstances/" + currentServiceInstanceId + "/networks";
+
+ when(restMso.restCall(eq(HttpMethod.POST),eq(RequestReferencesContainer.class),any(), eq(expectedMsoAddNetworkPath), any()))
+ .thenReturn(createResponse(202, currentServiceInstanceId, addNetworkRequestId));
+
+ when(restMso.GetForObject(eq("/orchestrationRequests/v7/" + addNetworkRequestId),eq(AsyncRequestStatus.class)))
+ .thenReturn(asyncRequestStatusResponseAsRestObject(COMPLETE_STR));
+
+ List<UUID> uuids= asyncInstantiationBL.pushBulkJob(addNetworkBulkPayload(), userId);
+ assertThat(uuids, hasSize(1));
+ processJobsCountTimesAndAssertStatus(uuids.get(0), 200, COMPLETED);
+
+ verify(restMso, times(1)).restCall(eq(HttpMethod.POST), any(), any(), eq(expectedMsoAddNetworkPath),any());
+ verify(restMso, times(1)).GetForObject(any(),any());
+ }
+
@Test
public void whenDeletingVfModule_thenExpectedDeleteRequestSent()
{
return readJsonResourceFileAsObject("/payload_jsons/vfmodule/delete_1_vfmodule_expected_bulk.json", ServiceInstantiation.class);
}
+ private ServiceInstantiation addNetworkBulkPayload() {
+ return readJsonResourceFileAsObject("/payload_jsons/Network/one_network_exists_add_another_network_expected_bulk.json", ServiceInstantiation.class);
+ }
+
private String getDeleteVfModulePayloadToMso() {
return "{ " +
" \"requestDetails\": { " +
assertNull(templateOfRetry.getStatusMessage());
}
+ @Test
+ public void oneVnfExistsAddAnotherVnf(){
+ final String VNF_REQUEST_ID = UUID.randomUUID().toString();
+ final String VNF_INSTANCE_ID = UUID.randomUUID().toString();
+
+ ServiceInstantiation serviceInstantiation = readJsonResourceFileAsObject("/payload_jsons/vnf/one_vnf_exists_add_another_vnf_expected_bulk.json",
+ ServiceInstantiation.class);
+ List<UUID> uuids = asyncInstantiationBL.pushBulkJob(serviceInstantiation, USER_ID);
+ assertThat(uuids, hasSize(1));
+
+ //mock mso to answer 200 of create vnf instance request
+ when(restMso.restCall(eq(HttpMethod.POST), eq(RequestReferencesContainer.class), any(), endsWith("e6cc1c4f-05f7-49bc-8e86-ac2eb92baaaa/vnfs"), any())).thenReturn(
+ createResponse(200, VNF_INSTANCE_ID, VNF_REQUEST_ID));
+
+ //mock mso to answer msoVnfStatus (COMPLETE) for vnf creation status,
+ when(restMso.GetForObject(endsWith(VNF_REQUEST_ID), eq(AsyncRequestStatus.class))).
+ thenReturn(asyncRequestStatusResponseAsRestObject(COMPLETE_STR));
+
+ processJobsCountTimesAndAssertStatus(uuids.get(0), 200, COMPLETED);
+ verify(restMso, times(1)).restCall(eq(HttpMethod.POST), any(), any(), endsWith("e6cc1c4f-05f7-49bc-8e86-ac2eb92baaaa/vnfs"), any());
+ verify(restMso, times(1)).GetForObject(any(), any());
+ }
+
}