aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java
diff options
context:
space:
mode:
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.java127
1 files changed, 89 insertions, 38 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..54e924d95 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,14 @@
package org.onap.vid.mso;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.mockito.*;
+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.Request;
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 +18,32 @@ import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import org.togglz.core.manager.FeatureManager;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.*;
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 Path PATH_TO_EXPECTED_MSO_MODEL_TYPE_REQ = Paths.get("src", "test", "resources", "payload_jsons", "mso_model_info_sample_response.json");
+ private static final Path PATH_TO_EXPECTED_MSO_SCALEOUT_REQ = Paths.get("src", "test", "resources", "payload_jsons", "mso_action_scaleout_sample_response.json");
+ private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+
@InjectMocks
private MsoBusinessLogicImpl msoBusinessLogic;
@@ -37,31 +55,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 +132,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 +141,64 @@ 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");
+ }
+
+
+ @Test
+ 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);
- msoBusinessLogic.deleteVfModule(requestDetails, "serviceInstanceTempId","vnfInstanceTempId", "vfModuleTempId");
- verify(msoInterfaceMock).deleteVfModule(requestDetails, vf__modules_endpoint + "/vfModuleTempId" );
+ assertThat(expectedRequestWrapper.requestDetails).isEqualTo(actual.requestDetails);
}
@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 shouldFilterOutOrchestrationRequestsNotAllowedInDashboard() throws IOException {
+ String vnfModelTypeOrchestrationRequests = getFileContentAsString(PATH_TO_EXPECTED_MSO_MODEL_TYPE_REQ);
+ String scaleOutActionOrchestrationRequests = getFileContentAsString(PATH_TO_EXPECTED_MSO_SCALEOUT_REQ);
+
+ MsoResponseWrapper msoResponseWrapperMock = mock(MsoResponseWrapper.class);
+ when(msoInterfaceMock.getOrchestrationRequestsForDashboard(any(String.class), any(String.class), any(String.class), any(RestObject.class)))
+ .thenReturn(msoResponseWrapperMock);
+ when(msoResponseWrapperMock.getEntity()).thenReturn(vnfModelTypeOrchestrationRequests, scaleOutActionOrchestrationRequests);
+
+ List<Request> filteredOrchestrationReqs = msoBusinessLogic.getOrchestrationRequestsForDashboard();
+
+ assertThat(filteredOrchestrationReqs).hasSize(3);
+ assertThat(MsoBusinessLogicImpl.DASHBOARD_ALLOWED_TYPES)
+ .containsAll(filteredOrchestrationReqs
+ .stream()
+ .map(el -> el.getRequestType().toUpperCase())
+ .collect(Collectors.toList()));
+ assertThat(filteredOrchestrationReqs
+ .stream()
+ .map(org.onap.vid.domain.mso.Request::getRequestScope)
+ .collect(Collectors.toList()))
+ .containsOnly("vnf", "vfModule");
+ }
+
+
+ private String getFileContentAsString(Path pathToFile) throws IOException {
+ return new String(Files.readAllBytes(pathToFile));
+ }
+
+ 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>>() {
+ });
}
}