aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/services
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/services')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java69
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceTest.java29
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java107
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/CsvServiceTest.java80
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/TestSuite.java11
5 files changed, 296 insertions, 0 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java
new file mode 100644
index 000000000..e73838c92
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceImplTest.java
@@ -0,0 +1,69 @@
+package org.onap.vid.services;
+
+import static org.junit.Assert.*;
+import java.util.*;
+
+import org.json.simple.JSONArray;
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.vid.changeManagement.ChangeManagementRequest;
+import org.onap.vid.changeManagement.RequestDetails;
+import org.onap.vid.mso.rest.Request;
+import org.springframework.http.ResponseEntity;
+
+public class ChangeManagementServiceImplTest {
+
+ /*TODO: fix private ChangeManagementServiceImpl createTestSubject() {
+ return new ChangeManagementServiceImpl();
+ }*/
+
+
+ /*@Test
+ public void testGetMSOChangeManagements() throws Exception {
+ ChangeManagementServiceImpl testSubject;
+ Collection<Request> result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getMSOChangeManagements();
+ }
+
+
+ @Test
+ public void testFindRequestByVnfName() throws Exception {
+ ChangeManagementServiceImpl testSubject;List<RequestDetails> requests = null;
+ String vnfName = "";
+ RequestDetails result;
+
+ // test 1
+ testSubject=createTestSubject();requests = null;
+ result=Deencapsulation.invoke(testSubject, "findRequestByVnfName", new Object[]{List<RequestDetails>.class, vnfName});
+ Assert.assertEquals(null, result);
+ }*/
+/*
+
+ @Test
+ public void testDoChangeManagement() throws Exception {
+ ChangeManagementServiceImpl testSubject;
+ ChangeManagementRequest request = null;
+ String vnfName = "";
+ ResponseEntity<String> result;
+
+ // test 1
+ testSubject = createTestSubject();
+ request = null;
+ result = testSubject.doChangeManagement(request, vnfName);
+ Assert.assertEquals(null, result);
+ }
+
+
+ @Test
+ public void testGetSchedulerChangeManagements() throws Exception {
+ ChangeManagementServiceImpl testSubject;
+ JSONArray result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getSchedulerChangeManagements();
+ }*/
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceTest.java b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceTest.java
new file mode 100644
index 000000000..f3df4c6a9
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceTest.java
@@ -0,0 +1,29 @@
+package org.onap.vid.services;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.vid.changeManagement.ChangeManagementRequest;
+import org.onap.vid.changeManagement.ChangeManagementResponse;
+import org.springframework.http.ResponseEntity;
+
+import junit.framework.Assert;
+
+import static org.junit.Assert.*;
+
+
+public class ChangeManagementServiceTest {
+ @Before
+ public void setUp() throws Exception {
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void doChangeManagement_requestTypeIsUpdateVnfNotFound_doUpdateAndReturnNull() throws Exception {
+
+ }
+
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java
new file mode 100644
index 000000000..f692bdc6d
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/services/ChangeManagementServiceUnitTest.java
@@ -0,0 +1,107 @@
+package org.onap.vid.services;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.io.IOUtils;
+import org.mockito.ArgumentCaptor;
+import org.openecomp.portalsdk.core.util.SystemProperties;
+import org.onap.vid.changeManagement.ChangeManagementRequest;
+import org.onap.vid.controller.MsoConfig;
+import org.onap.vid.controller.WebConfig;
+import org.onap.vid.model.RequestReferencesContainer;
+import org.onap.vid.mso.RestObject;
+import org.onap.vid.mso.rest.MsoRestClientNew;
+import org.onap.vid.mso.rest.RequestDetails;
+import org.onap.vid.properties.AsdcClientConfiguration;
+import org.onap.vid.services.ChangeManagementService;
+import org.onap.vid.services.ChangeManagementServiceImpl;
+import org.onap.vid.testUtils.RegExMatcher;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
+import org.springframework.test.context.web.WebAppConfiguration;
+import org.testng.annotations.Test;
+
+import javax.inject.Inject;
+import java.net.URL;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.hamcrest.core.IsInstanceOf.instanceOf;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.*;
+
+
+@Test
+@ContextConfiguration(classes = {WebConfig.class, AsdcClientConfiguration.class, SystemProperties.class, ChangeManagementServiceUnitTest.TestMsoConfig.class})
+@WebAppConfiguration
+public class ChangeManagementServiceUnitTest extends AbstractTestNGSpringContextTests {
+
+ private ObjectMapper objectMapper = new ObjectMapper();
+ @Inject
+ private ChangeManagementService changeManagementService;
+ @Inject
+ private MsoRestClientNew restClientUnderTest;
+
+ // @Test
+ void testInPlaceSoftwareUpdateRequest() throws Exception {
+
+
+ doReturn(new RestObject<RequestReferencesContainer>()).when(restClientUnderTest).PostForObject(anyObject(), anyString(), anyString(), anyObject());
+
+ URL requestJsonUrl = this.getClass().getResource("/services/change_management_software_update_request.json");
+ ChangeManagementRequest changeManagementRequest = objectMapper.readValue(requestJsonUrl, ChangeManagementRequest.class);
+ changeManagementService.doChangeManagement(changeManagementRequest, "vidVnf");
+
+ ArgumentCaptor<String> endpointCaptor = ArgumentCaptor.forClass(String.class);
+ ArgumentCaptor<String> sourceIdCaptor = ArgumentCaptor.forClass(String.class);
+ ArgumentCaptor<Object> requestCaptor = ArgumentCaptor.forClass(Object.class);
+ ArgumentCaptor<Class> responseTypeCaptor = ArgumentCaptor.forClass(Class.class);
+ verify(restClientUnderTest).PostForObject(requestCaptor.capture(), sourceIdCaptor.capture(), endpointCaptor.capture(), responseTypeCaptor.capture());
+
+ org.onap.vid.changeManagement.RequestDetails expectedRequest = changeManagementRequest.getRequestDetails().get(0);
+
+ String serviceInstanceId = expectedRequest.getRelatedInstList().get(0).getRelatedInstance().instanceId;
+ ;
+ String vnfInstanceId = expectedRequest.getVnfInstanceId();
+ String regEx = String.format("/serviceInstances/v[0-9]+/%s/vnfs/%s/inPlaceSoftwareUpdate", serviceInstanceId, vnfInstanceId);
+ assertThat(endpointCaptor.getValue(), RegExMatcher.matchesRegEx(regEx));
+ assertThat(requestCaptor.getValue(), instanceOf(RequestDetails.class));
+ RequestDetails actualRequest = ((RequestDetails) requestCaptor.getValue());
+
+ assertThat(actualRequest.getCloudConfiguration().getTenantId(), equalTo(expectedRequest.getCloudConfiguration().getTenantId()));
+ assertThat(actualRequest.getCloudConfiguration().getLcpCloudRegionId(), equalTo(expectedRequest.getCloudConfiguration().getLcpCloudRegionId()));
+ assertThat(actualRequest.getRequestInfo(), equalTo(expectedRequest.getRequestInfo()));
+ assertThat(actualRequest.getRequestParameters(), equalTo(expectedRequest.getRequestParameters()));
+
+ URL expectedMsoRequestUrl = this.getClass().getResource("/services/change_management_software_update_expected_mso_request.json");
+ String expectedMsoRequestString = IOUtils.toString(expectedMsoRequestUrl, "UTF-8");
+ String actualRequestString = objectMapper.writeValueAsString(actualRequest);
+ try {
+ JSONAssert.assertEquals("built mso request is not ok", expectedMsoRequestString, actualRequestString, JSONCompareMode.NON_EXTENSIBLE);
+ } catch (AssertionError | Exception e) {
+ System.out.println("requestDetailsAsString: \n" + actualRequestString);
+ System.out.println("expected: \n" + expectedMsoRequestString);
+ throw e;
+ }
+
+ }
+
+ @Configuration
+ public static class TestMsoConfig extends MsoConfig {
+
+ @Override
+ public MsoRestClientNew getMsoClient() {
+ MsoRestClientNew spyClient = spy(new MsoRestClientNew());
+ return spyClient;
+ }
+
+ @Bean
+ public ChangeManagementService getChangeManagementService() {
+ return new ChangeManagementServiceImpl(null, getMsoBusinessLogic());
+ }
+ }
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/CsvServiceTest.java b/vid-app-common/src/test/java/org/onap/vid/services/CsvServiceTest.java
new file mode 100644
index 000000000..051a1cf45
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/services/CsvServiceTest.java
@@ -0,0 +1,80 @@
+//package org.onap.vid.services;
+//import org.apache.commons.io.IOUtils;
+//import org.onap.vid.services.CsvServiceImpl;
+//import org.skyscreamer.jsonassert.JSONAssert;
+//import org.skyscreamer.jsonassert.JSONCompareMode;
+//import org.testng.Assert;
+//import org.testng.annotations.DataProvider;
+//import org.testng.annotations.Test;
+//import org.json.JSONObject;
+//
+//import javax.ws.rs.BadRequestException;
+//import java.io.IOException;
+//import java.lang.reflect.Method;
+//import java.net.URL;
+//import java.util.List;
+//
+//@Test
+//public class CsvServiceTest {
+//
+// private CsvServiceImpl csvService = new CsvServiceImpl();
+// private final static String CSV_FOLDER = "csv_files/{CSV_FILE}";
+// private final static String VALID_CSV = "csv_to_json.csv";
+// private final static String ONE_LINE_CSV = "one_line.csv";
+// private final static String EMPTY_CSV = "empty_file.csv";
+// private final static String MISSING_CONTENT_CSV = "missing_content.csv";
+// private final static String MISSING_VALUES_CSV = "missing_values.csv";
+//
+//
+///*
+// @Test
+// public void parseValidCsv() throws IllegalAccessException, IOException, InstantiationException {
+// String expectedJson = getExpectation("vnfConfigUpdatePayload.json");
+// readAndParse(VALID_CSV,16,expectedJson);
+//
+// }*/
+//
+// private String getExpectation(String modelFileName) throws IOException {
+// // load expected result
+// final URL resource = this.getClass().getResource("/" + modelFileName);
+// String expected = IOUtils.toString(resource, "UTF-8");
+// return expected;
+// }
+///*
+// @Test
+// public void parseOneLineCsv() throws IllegalAccessException, IOException, InstantiationException {
+// String expectedJson ="{\"payload\":{\"request-parameters\":{\"vnf-name\":\"ibcx0099v\"}}}";
+// readAndParse(ONE_LINE_CSV,1,expectedJson);
+// }*/
+//
+// @DataProvider
+// public static Object[][] invalidFiles(Method test) {
+// return new Object[][]{
+// {MISSING_CONTENT_CSV}, {MISSING_VALUES_CSV}
+// };
+// }
+///*
+// @Test(dataProvider = "invalidFiles", expectedExceptions = {BadRequestException.class}, expectedExceptionsMessageRegExp = "Invalid csv file")
+// public void parseMissingContentCsv(String invalidFile) throws IllegalAccessException, IOException, InstantiationException {
+// readAndParse(invalidFile, 2, null);
+// }
+//
+//
+// @Test
+// public void parseEmptyCsv() throws IllegalAccessException, IOException, InstantiationException {
+// String expectedJson ="{}";
+// readAndParse(EMPTY_CSV,0,expectedJson);
+// }
+//
+// private void readAndParse(String fileName, int expectedNumRows, String expectedJson) throws IllegalAccessException, IOException, InstantiationException {
+// final URL resource = CsvServiceTest.class.getClassLoader().getResource(CSV_FOLDER.replaceFirst("\\{CSV_FILE\\}", fileName));
+// Assert.assertNotNull(resource, "The csv file was not found");
+// List<String[]> content = csvService.readCsv(resource.getPath());
+// Assert.assertEquals(content.size(), expectedNumRows, "The number of non-empty lines in file is wrong");
+// JSONObject json = csvService.convertCsvToJson (content);
+// JSONAssert.assertEquals(expectedJson, json, JSONCompareMode.STRICT);
+//
+// }*/
+//
+//
+//}
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/TestSuite.java b/vid-app-common/src/test/java/org/onap/vid/services/TestSuite.java
new file mode 100644
index 000000000..e43432467
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/services/TestSuite.java
@@ -0,0 +1,11 @@
+package org.onap.vid.services;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses(
+
+{ ChangeManagementServiceImplTest.class, ChangeManagementServiceTest.class })
+public class TestSuite { // nothing
+}