diff options
author | 2020-05-04 17:22:50 +0300 | |
---|---|---|
committer | 2020-05-05 20:07:50 +0000 | |
commit | 03e4ae0e29eff5bbcc65020f383762af9e3fd5cc (patch) | |
tree | 0067c6585215f883059557f87c545adb5806efcc /vid-app-common/src/test/java/org/onap/vid/job | |
parent | 048bd5e527128ab84a2725cd39761648b8ec9c62 (diff) |
Add pause after completion for vfModule
Issue-ID: VID-821
Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Change-Id: Ie3088cd2795c94121c45874d15c319151a10cc95
Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/job')
3 files changed, 63 insertions, 1 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/ResourceCommandTest.java b/vid-app-common/src/test/java/org/onap/vid/job/command/ResourceCommandTest.java index b916347d2..8d60b8477 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/command/ResourceCommandTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/job/command/ResourceCommandTest.java @@ -320,7 +320,7 @@ public class ResourceCommandTest { static VfModule createVfModule(Action action) { return new VfModule(mock(ModelInfo.class), null, null, action.toString(), null, null, null, null, null, - false, false, null, null, null, null, null, null, null, null); + false, false, null, null, null, null, null, null, null, null, null); } static Network createNetwork(Action action) { diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/VnfCommandTest.kt b/vid-app-common/src/test/java/org/onap/vid/job/command/VnfCommandTest.kt index 977966271..ab5440658 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/command/VnfCommandTest.kt +++ b/vid-app-common/src/test/java/org/onap/vid/job/command/VnfCommandTest.kt @@ -26,16 +26,20 @@ import org.hamcrest.core.AllOf.allOf import org.mockito.Answers import org.mockito.InjectMocks import org.mockito.Mock +import org.mockito.Mockito.mock import org.onap.vid.job.JobAdapter import org.onap.vid.job.JobsBrokerService import org.onap.vid.job.command.ResourceCommandTest.FakeResourceCreator import org.onap.vid.job.impl.JobSharedData import org.onap.vid.model.Action +import org.onap.vid.model.serviceInstantiation.VfModule +import org.onap.vid.model.serviceInstantiation.VfModule.PauseInstantiation.afterCompletion import org.onap.vid.mso.RestMsoImplementation import org.onap.vid.properties.Features import org.onap.vid.services.AsyncInstantiationBusinessLogic import org.onap.vid.testUtils.TestUtils import org.onap.vid.testUtils.TestUtils.initMockitoMocks +import org.testng.AssertJUnit import org.testng.annotations.BeforeMethod import org.testng.annotations.DataProvider import org.testng.annotations.Test @@ -102,4 +106,28 @@ class VnfCommandTest { ) } + @DataProvider + fun shoudlPause(): Array<Array<out Any?>> { + return arrayOf( + arrayOf("action create, pause in module and flag active", Action.Create, true, true, true), + arrayOf("action create, pause in module and flag not active", Action.Create, true, false, false), + arrayOf("action not create, pause in module and flag active", Action.None, true, true, false), + arrayOf("action create, no pause in module and flag active", Action.Create, false, true, false), + arrayOf("action create, no pause in module and flag not active", Action.Create, false, false, false)) + } + + @Test(dataProvider = "shoudlPause") + fun `shouldPauseAfterInstantiation -- given different flag and pause conditions`(desc: String, vfModuleAction: Action, isPause: Boolean, flag: Boolean, + expectedResult: Boolean) { + val vfModule = mock(VfModule::class.java); + + _when(featureManager.isActive(Features.FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION)).thenReturn(flag) + _when(vfModule.action).thenReturn(vfModuleAction) + + if (isPause) { + _when(vfModule.pauseInstantiation).thenReturn(afterCompletion) + } + + AssertJUnit.assertEquals(desc, expectedResult, vnfCommand.shoudlPauseAfterInstantiation(vfModule)) + } } diff --git a/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java b/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java index dfacf57a3..061b62af2 100644 --- a/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/job/impl/AsyncInstantiationIntegrationTest.java @@ -1030,6 +1030,40 @@ public class AsyncInstantiationIntegrationTest extends AsyncInstantiationBaseTes 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") |