diff options
Diffstat (limited to 'vid-app-common/src/test/java')
4 files changed, 43 insertions, 320 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java index a2f86f437..a32450510 100644 --- a/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java @@ -27,6 +27,7 @@ import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.then; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.only; +import static org.mockito.Mockito.when; import static org.springframework.http.MediaType.APPLICATION_JSON; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; @@ -48,6 +49,7 @@ import org.junit.Test; import org.onap.vid.model.RequestReferencesContainer; import org.onap.vid.mso.MsoBusinessLogic; import org.onap.vid.mso.MsoResponseWrapper; +import org.onap.vid.mso.MsoResponseWrapper2; import org.onap.vid.mso.RestObject; import org.onap.vid.mso.rest.MsoRestClientNew; import org.onap.vid.mso.rest.Request; @@ -447,4 +449,38 @@ public class MsoControllerTest { private <T> T objectEqualTo(T expected) { return argThat(given -> asJson(given).equals(asJson(expected))); } -}
\ No newline at end of file + + @Test + public void testActivateFabricConfiguration() throws Exception { + + String serviceInstanceId = "tempId"; + + //define mock response object + String responseString = "{" + + " \"requestReferences\": {" + + " \"instanceId\": \"tempId\"," + + " \"requestId\": \"dbe54591-c8ed-46d3-abc7-d3a24873dfbd\"" + + " }" + + " }"; + final RestObject<RequestReferencesContainer> restObject = new RestObject<>(); + restObject.set(objectMapper.readValue(responseString, RequestReferencesContainer.class)); + restObject.setStatusCode(200); + + //register mock + String msoPath = "justAFakePath"; + + when(msoBusinessLogic.getActivateFabricConfigurationPath(serviceInstanceId)).thenReturn(msoPath); + when(msoRestClient.PostForObject(new RequestDetails(), msoPath, RequestReferencesContainer.class)).thenReturn(restObject); + + //expected response + MsoResponseWrapper2<RequestReferencesContainer> expectedResponse = new MsoResponseWrapper2<>(restObject); + + //get response from controller + // when & then + mockMvc.perform(post(format("/mso/mso_activate_fabric_configuration/%s", serviceInstanceId)) + .content(asJson(new RequestDetails())) + .contentType(APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(content().json(asJson(expectedResponse))); + } +} diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java deleted file mode 100644 index c1509d956..000000000 --- a/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright 2019 Nokia - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.vid.controller.open; - -import static org.mockito.BDDMockito.given; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -import org.apache.log4j.BasicConfigurator; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; -import org.onap.vid.controller.open.RoleGeneratorController; -import org.onap.vid.services.RoleGeneratorService; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; - -@RunWith(MockitoJUnitRunner.class) -public class RoleGeneratorControllerTest { - - private static final String PATH = "/generateRoleScript/{firstRun}"; - - private static final String FIRST_JSON = "{key1: val1}"; - private static final String SECOND_JSON = "{key2: val2}"; - - private RoleGeneratorController roleGeneratorController; - private MockMvc mockMvc; - - @Mock - private RoleGeneratorService service; - - @Before - public void setUp() { - roleGeneratorController = new RoleGeneratorController(service); - BasicConfigurator.configure(); - mockMvc = MockMvcBuilders.standaloneSetup(roleGeneratorController).build(); - - given(service.generateRoleScript(true)).willReturn(FIRST_JSON); - given(service.generateRoleScript(false)).willReturn(SECOND_JSON); - } - - @Test - public void generateRoleScript_shouldReturnJson_whenFirstRun() throws Exception { - mockMvc.perform(get(PATH, "true") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().json(FIRST_JSON)); - } - - @Test - public void generateRoleScript_shouldReturnJson_whenNoFirstRun() throws Exception { - mockMvc.perform(get(PATH, "false") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().json(SECOND_JSON)); - } -} 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 c9f576db1..2ea37f4bc 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 @@ -21,6 +21,7 @@ package org.onap.vid.mso; +import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.tuple; @@ -42,7 +43,6 @@ import static org.mockito.ArgumentMatchers.isA; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.onap.vid.controller.MsoController.CONFIGURATION_ID; import static org.onap.vid.controller.MsoController.REQUEST_TYPE; @@ -72,7 +72,6 @@ import org.hamcrest.MatcherAssert; import org.jetbrains.annotations.NotNull; import org.mockito.ArgumentMatcher; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.hamcrest.MockitoHamcrest; import org.onap.portalsdk.core.util.SystemProperties; @@ -91,7 +90,6 @@ import org.onap.vid.mso.model.CloudConfiguration; import org.onap.vid.mso.model.ModelInfo; import org.onap.vid.mso.model.OperationalEnvironmentActivateInfo; import org.onap.vid.mso.model.OperationalEnvironmentDeactivateInfo; -import org.onap.vid.mso.model.RequestInfo; import org.onap.vid.mso.model.RequestParameters; import org.onap.vid.mso.rest.OperationalEnvironment.OperationEnvironmentRequestDetails; import org.onap.vid.mso.rest.Request; @@ -864,39 +862,11 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { } @Test - public void shouldProperlyBuildRequestDetailsForSoftDeleteWithProperParameters() { - // given - SoftDeleteRequest softDeleteRequest = new SoftDeleteRequest(); - RequestDetails requestDetails = new RequestDetails(); - - String userId = "testUserID"; - String tenantId = "testTenantId "; - String cloudRegionId = "testCloudId"; - - - RequestInfo requestInfo = new RequestInfo(); - requestInfo.setSource("VID"); - requestInfo.setRequestorId(userId); - requestDetails.setRequestInfo(requestInfo); - - CloudConfiguration cloudConfiguration = new CloudConfiguration(); - cloudConfiguration.setTenantId(tenantId); - cloudConfiguration.setLcpCloudRegionId(cloudRegionId); - requestDetails.setCloudConfiguration(cloudConfiguration); - - setModelInfoForRequestDetails(requestDetails); - - setRequestParametersForRequestDetails(requestDetails); - - softDeleteRequest.setLcpCloudRegionId(cloudRegionId); - softDeleteRequest.setTenantId(tenantId); - softDeleteRequest.setUserId(userId); - - // when - RequestDetails response = msoBusinessLogic.buildRequestDetailsForSoftDelete(softDeleteRequest); - - // then - assertThat(response).isEqualTo(requestDetails); + public void shouldProperlyBuildRequestDetailsForSoftDeleteWithProperParameters() throws IOException { + SoftDeleteRequest request = new SoftDeleteRequest("testTenantId", "testCloudId", "testUserID"); + String expected = IOUtils.toString(this.getClass().getResource("/payload_jsons/vfModuleDeactivateAndCloudDelete.json"), "UTF-8"); + final RequestDetails result = msoBusinessLogic.buildRequestDetailsForSoftDelete(request); + MatcherAssert.assertThat(result, jsonEquals(expected)); } private void setRequestParametersForRequestDetails(RequestDetails requestDetails) { @@ -1612,68 +1582,5 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests { org.junit.Assert.assertThat(metadata.getRawData(), rawData); org.junit.Assert.assertThat(metadata.getDescription(), descriptionMatcher); } - - @Test(dataProvider = "unAssignOrDeleteParams") - public void deleteSvcInstance_verifyEndPointPathConstructing(String status) { - Mockito.reset(msoInterface); - String endpoint = validateEndpointPath(MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE); - RequestDetails requestDetails = new RequestDetails(); - - - msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status); - - verify(msoInterface).deleteSvcInstance(requestDetails, endpoint + "/tempId"); - } - - @DataProvider - public Object[][] unAssignOrDeleteParams() { - return new Object[][]{ - {"Active"}, - {"unexpected-status"}, - }; - } - - @Test(dataProvider = "unAssignStatus") - public void deleteSvcInstance_verifyEndPointPathConstructing_unAssignFeatureOn(String status) { - Mockito.reset(msoInterface); - String endpoint = validateEndpointPath(MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE); - RequestDetails requestDetails = new RequestDetails(); - - msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status); - - verify(msoInterface).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(msoInterface).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(msoInterface).deleteVfModule(requestDetails, vf__modules_endpoint + "/vfModuleTempId"); - } } diff --git a/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java deleted file mode 100644 index 2bf73eece..000000000 --- a/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java +++ /dev/null @@ -1,140 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.vid.services; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.doThrow; -import static org.mockito.MockitoAnnotations.initMocks; - -import java.util.ArrayList; -import org.apache.commons.lang.StringUtils; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.onap.vid.aai.AaiClientInterface; -import org.onap.vid.aai.AaiResponse; -import org.onap.vid.aai.ServiceSubscription; -import org.onap.vid.aai.ServiceSubscriptions; -import org.onap.vid.aai.Services; -import org.onap.vid.model.Subscriber; -import org.onap.vid.model.SubscriberList; -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -public class RoleGenaratorServiceImplTest { - - private static final String GLOBAL_CUSTOMER_ID = "997"; - private static final String SUBSCRIBER_NAME = "name"; - private static final String SUBSCRIBER_TYPE = "subscriber_type"; - private static final String RESOURCE_VERSION = "1"; - private static final String SERVICE_TYPE = "service_type"; - - @Mock - private AaiClientInterface aaiClientInterface; - - @InjectMocks - private RoleGenaratorServiceImpl testSubject; - - @BeforeClass - public void beforeClass() { - initMocks(this); - } - - @BeforeMethod - public void resetMocks() { - Mockito.reset(aaiClientInterface); - } - - @Test - public void tenerateRoleScript_firstRun() { - boolean firstRun = true; - - Subscriber subscriber = createSubscriber(); - AaiResponse<SubscriberList> subscribers = createSubscriberListAaiResponse(subscriber); - doReturn(subscribers).when(aaiClientInterface).getAllSubscribers(); - - ServiceSubscription serviceSubscription = createServiceSubscription(); - AaiResponse<Services> subscriberResponse = createServicesAaiResponse(serviceSubscription); - doReturn(subscriberResponse).when(aaiClientInterface).getSubscriberData(subscriber.globalCustomerId,false); - - String result = testSubject.generateRoleScript(firstRun); - Assert.assertTrue(StringUtils.isNotBlank(result)); - } - - @Test - public void tenerateRoleScript_notAFirstRun() { - boolean firstRun = false; - - Subscriber subscriber = createSubscriber(); - AaiResponse<SubscriberList> subscribers = createSubscriberListAaiResponse(subscriber); - doReturn(subscribers).when(aaiClientInterface).getAllSubscribers(); - - ServiceSubscription serviceSubscription = createServiceSubscription(); - AaiResponse<Services> subscriberResponse = createServicesAaiResponse(serviceSubscription); - doReturn(subscriberResponse).when(aaiClientInterface).getSubscriberData(subscriber.globalCustomerId, false); - - String result = testSubject.generateRoleScript(firstRun); - Assert.assertTrue(StringUtils.isNotBlank(result)); - } - - @Test(expectedExceptions = { Exception.class }) - public void tenerateRoleScript_errorGettingDataFromAAIClient() { - boolean firstRun = false; - - doThrow(new Exception("This is expected.")).when(aaiClientInterface).getAllSubscribers(); - - String result = testSubject.generateRoleScript(firstRun); - Assert.fail(); - } - - private ServiceSubscription createServiceSubscription() { - ServiceSubscription serviceSubscription = new ServiceSubscription(); - serviceSubscription.serviceType = SERVICE_TYPE; - return serviceSubscription; - } - - private AaiResponse<SubscriberList> createSubscriberListAaiResponse(Subscriber subscriber) { - AaiResponse<SubscriberList> subscribers = new AaiResponse<>(new SubscriberList(new ArrayList<>()), "", 200); - subscribers.getT().customer.add(subscriber); - return subscribers; - } - - private AaiResponse<Services> createServicesAaiResponse(ServiceSubscription serviceSubscription) { - AaiResponse<Services> subscriberResponse = new AaiResponse<>(new Services(), "", 200); - subscriberResponse.getT().serviceSubscriptions = new ServiceSubscriptions(); - subscriberResponse.getT().serviceSubscriptions.serviceSubscription = new ArrayList<>(); - subscriberResponse.getT().serviceSubscriptions.serviceSubscription.add(serviceSubscription); - return subscriberResponse; - } - - private Subscriber createSubscriber() { - Subscriber subscriber = new Subscriber(); - subscriber.globalCustomerId = GLOBAL_CUSTOMER_ID; - subscriber.subscriberName = SUBSCRIBER_NAME; - subscriber.subscriberType = SUBSCRIBER_TYPE; - subscriber.resourceVersion = RESOURCE_VERSION; - return subscriber; - } - - -} |