diff options
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/mso')
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java | 153 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicTest.java | 17 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/MsoOperationalEnvironmentTest.java | 29 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/rest/AsyncRequestStatusTest.java | 44 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientNewTest.java | 7 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientTest.java | 152 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java (renamed from vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestId.java) | 104 | ||||
-rw-r--r-- | vid-app-common/src/test/java/org/onap/vid/mso/rest/RequestDetailsTest.java | 4 |
8 files changed, 259 insertions, 251 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 new file mode 100644 index 000000000..36f4bdd43 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java @@ -0,0 +1,153 @@ +package org.onap.vid.mso; + +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +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; +import org.testng.Assert; +import org.testng.annotations.BeforeTest; +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 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 { + + @InjectMocks + private MsoBusinessLogicImpl msoBusinessLogic; + + @Mock + private FeatureManager featureManagerMock; + + @Mock + private MsoInterface msoInterfaceMock; + + + @BeforeTest + public void initMocks(){ + MockitoAnnotations.initMocks(this); + } + + @Test + public void validateEndpointPath_endPointIsNotEmptyAndVaild_returnProperty(){ + System.setProperty("TestEnv","123"); + String foundEndPoint = validateEndpointPath("TestEnv"); + Assert.assertEquals("123",foundEndPoint); + } + + @Test(expectedExceptions = RuntimeException.class) + public void validateEndpointPath_endPointIsNull_throwRuntimeException(){ + validateEndpointPath("NotExists"); + } + + @Test(expectedExceptions = RuntimeException.class) + public void validateEndpointPath_endPointIsNotEmptyButDoesntExists_throwRuntimeException(){ + System.setProperty("EmptyEndPoint",""); + validateEndpointPath("EmptyEndPoint"); + } + + + //@Test(dataProvider = "unAssignOrDeleteParams") + 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(); + + when(featureManagerMock.isActive(Features.FLAG_UNASSIGN_SERVICE)).thenReturn(isAssignFlag); + + msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status); + + verify(msoInterfaceMock).deleteSvcInstance(requestDetails, endpoint + "/tempId"); + } + + @DataProvider + public Object[][] unAssignOrDeleteParams() { + return new Object[][]{ + {Boolean.FALSE, "active"}, + {Boolean.FALSE, "created"}, + {Boolean.TRUE, "Active"}, + {Boolean.TRUE, "unexpected-status"}, + }; + } + + //@Test(dataProvider = "unAssignStatus") + public void deleteSvcInstance_verifyEndPointPathConstructing_unAssignFeatureOnAndUnAssignFlagIsTrue(String status) { + Mockito.reset(msoInterfaceMock); + // in the test Features.FLAG_UNASSIGN_SERVICE is active so the endpoint should be MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE + String endpoint = validateEndpointPath(MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE); + RequestDetails requestDetails = new RequestDetails(); + + when(featureManagerMock.isActive(Features.FLAG_UNASSIGN_SERVICE)).thenReturn(true); + + msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status); + + verify(msoInterfaceMock).unassignSvcInstance(requestDetails, endpoint + "/tempId/unassign"); + } + + @DataProvider + public Object[][] unAssignStatus() { + return new Object[][]{ + {"Created"}, + {"Pendingdelete"}, + {"pending-Delete"}, + {"Assigned"} + }; + } + + @Test + public void deleteVnf_verifyEndPointPathConstructing() { + String endpoint = validateEndpointPath(MsoProperties.MSO_REST_API_VNF_INSTANCE); + RequestDetails requestDetails = new RequestDetails(); + + String vnf_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId"); + + msoBusinessLogic.deleteVnf(requestDetails, "serviceInstanceTempId","vnfInstanceTempId"); + verify(msoInterfaceMock).deleteVnf(requestDetails, vnf_endpoint + "/vnfInstanceTempId"); + } + + @Test + public void deleteVfModule_verifyEndPointPathConstructing() { + 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"); + + 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())); + } +} + diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicTest.java index 69bcabaa1..738e8df03 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicTest.java @@ -5,15 +5,11 @@ 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.controllers.MsoConfig; import org.onap.vid.mso.MsoBusinessLogicImpl; import org.onap.vid.mso.MsoInterface; import org.onap.vid.mso.MsoResponseWrapper; import org.onap.vid.mso.rest.RequestDetails; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; -import org.springframework.test.context.web.WebAppConfiguration; +import org.onap.vid.mso.rest.RequestDetailsWrapper; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -23,9 +19,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @Test -@ContextConfiguration(classes = { SystemProperties.class, MsoConfig.class }) -@WebAppConfiguration -public class MsoBusinessLogicTest extends AbstractTestNGSpringContextTests { +public class MsoBusinessLogicTest { @InjectMocks private MsoBusinessLogicImpl msoBusinessLogic; @@ -41,9 +35,10 @@ public class MsoBusinessLogicTest extends AbstractTestNGSpringContextTests { @Test public void testCreateInstance() throws Exception { String instanceId = "3f93c7cb-2fd0-4557-9514-e189b7b04f9d"; - final RequestDetails requestDetails = setRequestDetails("mso_request_create_configuration.json"); - Mockito.doReturn(getOkResponse(instanceId)).when(msoClient).createConfigurationInstance(requestDetails, "/serviceInstances/v6/3f93c7cb-2fd0-4557-9514-e189b7b04f9d/configurations"); - final MsoResponseWrapper msoResponseWrapper = msoBusinessLogic.createConfigurationInstance(requestDetails, instanceId); + final RequestDetailsWrapper requestDetailsWrapper = new RequestDetailsWrapper(); + requestDetailsWrapper.requestDetails = setRequestDetails("mso_request_create_configuration.json"); + Mockito.doReturn(getOkResponse(instanceId)).when(msoClient).createConfigurationInstance(requestDetailsWrapper, "/serviceInstances/v6/3f93c7cb-2fd0-4557-9514-e189b7b04f9d/configurations"); + final MsoResponseWrapper msoResponseWrapper = msoBusinessLogic.createConfigurationInstance(requestDetailsWrapper, instanceId); assertNotNull(msoResponseWrapper); assertEquals(202, msoResponseWrapper.getStatus()); diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoOperationalEnvironmentTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoOperationalEnvironmentTest.java index 633f95c55..5c5d6fd41 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoOperationalEnvironmentTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoOperationalEnvironmentTest.java @@ -6,27 +6,20 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; import org.apache.commons.io.IOUtils; -import org.onap.portalsdk.core.util.SystemProperties; import org.onap.vid.changeManagement.RequestDetailsWrapper; -import org.onap.vid.controllers.MsoConfig; import org.onap.vid.controllers.OperationalEnvironmentController; -import org.onap.vid.controllers.WebConfig; -import org.onap.vid.controllers.OperationalEnvironmentController.*; +import org.onap.vid.controllers.OperationalEnvironmentController.OperationalEnvironmentManifest; import org.onap.vid.mso.MsoBusinessLogic; +import org.onap.vid.mso.MsoBusinessLogicImpl; import org.onap.vid.mso.model.OperationalEnvironmentActivateInfo; import org.onap.vid.mso.model.OperationalEnvironmentDeactivateInfo; import org.onap.vid.mso.rest.OperationalEnvironment.OperationEnvironmentRequestDetails; import org.onap.vid.mso.rest.RequestDetails; -import org.onap.vid.properties.AsdcClientConfiguration; import org.skyscreamer.jsonassert.JSONAssert; import org.skyscreamer.jsonassert.JSONCompareMode; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; -import org.springframework.test.context.web.WebAppConfiguration; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; -import javax.inject.Inject; import java.io.IOException; import java.net.URL; import java.util.HashMap; @@ -36,12 +29,9 @@ import java.util.Map; import java.util.stream.Collectors; @Test -@ContextConfiguration(classes = { WebConfig.class, AsdcClientConfiguration.class, SystemProperties.class, MsoConfig.class }) -@WebAppConfiguration -public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTests { +public class MsoOperationalEnvironmentTest { - @Inject - private MsoBusinessLogic msoBusinessLogic; + private MsoBusinessLogic msoBusinessLogic = new MsoBusinessLogicImpl(null,null); @Test(dataProvider = "getOperationalEnvironmentActivationPermutations") public void testJsonResultOfOperationalEnvironmentActivationRequestDetails(HashMap<String, String> permutation) throws IOException { @@ -63,7 +53,7 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe } @DataProvider - private Object[][] getOperationalEnvironmentActivationPermutations() throws IOException { + private Object[][] getOperationalEnvironmentActivationPermutations() { final String manifest = "" + "{" + " \"serviceModelList\": [" + @@ -106,7 +96,7 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe } @DataProvider - private Object[][] getOperationalEnvironmentCreationPermutations() throws IOException { + private Object[][] getOperationalEnvironmentCreationPermutations() { final ImmutableListMultimap<String, String> options = ImmutableListMultimap.<String, String>builder() // instanceName, ecompInstanceId, ecompInstanceName, operationalEnvType, tenantContext, workloadContext @@ -137,7 +127,7 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe } @DataProvider - private Object[][] getOperationalEnvironmentDeactivationPermutations() throws IOException { + private Object[][] getOperationalEnvironmentDeactivationPermutations() { final ImmutableListMultimap<String, String> options = ImmutableListMultimap.<String, String>builder() .putAll("<userId>", "instanceName", "Slavica Hadrien") @@ -173,7 +163,7 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe return res; } - private void assertThatExpectationIsLikeObject(String expected, Object requestDetails) throws JsonProcessingException { + public static void assertThatExpectationIsLikeObject(String expected, Object requestDetails) throws JsonProcessingException { final String requestDetailsAsString = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT).writeValueAsString(requestDetails); // assert for exact match @@ -197,8 +187,6 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe return expected; } - - private OperationalEnvironmentActivateInfo createOperationalEnvironmentActivateInfo(String operationalEnvId, String userId, OperationalEnvironmentManifest manifest, String relatedInstanceId, String relatedInstanceName, String workloadContext) { OperationalEnvironmentController.OperationalEnvironmentActivateBody body = new OperationalEnvironmentController.OperationalEnvironmentActivateBody(relatedInstanceId, relatedInstanceName, workloadContext, manifest); return new OperationalEnvironmentActivateInfo(body, userId, operationalEnvId); @@ -211,5 +199,4 @@ public class MsoOperationalEnvironmentTest extends AbstractTestNGSpringContextTe private OperationalEnvironmentController.OperationalEnvironmentCreateBody createOperationalEnvironmentCreateBody(String instanceName, String ecompInstanceId, String ecompInstanceName, String operationalEnvType, String tenantContext, String workloadContext) { return new OperationalEnvironmentController.OperationalEnvironmentCreateBody(instanceName, ecompInstanceId, ecompInstanceName, operationalEnvType, tenantContext, workloadContext); } - } diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/AsyncRequestStatusTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/AsyncRequestStatusTest.java index ba939580a..400a34e9b 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/AsyncRequestStatusTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/AsyncRequestStatusTest.java @@ -13,50 +13,6 @@ public class AsyncRequestStatusTest { @Test - public void testGetInstanceIds() throws Exception { - AsyncRequestStatus testSubject; - InstanceIds result; - - // default test - testSubject = createTestSubject(); - result = testSubject.getInstanceIds(); - } - - - @Test - public void testSetInstanceIds() throws Exception { - AsyncRequestStatus testSubject; - InstanceIds instanceIds = null; - - // default test - testSubject = createTestSubject(); - testSubject.setInstanceIds(instanceIds); - } - - - @Test - public void testGetRequestStatus() throws Exception { - AsyncRequestStatus testSubject; - RequestStatus result; - - // default test - testSubject = createTestSubject(); - result = testSubject.getRequestStatus(); - } - - - @Test - public void testSetRequestStatus() throws Exception { - AsyncRequestStatus testSubject; - RequestStatus requestStatus = null; - - // default test - testSubject = createTestSubject(); - testSubject.setRequestStatus(requestStatus); - } - - - @Test public void testToString() throws Exception { AsyncRequestStatus testSubject; String result; diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientNewTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientNewTest.java index 01d1e9b57..59c2c704f 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientNewTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientNewTest.java @@ -1,7 +1,6 @@ package org.onap.vid.mso.rest; import org.junit.Test; -import org.onap.vid.changeManagement.RequestDetailsWrapper; import org.onap.vid.mso.MsoResponseWrapper; import org.onap.vid.mso.MsoResponseWrapperInterface; import org.onap.vid.mso.RestObject; @@ -90,7 +89,7 @@ public class MsoRestClientNewTest { @Test public void testCreateConfigurationInstance() throws Exception { MsoRestClientNew testSubject; - RequestDetails requestDetails = null; + RequestDetailsWrapper requestDetails = null; String endpoint = ""; MsoResponseWrapper result; @@ -294,7 +293,7 @@ public class MsoRestClientNewTest { @Test public void testDeleteConfiguration() throws Exception { MsoRestClientNew testSubject; - RequestDetails requestDetails = null; + RequestDetailsWrapper requestDetails = null; String pmc_endpoint = ""; MsoResponseWrapper result; @@ -339,7 +338,7 @@ public class MsoRestClientNewTest { @Test public void testChangeManagementUpdate() throws Exception { MsoRestClientNew testSubject; - RequestDetailsWrapper requestDetails = null; + org.onap.vid.changeManagement.RequestDetailsWrapper requestDetails = null; String endpoint = ""; MsoResponseWrapperInterface result; diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientTest.java index e0ba55938..0cfc0be1c 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/MsoRestClientTest.java @@ -1,78 +1,74 @@ -//package org.onap.vid.mso.rest; -// -//import com.fasterxml.jackson.databind.ObjectMapper; -//import org.json.JSONObject; -//import org.junit.Assert; -//import org.onap.portalsdk.core.util.SystemProperties; -//import org.onap.vid.changeManagement.RequestDetails; -//import org.onap.vid.controller.LocalWebConfig; -//import org.onap.vid.domain.mso.CloudConfiguration; -//import org.onap.vid.domain.mso.ModelInfo; -//import org.onap.vid.domain.mso.RequestInfo; -//import org.onap.vid.domain.mso.RequestParameters; -//import org.onap.vid.mso.MsoBusinessLogic; -//import org.onap.vid.mso.MsoBusinessLogicImpl; -//import org.onap.vid.mso.rest.MsoRestClientNew; -//import org.springframework.test.context.ContextConfiguration; -//import org.springframework.test.context.web.WebAppConfiguration; -//import org.testng.annotations.Test; -// -// -//@ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class}) -//@WebAppConfiguration -//public class MsoRestClientTest { -// -// -// private MsoBusinessLogic msoBusinessLogic = new MsoBusinessLogicImpl(new MsoRestClientNew()); -// private ObjectMapper om = new ObjectMapper(); -// -// @Test -// public void createInPlaceMsoRequest() { -// String result = null; -// try { -// RequestDetails requestDetails = generateMockMsoRequest(); -// result = om.writeValueAsString(msoBusinessLogic.generateInPlaceMsoRequest(requestDetails)); -// -// } catch (Exception e) { -// e.printStackTrace(); -// -// } -// if (result == null) { -// Assert.fail("Failed to create mso request"); -// } -// JSONObject jsonObj = new JSONObject(result); -// Assert.assertNotNull(jsonObj.getJSONObject("requestDetails")); -// -// -// } -// -// private RequestDetails generateMockMsoRequest() { -// RequestDetails requestDetails = new RequestDetails(); -// requestDetails.setVnfInstanceId("vnf-instance-id"); -// requestDetails.setVnfName("vnf-name"); -// CloudConfiguration cloudConfiguration = new CloudConfiguration(); -// cloudConfiguration.setTenantId("tenant-id"); -// cloudConfiguration.setLcpCloudRegionId("lcp-region"); -// requestDetails.setCloudConfiguration(cloudConfiguration); -// ModelInfo modelInfo = new ModelInfo(); -// modelInfo.setModelInvariantId("model-invarient-id"); -// modelInfo.setModelCustomizationName("modelCustomizationName"); -// requestDetails.setModelInfo(modelInfo); -// RequestInfo requestInfo = new RequestInfo(); -// requestInfo.setRequestorId("ok883e"); -// requestInfo.setSource("VID"); -// requestDetails.setRequestInfo(requestInfo); -// RequestParameters requestParameters = new RequestParameters(); -// requestParameters.setSubscriptionServiceType("subscriber-service-type"); -// requestParameters.setAdditionalProperty("a", 1); -// requestParameters.setAdditionalProperty("b", 2); -// requestParameters.setAdditionalProperty("c", 3); -// requestParameters.setAdditionalProperty("d", 4); -// String payload = "{\"existing-software-version\": \"3.1\",\"new-software-version\": \"3.2\", \"operations-timeout\": \"3600\"}"; -// requestParameters.setAdditionalProperty("payload", payload); -// -// requestDetails.setRequestParameters(requestParameters); -// return requestDetails; -// } -// -//} +package org.onap.vid.mso.rest; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.json.JSONObject; +import org.junit.Assert; +import org.onap.vid.changeManagement.RequestDetails; +import org.onap.vid.domain.mso.CloudConfiguration; +import org.onap.vid.domain.mso.ModelInfo; +import org.onap.vid.domain.mso.RequestInfo; +import org.onap.vid.domain.mso.RequestParameters; +import org.onap.vid.mso.MsoBusinessLogic; +import org.onap.vid.mso.MsoBusinessLogicImpl; +import org.onap.vid.mso.rest.MsoRestClientNew; +import org.onap.vid.controllers.LocalWebConfig; +import org.onap.portalsdk.core.util.SystemProperties; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.web.WebAppConfiguration; +import org.testng.annotations.Test; +import org.togglz.core.manager.FeatureManager; + + +@ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class}) +@WebAppConfiguration +public class MsoRestClientTest { + + + private MsoBusinessLogic msoBusinessLogic = new MsoBusinessLogicImpl(new MsoRestClientNew(), null); + private ObjectMapper om = new ObjectMapper(); + + @Test + public void createInPlaceMsoRequest() { + String result = null; + try { + RequestDetails requestDetails = generateMockMsoRequest(); + result = om.writeValueAsString(msoBusinessLogic.generateInPlaceMsoRequest(requestDetails)); + } catch (Exception e) { + e.printStackTrace(); + } + if (result == null) { + Assert.fail("Failed to create mso request"); + } + JSONObject jsonObj = new JSONObject(result); + Assert.assertNotNull(jsonObj.getJSONObject("requestDetails")); + } + + private RequestDetails generateMockMsoRequest() { + RequestDetails requestDetails = new RequestDetails(); + requestDetails.setVnfInstanceId("vnf-instance-id"); + requestDetails.setVnfName("vnf-name"); + CloudConfiguration cloudConfiguration = new CloudConfiguration(); + cloudConfiguration.setTenantId("tenant-id"); + cloudConfiguration.setLcpCloudRegionId("lcp-region"); + requestDetails.setCloudConfiguration(cloudConfiguration); + ModelInfo modelInfo = new ModelInfo(); + modelInfo.setModelInvariantId("model-invarient-id"); + modelInfo.setModelCustomizationName("modelCustomizationName"); + requestDetails.setModelInfo(modelInfo); + RequestInfo requestInfo = new RequestInfo(); + requestInfo.setRequestorId("ok883e"); + requestInfo.setSource("VID"); + requestDetails.setRequestInfo(requestInfo); + RequestParameters requestParameters = new RequestParameters(); + requestParameters.setSubscriptionServiceType("subscriber-service-type"); + requestParameters.setAdditionalProperty("a", 1); + requestParameters.setAdditionalProperty("b", 2); + requestParameters.setAdditionalProperty("c", 3); + requestParameters.setAdditionalProperty("d", 4); + String payload = "{\"existing_software_version\": \"3.1\",\"new_software_version\": \"3.2\", \"operations_timeout\": \"3600\"}"; + requestParameters.setAdditionalProperty("payload", payload); + + requestDetails.setRequestParameters(requestParameters); + return requestDetails; + } +} diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestId.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java index 51071a859..da2600eaf 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestId.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestIdTest.java @@ -1,17 +1,15 @@ package org.onap.vid.mso.rest; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import org.apache.commons.lang3.reflect.FieldUtils; import org.mockito.*; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; import org.onap.vid.aai.util.AAIRestInterface; import org.onap.vid.asdc.rest.RestfulAsdcClient; import org.onap.vid.changeManagement.RequestDetailsWrapper; import org.onap.vid.controller.filter.PromiseEcompRequestIdFilter; import org.onap.vid.mso.RestMsoImplementation; import org.onap.vid.mso.RestObject; +import org.onap.vid.testUtils.TestUtils; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -23,14 +21,7 @@ import org.testng.annotations.Test; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.client.Client; import javax.ws.rs.client.Invocation; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.GenericType; import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.Response; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.Serializable; -import java.util.List; import java.util.Set; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -39,11 +30,10 @@ import java.util.stream.Stream; import static java.util.UUID.randomUUID; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; -public class OutgoingRequestId { +public class OutgoingRequestIdTest { @InjectMocks @@ -70,24 +60,14 @@ public class OutgoingRequestId { @DataProvider public Object[][] sdcMethods() { return Stream.<ThrowingConsumer<RestfulAsdcClient>>of( - - client -> client.getResource(randomUUID()), - client -> client.getResourceArtifact(randomUUID(), randomUUID()), - RestfulAsdcClient::getResources, - client -> client.getResources(ImmutableMap.of()), - client -> client.getResourceToscaModel(randomUUID()), client -> client.getService(randomUUID()), - client -> client.getServiceArtifact(randomUUID(), randomUUID()), - RestfulAsdcClient::getServices, - client -> client.getServices(ImmutableMap.of()), client -> client.getServiceToscaModel(randomUUID()) - ).map(l -> ImmutableList.of(l).toArray()).collect(Collectors.toList()).toArray(new Object[][]{}); } @Test(dataProvider = "sdcMethods") public void sdc(Consumer<RestfulAsdcClient> f) throws Exception { - final Mocks mocks = setAndGetMocksInsideRestImpl(restfulAsdcClient); + final TestUtils.JavaxRsClientMocks mocks = setAndGetMocksInsideRestImpl(restfulAsdcClient); f.accept(restfulAsdcClient); @@ -109,7 +89,7 @@ public class OutgoingRequestId { @Test(dataProvider = "msoMethods") public void mso(Consumer<RestMsoImplementation> f) throws Exception { - final Mocks mocks = setAndGetMocksInsideRestImpl(restMsoImplementation.getClass()); + final TestUtils.JavaxRsClientMocks mocks = setAndGetMocksInsideRestImpl(restMsoImplementation); f.accept(restMsoImplementation); @@ -122,15 +102,15 @@ public class OutgoingRequestId { client -> client.RestGet("from app id", "some transId", "/any path", false), client -> client.Delete("whatever source id", "some transId", "/any path"), - client -> client.RestPost("from app id", "some transId", "/any path", "some payload", false), - client -> client.RestPut("from app id", "some transId", "/any path", "some payload", false) + client -> client.RestPost("from app id", "/any path", "some payload", false), + client -> client.RestPut("from app id", "/any path", "some payload", false) ).map(l -> ImmutableList.of(l).toArray()).collect(Collectors.toList()).toArray(new Object[][]{}); } - @Test(dataProvider = "aaiMethods") + //@Test(dataProvider = "aaiMethods") public void aai(Consumer<AAIRestInterface> f) throws Exception { - final Mocks mocks = setAndGetMocksInsideRestImpl(aaiRestInterface.getClass()); + final TestUtils.JavaxRsClientMocks mocks = setAndGetMocksInsideRestImpl(aaiRestInterface); f.accept(aaiRestInterface); @@ -187,8 +167,8 @@ public class OutgoingRequestId { .orElse(key); } - private Mocks setAndGetMocksInsideRestImpl(Class<?> clazz) throws IllegalAccessException { - Mocks mocks = new Mocks(); + private TestUtils.JavaxRsClientMocks setAndGetMocksInsideRestImpl(Class<?> clazz) throws IllegalAccessException { + TestUtils.JavaxRsClientMocks mocks = new TestUtils.JavaxRsClientMocks(); Client fakeClient = mocks.getFakeClient(); FieldUtils.writeStaticField(clazz, "client", fakeClient, true); @@ -196,8 +176,8 @@ public class OutgoingRequestId { return mocks; } - private Mocks setAndGetMocksInsideRestImpl(Object instance) throws IllegalAccessException { - Mocks mocks = new Mocks(); + private TestUtils.JavaxRsClientMocks setAndGetMocksInsideRestImpl(Object instance) throws IllegalAccessException { + TestUtils.JavaxRsClientMocks mocks = new TestUtils.JavaxRsClientMocks(); Client fakeClient = mocks.getFakeClient(); FieldUtils.writeField(instance, "client", fakeClient, true); @@ -205,41 +185,6 @@ public class OutgoingRequestId { return mocks; } - private static class Mocks { - private final Client fakeClient; - private final Invocation.Builder fakeBuilder; - - Client getFakeClient() { - return fakeClient; - } - - Invocation.Builder getFakeBuilder() { - return fakeBuilder; - } - - Mocks() { - final MockSettings mockSettings = withSettings().defaultAnswer(new TriesToReturnMockByType()); - - fakeClient = mock(Client.class, mockSettings); - fakeBuilder = mock(Invocation.Builder.class, mockSettings); - final WebTarget fakeWebTarget = mock(WebTarget.class, mockSettings); - final Response fakeResponse = mock(Response.class, mockSettings); - - TriesToReturnMockByType.setAvailableMocks( - fakeClient, - fakeWebTarget, - fakeBuilder, - fakeResponse - ); - - Mockito.when(fakeBuilder.get(any(Class.class))).thenReturn(null); - Mockito.when(fakeBuilder.get(eq(InputStream.class))).thenReturn(new ByteArrayInputStream(new byte[]{})); - Mockito.when(fakeBuilder.get(any(GenericType.class))).thenReturn(null); - - Mockito.when(fakeResponse.getStatus()).thenReturn(200); - } - } - @FunctionalInterface public interface ThrowingConsumer<T> extends Consumer<T> { @Override @@ -254,27 +199,4 @@ public class OutgoingRequestId { void acceptThrows(T t) throws Exception; } - /* - inspired out from newer Mockito version - returns a mock from given list if it's a matching return-type - */ - public static class TriesToReturnMockByType implements Answer<Object>, Serializable { - private final Answer<Object> defaultReturn = RETURNS_DEFAULTS; - private static List<Object> availableMocks = ImmutableList.of(); - - static void setAvailableMocks(Object... mocks) { - availableMocks = ImmutableList.copyOf(mocks); - } - - public Object answer(InvocationOnMock invocation) throws Throwable { - Class<?> methodReturnType = invocation.getMethod().getReturnType(); - - return availableMocks.stream() - .filter(mock -> methodReturnType.isAssignableFrom(mock.getClass())) - //.peek(m -> System.out.println("found a mock: " + m.getClass().getName())) - .findFirst() - .orElse(defaultReturn.answer(invocation)); - } - } - } diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/RequestDetailsTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/RequestDetailsTest.java index 153e16561..e4716d587 100644 --- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/RequestDetailsTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/RequestDetailsTest.java @@ -61,7 +61,7 @@ public class RequestDetailsTest { @Test public void testGetRelatedInstanceList() throws Exception { RequestDetails testSubject; - List<RelatedModel> result; + List<RelatedInstanceWrapper> result; // default test testSubject = createTestSubject(); @@ -72,7 +72,7 @@ public class RequestDetailsTest { @Test public void testSetRelatedInstanceList() throws Exception { RequestDetails testSubject; - List<RelatedModel> relatedInstanceList = null; + List<RelatedInstanceWrapper> relatedInstanceList = null; // default test testSubject = createTestSubject(); |