diff options
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java')
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java | 84 |
1 files changed, 52 insertions, 32 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java index 36f4bdd43..e0e3c3634 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java @@ -1,12 +1,17 @@ package org.onap.vid.mso; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; +import org.onap.portalsdk.core.util.SystemProperties; +import org.onap.vid.changeManagement.RequestDetailsWrapper; +import org.onap.vid.controllers.MsoController; import org.onap.vid.mso.rest.RequestDetails; import org.onap.vid.properties.Features; -import org.onap.portalsdk.core.util.SystemProperties; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import org.springframework.test.context.web.WebAppConfiguration; @@ -16,16 +21,28 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import org.togglz.core.manager.FeatureManager; +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Matchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.onap.vid.controllers.MsoController.SVC_INSTANCE_ID; -import static org.onap.vid.controllers.MsoController.VNF_INSTANCE_ID; import static org.onap.vid.mso.MsoBusinessLogicImpl.validateEndpointPath; @ContextConfiguration(classes = {SystemProperties.class}) @WebAppConfiguration public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { + private static final String SERVICE_INSTANCE_ID = "1"; + private static final String VNF_INSTANCE_ID = "1"; + private static final String EXPECTED_SCALE_OUT_PATH = "/serviceInstantiation/v7/serviceInstances/1/vnfs/1/vfModules/scaleOut"; + private static final Path PATH_TO_NOT_PROCESSED_SCALE_OUT_REQUEST = Paths.get("src", "test", "resources", "payload_jsons", "scaleOutVfModulePayload.json"); + private static final Path PATH_TO_FINAL_SCALE_OUT_REQUEST = Paths.get("src", "test", "resources", "payload_jsons", "scaleOutVfModulePayloadToMso.json"); + private static final ObjectMapper OBJECT_MAPPER=new ObjectMapper(); + @InjectMocks private MsoBusinessLogicImpl msoBusinessLogic; @@ -37,31 +54,31 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { @BeforeTest - public void initMocks(){ + public void initMocks() { MockitoAnnotations.initMocks(this); } @Test - public void validateEndpointPath_endPointIsNotEmptyAndVaild_returnProperty(){ - System.setProperty("TestEnv","123"); + public void validateEndpointPath_endPointIsNotEmptyAndVaild_returnProperty() { + System.setProperty("TestEnv", "123"); String foundEndPoint = validateEndpointPath("TestEnv"); - Assert.assertEquals("123",foundEndPoint); + Assert.assertEquals("123", foundEndPoint); } @Test(expectedExceptions = RuntimeException.class) - public void validateEndpointPath_endPointIsNull_throwRuntimeException(){ + public void validateEndpointPath_endPointIsNull_throwRuntimeException() { validateEndpointPath("NotExists"); } @Test(expectedExceptions = RuntimeException.class) - public void validateEndpointPath_endPointIsNotEmptyButDoesntExists_throwRuntimeException(){ - System.setProperty("EmptyEndPoint",""); + public void validateEndpointPath_endPointIsNotEmptyButDoesntExists_throwRuntimeException() { + System.setProperty("EmptyEndPoint", ""); validateEndpointPath("EmptyEndPoint"); } //@Test(dataProvider = "unAssignOrDeleteParams") - public void deleteSvcInstance_verifyEndPointPathConstructing_unAssignFeatureOffOrUnAssignFlagIsFalse(boolean isAssignFlag,String status) { + public void deleteSvcInstance_verifyEndPointPathConstructing_unAssignFeatureOffOrUnAssignFlagIsFalse(boolean isAssignFlag, String status) { Mockito.reset(msoInterfaceMock); String endpoint = validateEndpointPath(isAssignFlag ? MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE : MsoProperties.MSO_REST_API_SVC_INSTANCE); RequestDetails requestDetails = new RequestDetails(); @@ -114,7 +131,7 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { String vnf_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId"); - msoBusinessLogic.deleteVnf(requestDetails, "serviceInstanceTempId","vnfInstanceTempId"); + msoBusinessLogic.deleteVnf(requestDetails, "serviceInstanceTempId", "vnfInstanceTempId"); verify(msoInterfaceMock).deleteVnf(requestDetails, vnf_endpoint + "/vnfInstanceTempId"); } @@ -123,31 +140,34 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { String endpoint = validateEndpointPath(MsoProperties.MSO_REST_API_VF_MODULE_INSTANCE); RequestDetails requestDetails = new RequestDetails(); - String vf__modules_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId").replaceFirst(VNF_INSTANCE_ID, "vnfInstanceTempId"); + String vf__modules_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId").replaceFirst(MsoController.VNF_INSTANCE_ID, "vnfInstanceTempId"); - msoBusinessLogic.deleteVfModule(requestDetails, "serviceInstanceTempId","vnfInstanceTempId", "vfModuleTempId"); - verify(msoInterfaceMock).deleteVfModule(requestDetails, vf__modules_endpoint + "/vfModuleTempId" ); + msoBusinessLogic.deleteVfModule(requestDetails, "serviceInstanceTempId", "vnfInstanceTempId", "vfModuleTempId"); + verify(msoInterfaceMock).deleteVfModule(requestDetails, vf__modules_endpoint + "/vfModuleTempId"); } + @Test - public void insertServiceInstantiationToDB_StartJob() { - -// broker = new JobsBrokerServiceInDatabaseImpl(dataAccessServiceMock, sessionFactory); -// ((JobsBrokerServiceInDatabaseImpl)broker).deleteAll(); -// -//// msoBusinessLogic.setDataAccessService(dataAccessServiceMock); -//// msoBusinessLogic.setJobsBrokerService(broker); -//// msoBusinessLogic.setJobAdapter(jobAdapter); -// -// ServiceInstantiation serviceInstantiation = new ServiceInstantiation(); -// serviceInstantiation.setCount(2); -// serviceInstantiation.setInstanceName("TestName"); -// -// msoBusinessLogic.pushBulkJob(serviceInstantiation, "testUserId"); -// -// List<ServiceInfo> serviceInfoList = dataAccessServiceMock.getList(ServiceInfo.class, null); -// int k = 9; -// Assert.assertEquals(serviceInstantiation, containsInAnyOrder(serviceInfoList.toArray())); + public void shouldSendProperScaleOutRequest() throws IOException { + ArgumentCaptor<RequestDetailsWrapper> requestDetailsWrapperArgumentCaptor = ArgumentCaptor.forClass(RequestDetailsWrapper.class); + org.onap.vid.changeManagement.RequestDetails requestDetails = getScaleOutRequest(); + RequestDetailsWrapper expectedRequestWrapper = getExpectedRequestWrapper(); + + msoBusinessLogic.scaleOutVfModuleInstance(requestDetails, SERVICE_INSTANCE_ID, VNF_INSTANCE_ID); + + verify(msoInterfaceMock).scaleOutVFModuleInstance(requestDetailsWrapperArgumentCaptor.capture(), eq(EXPECTED_SCALE_OUT_PATH)); + RequestDetailsWrapper actual = requestDetailsWrapperArgumentCaptor.getAllValues().get(0); + + assertThat(expectedRequestWrapper.requestDetails).isEqualTo(actual.requestDetails); + } + + private org.onap.vid.changeManagement.RequestDetails getScaleOutRequest() throws IOException { + return OBJECT_MAPPER.readValue(PATH_TO_NOT_PROCESSED_SCALE_OUT_REQUEST.toFile(), org.onap.vid.changeManagement.RequestDetails.class); + } + + private RequestDetailsWrapper getExpectedRequestWrapper() throws IOException { + return OBJECT_MAPPER.readValue(PATH_TO_FINAL_SCALE_OUT_REQUEST.toFile(), new TypeReference<RequestDetailsWrapper<org.onap.vid.changeManagement.RequestDetails>>() { + }); } } |