aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/controllers
diff options
context:
space:
mode:
authorOfir Sonsino <os0695@att.com>2018-02-20 18:03:30 +0200
committerOfir Sonsino <os0695@intl.att.com>2018-02-27 14:47:52 +0200
commitefedea1c5d80532f5b1180d57c8dafce5dcb302a (patch)
treec4bdefe8758b01f31c9e91a9ded0ab989daeb5e2 /vid-app-common/src/test/java/org/onap/vid/controllers
parentb94bd70f1595fad9546c3506393613f68504f495 (diff)
org.onap migration
Change-Id: I5e2d01a6da21d4003c910b5fe0702b35c2089a77 Issue-ID: VID-86 Signed-off-by: Ofir Sonsino <os0695@intl.att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/controllers')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/AaiControllerTest.java52
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java48
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/LocalWebConfig.java70
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/MsoControllerTest.java109
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java168
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/PropertyControllerTest.java40
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/ToscaParserMockHelper.java42
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java187
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controllers/ViewEditSubControllerTest.java46
9 files changed, 762 insertions, 0 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/AaiControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/AaiControllerTest.java
new file mode 100644
index 000000000..bb055266b
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/AaiControllerTest.java
@@ -0,0 +1,52 @@
+package org.onap.vid.controllers;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.json.simple.JSONObject;
+import org.junit.Test;
+import org.onap.vid.controllers.AaiController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.servlet.ModelAndView;
+
+public class AaiControllerTest {
+
+ private AaiController createTestSubject() {
+ return new AaiController();
+ }
+
+ @Test
+ public void testWelcome() throws Exception {
+ AaiController testSubject;
+ HttpServletRequest request = null;
+ ModelAndView result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.welcome(request);
+ }
+
+
+ @Test
+ public void testGetTargetProvStatus() throws Exception {
+ AaiController testSubject;
+ ResponseEntity<String> result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getTargetProvStatus();
+ }
+
+ @Test
+ public void testViewEditGetTenantsFromServiceType() throws Exception {
+ AaiController testSubject;
+ HttpServletRequest request = null;
+ String globalCustomerId = "";
+ String serviceType = "";
+ ResponseEntity<String> result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.viewEditGetTenantsFromServiceType(request, globalCustomerId, serviceType);
+ }
+
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java
new file mode 100644
index 000000000..ca7a163a8
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/HealthCheckControllerTest.java
@@ -0,0 +1,48 @@
+package org.onap.vid.controllers;
+
+import org.junit.Test;
+import org.onap.vid.controllers.HealthCheckController;
+import org.onap.vid.controllers.HealthCheckController.HealthStatus;
+
+public class HealthCheckControllerTest {
+
+ private HealthCheckController createTestSubject() {
+ return new HealthCheckController();
+ }
+
+ @Test
+ public void testGetProfileCount() throws Exception {
+ HealthCheckController testSubject;
+ String driver = "";
+ String URL = "";
+ String username = "";
+ String password = "";
+ int result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getProfileCount(driver, URL, username, password);
+ }
+
+ @Test
+ public void testGethealthCheckStatusforIDNS() throws Exception {
+ HealthCheckController testSubject;
+ HealthStatus result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.gethealthCheckStatusforIDNS();
+ }
+
+ @Test
+ public void testGetHealthCheck() throws Exception {
+ HealthCheckController testSubject;
+ String UserAgent = "";
+ String ECOMPRequestID = "";
+ HealthStatus result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getHealthCheck(UserAgent, ECOMPRequestID);
+ }
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/LocalWebConfig.java b/vid-app-common/src/test/java/org/onap/vid/controllers/LocalWebConfig.java
new file mode 100644
index 000000000..d87fab473
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/LocalWebConfig.java
@@ -0,0 +1,70 @@
+package org.onap.vid.controllers;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.io.IOUtils;
+import org.json.JSONObject;
+import org.json.JSONTokener;
+import org.onap.vid.aai.AaiClient;
+import org.onap.vid.aai.AaiClientInterface;
+import org.onap.vid.asdc.AsdcClient;
+import org.onap.vid.asdc.local.LocalAsdcClient;
+import org.onap.vid.asdc.parser.ToscaParserImpl2;
+import org.onap.vid.controllers.VidController;
+import org.onap.vid.services.AaiService;
+import org.onap.vid.services.AaiServiceImpl;
+import org.onap.vid.services.VidService;
+import org.onap.vid.services.VidServiceImpl;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+@Configuration
+public class LocalWebConfig {
+
+ /**
+ * Gets the object mapper.
+ *
+ * @return the object mapper
+ */
+ @Bean
+ public ObjectMapper getObjectMapper() {
+ return new ObjectMapper();
+ }
+
+
+ @Bean
+ public VidService vidService(AsdcClient asdcClient) {
+ return new VidServiceImpl(asdcClient);
+ }
+
+ @Bean
+ public AaiService getAaiService() {
+ return new AaiServiceImpl();
+ }
+
+ @Bean
+ public AaiClientInterface getAaiClientInterface() {
+ return new AaiClient();
+ }
+
+ @Bean
+ public AsdcClient asdcClient() throws IOException {
+
+
+ final InputStream asdcServicesFile = VidController.class.getClassLoader().getResourceAsStream("sdcservices.json");
+
+ final JSONTokener jsonTokener = new JSONTokener(IOUtils.toString(asdcServicesFile));
+ final JSONObject sdcServicesCatalog = new JSONObject(jsonTokener);
+
+ return new LocalAsdcClient.Builder().catalog(sdcServicesCatalog).build();
+
+ }
+
+ @Bean
+ public ToscaParserImpl2 getToscaParser() {
+ return new ToscaParserImpl2();
+ }
+
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/MsoControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/MsoControllerTest.java
new file mode 100644
index 000000000..0d1559548
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/MsoControllerTest.java
@@ -0,0 +1,109 @@
+package org.onap.vid.controllers;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.onap.vid.controllers.MsoConfig;
+import org.onap.vid.controllers.MsoController;
+import org.onap.vid.domain.mso.RequestInfo;
+import org.onap.vid.factories.MsoRequestFactory;
+import org.onap.vid.mso.rest.Request;
+import org.onap.vid.mso.rest.RequestDetails;
+import org.onap.vid.mso.rest.Task;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+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.Assert.*;
+import org.testng.annotations.Test;
+
+import java.util.List;
+
+
+@WebAppConfiguration
+@ContextConfiguration(classes = {SystemProperties.class, MsoConfig.class})
+public class MsoControllerTest extends AbstractTestNGSpringContextTests {
+
+ @Autowired
+ MsoRequestFactory msoRequestFactory;
+
+ @Test(enabled = false)
+ public void testInstanceCreationNew() throws Exception {
+
+ RequestDetails requestDetails = msoRequestFactory.createMsoRequest("msoRequest.json");
+ MsoController msoController = new MsoController(null);
+ //TODO: make ths test to really test something
+ //ResponseEntity<String> responseEntityNew = msoController.createSvcInstanceNew(null, requestDetails);
+ ResponseEntity<String> responseEntity = msoController.createSvcInstance(null, requestDetails);
+ //Assert.assertEquals(responseEntityNew, responseEntity);
+
+ }
+
+ @Test(enabled = false)
+ public void testInstanceCreationLocalWithRest() throws Exception {
+
+ RequestDetails requestDetails = msoRequestFactory.createMsoRequest("msoRequest.json");
+ MsoController msoController = new MsoController(null);
+ ResponseEntity<String> responseEntityNew = msoController.createSvcInstance(null, requestDetails);
+ //TODO: make ths test to really test something
+// ResponseEntity<String> responseEntityRest = msoController.createSvcInstanceNewRest(null, requestDetails);
+//
+// Assert.assertEquals(responseEntityNew.getBody(), responseEntityRest.getBody());
+
+ }
+
+ @Test(enabled = false)
+ public void testInstanceCreation() throws Exception {
+
+ RequestDetails requestDetails = msoRequestFactory.createMsoRequest("msoRequest.json");
+ MsoController msoController = new MsoController(null);
+ ResponseEntity<String> responseEntity = msoController.createSvcInstance(null, requestDetails);
+
+
+ Assert.assertEquals(responseEntity.getBody(), "{ \"status\": 200, \"entity\": {\n" +
+ " \"requestReferences\": {\n" +
+ " \"instanceId\": \"ba00de9b-3c3e-4b0a-a1ad-0c5489e711fb\",\n" +
+ " \"requestId\": \"311cc766-b673-4a50-b9c5-471f68914586\"\n" +
+ " }\n" +
+ "}}");
+
+ }
+
+ @Test(enabled = false)
+ public void testGetOrchestrationRequestsForDashboard() throws Exception {
+ MsoController msoController = new MsoController(null);
+ List<Request> orchestrationRequestsForDashboard = msoController.getOrchestrationRequestsForDashboard();
+
+ Assert.assertEquals(orchestrationRequestsForDashboard.size(), 2);
+ }
+
+ @Test(enabled = false)
+ public void testGetManualTasksByRequestId() throws Exception {
+ MsoController msoController = new MsoController(null);
+ List<Task> orchestrationRequestsForDashboard = msoController.getManualTasksByRequestId("za1234d1-5a33-55df-13ab-12abad84e335");
+
+ Assert. assertEquals(orchestrationRequestsForDashboard.get(0).getTaskId(), "daf4dd84-b77a-42da-a051-3239b7a9392c");
+ }
+
+
+ public void testCompleteManualTask() throws Exception { // TODO not done yet
+ RequestInfo requestInfo = new RequestInfo();
+ requestInfo.setResponseValue("rollback");
+ requestInfo.setRequestorId("abc");
+ requestInfo.setSource("VID");
+ RequestDetails requestDetails = new RequestDetails();
+ requestDetails.setRequestInfo(requestInfo);
+ MsoController msoController = new MsoController(null);
+ ResponseEntity<String> responseEntity = msoController.manualTaskComplete("daf4dd84-b77a-42da-a051-3239b7a9392c", requestDetails);
+ String assertString = "{ \\\"status\\\": 200, \\\"entity\\\": {\\n\" +\n" +
+ " \" \\\"taskRequestReference\\\": {\\n\" +\n" +
+ " \" \\\"taskId\\\": \\\"daf4dd84-b77a-42da-a051-3239b7a9392c\\\"\\n\" +\n" +
+ " \" }\\n\" +\n" +
+ " \"}\\n\" +\n" +
+ " \"}";
+ Assert.assertEquals(responseEntity.getBody(), StringEscapeUtils.unescapeJava(assertString));
+ }
+
+
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java
new file mode 100644
index 000000000..77dba37e9
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/PromiseEcompRequestIdFilterTest.java
@@ -0,0 +1,168 @@
+package org.onap.vid.controllers;
+
+import com.google.common.collect.ImmutableMap;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
+import org.mockito.stubbing.Answer;
+import org.onap.portalsdk.core.web.support.UserUtils;
+import org.onap.vid.controller.filter.PromiseEcompRequestIdFilter;
+import org.springframework.mock.web.MockHttpServletResponse;
+import org.testng.annotations.Test;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.*;
+import java.util.function.Function;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.argThat;
+import static org.onap.portalsdk.core.util.SystemProperties.ECOMP_REQUEST_ID;
+
+@Test
+public class PromiseEcompRequestIdFilterTest {
+
+ private final String anotherHeader = "ANDREI_RUBLEV";
+ private final String anotherValue = "foo value";
+ private final String mixedCaseHeader = "x-ecomp-REQUESTID";
+
+ @Test
+ public void givenRequestIdHeader_headerValueNotChanged() throws IOException, ServletException {
+
+ final String someTxId = "863850e2-8545-4efd-94b8-afba5f52b3d5";
+
+ final ImmutableMap<String, String> incomingRequestHeaders = ImmutableMap.of(
+ anotherHeader, anotherValue,
+ ECOMP_REQUEST_ID, someTxId
+ );
+
+ buildRequestThenRunThroughFilterAndAssertResultRequestHeaders(incomingRequestHeaders, specificTxId(someTxId));
+ }
+
+ @Test
+ public void givenMixedCaseRequestIdHeader_headerValueNotChanged() throws IOException, ServletException {
+
+ final String someTxId = "729bbd8d-b0c2-4809-a794-dcccd9cda2c0";
+
+ final ImmutableMap<String, String> incomingRequestHeaders = ImmutableMap.of(
+ mixedCaseHeader, someTxId,
+ anotherHeader, anotherValue
+ );
+
+ buildRequestThenRunThroughFilterAndAssertResultRequestHeaders(incomingRequestHeaders, specificTxId(someTxId));
+ }
+
+ @Test
+ public void givenNoRequestIdHeader_headerValueWasGenerated() throws IOException, ServletException {
+
+ final ImmutableMap<String, String> incomingRequestHeaders = ImmutableMap.of(
+ anotherHeader, anotherValue
+ );
+
+ buildRequestThenRunThroughFilterAndAssertResultRequestHeaders(incomingRequestHeaders, UserUtils::getRequestId);
+ }
+
+
+ private void buildRequestThenRunThroughFilterAndAssertResultRequestHeaders(
+ ImmutableMap<String, String> originalRequestHeaders,
+ Function<HttpServletRequest, String> txIdExtractor
+ ) throws IOException, ServletException {
+ HttpServletRequest servletRequest = createMockedHttpServletRequest(originalRequestHeaders);
+ HttpServletResponse servletResponse = createMockedHttpServletResponse();
+
+ final FilterChain capturingFilterChain = Mockito.mock(FilterChain.class);
+
+ //////////////////
+ //
+ // doFilter() is the function under test
+ //
+ new PromiseEcompRequestIdFilter().doFilter(servletRequest, servletResponse, capturingFilterChain);
+ //
+ //////////////////
+
+ final ServletRequest capturedServletRequest = extractCapturedServletRequest(capturingFilterChain);
+ final ServletResponse capturedServletResponse = extractCapturedServletResponse(capturingFilterChain);
+ final String expectedTxId = txIdExtractor.apply((HttpServletRequest) capturedServletRequest);
+
+ assertRequestObjectHeaders(capturedServletRequest, expectedTxId);
+ assertResponseObjectHeaders(capturedServletResponse, expectedTxId);
+ }
+
+
+ private void assertRequestObjectHeaders(ServletRequest request, String expectedTxId) {
+ /*
+ Assert that:
+ - Two headers are in place
+ - Direct value extraction is as expected
+ - UserUtils.getRequestId() returns correct and valid value
+ */
+ final HttpServletRequest httpServletRequest = (HttpServletRequest) request;
+
+ assertThat(Collections.list(httpServletRequest.getHeaderNames()),
+ containsInAnyOrder(equalToIgnoringCase(ECOMP_REQUEST_ID), equalToIgnoringCase(anotherHeader)));
+
+ assertThat(httpServletRequest.getHeader(anotherHeader), is(anotherValue));
+
+ assertThat(httpServletRequest.getHeader(ECOMP_REQUEST_ID), is(expectedTxId));
+ assertThat(httpServletRequest.getHeader(mixedCaseHeader), is(expectedTxId));
+
+ assertThat(UserUtils.getRequestId(httpServletRequest), is(expectedTxId));
+ assertThat(UserUtils.getRequestId(httpServletRequest), is(not(emptyOrNullString())));
+ }
+
+ private void assertResponseObjectHeaders(ServletResponse response, String txId) {
+ final String REQUEST_ID_HEADER_NAME_IN_RESPONSE = mixedCaseHeader + "-echo";
+ final HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+
+ assertThat("header " + REQUEST_ID_HEADER_NAME_IN_RESPONSE.toLowerCase() + " in response must be provided",
+ httpServletResponse.getHeader(REQUEST_ID_HEADER_NAME_IN_RESPONSE), is(txId));
+ }
+
+
+
+ private HttpServletRequest createMockedHttpServletRequest(Map<String, String> requestHeaders) {
+ HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class);
+ requestHeaders.forEach((k, v) -> {
+ Mockito.when(servletRequest.getHeader(argThat(equalToIgnoringCase(k)))).thenReturn(v);
+ Mockito.when(servletRequest.getHeaders(argThat(equalToIgnoringCase(k)))).then(returnEnumerationAnswer(v));
+ });
+ Mockito.when(servletRequest.getHeaderNames()).then(returnEnumerationAnswer(requestHeaders.keySet()));
+ return servletRequest;
+ }
+
+ private HttpServletResponse createMockedHttpServletResponse() {
+ return new MockHttpServletResponse();
+ }
+
+ private static Answer<Enumeration<String>> returnEnumerationAnswer(String ... items) {
+ return returnEnumerationAnswer(Arrays.asList(items));
+ }
+
+ private static Answer<Enumeration<String>> returnEnumerationAnswer(Collection<String> items) {
+ return invocation -> Collections.enumeration(items);
+ }
+
+ private Function<HttpServletRequest, String> specificTxId(String someTxId) {
+ return r -> someTxId;
+ }
+
+ private ServletRequest extractCapturedServletRequest(FilterChain capturingFilterChain) throws IOException, ServletException {
+ ArgumentCaptor<ServletRequest> captor = ArgumentCaptor.forClass(ServletRequest.class);
+ Mockito.verify(capturingFilterChain).doFilter(captor.capture(), any());
+ return captor.getValue();
+ }
+
+ private ServletResponse extractCapturedServletResponse(FilterChain capturingFilterChain) throws IOException, ServletException {
+ ArgumentCaptor<ServletResponse> captor = ArgumentCaptor.forClass(ServletResponse.class);
+ Mockito.verify(capturingFilterChain).doFilter(any(), captor.capture());
+ return captor.getValue();
+ }
+
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/PropertyControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/PropertyControllerTest.java
new file mode 100644
index 000000000..b4a6a8f96
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/PropertyControllerTest.java
@@ -0,0 +1,40 @@
+package org.onap.vid.controllers;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.junit.Test;
+import org.onap.vid.controllers.PropertyController;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.servlet.ModelAndView;
+
+public class PropertyControllerTest {
+
+ private PropertyController createTestSubject() {
+ return new PropertyController();
+ }
+
+ @Test
+ public void testWelcome() throws Exception {
+ PropertyController testSubject;
+ HttpServletRequest request = null;
+ ModelAndView result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.welcome(request);
+ }
+
+
+ @Test
+ public void testGetProperty() throws Exception {
+ PropertyController testSubject;
+ String name = "";
+ String defaultvalue = "";
+ HttpServletRequest request = null;
+ ResponseEntity<String> result;
+
+ // default test
+ testSubject = createTestSubject();
+ result = testSubject.getProperty(name, defaultvalue, request);
+ }
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/ToscaParserMockHelper.java b/vid-app-common/src/test/java/org/onap/vid/controllers/ToscaParserMockHelper.java
new file mode 100644
index 000000000..317c8e505
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/ToscaParserMockHelper.java
@@ -0,0 +1,42 @@
+package org.onap.vid.controllers;
+
+import org.onap.vid.model.NewServiceModel;
+
+/**
+ * Created by moriya1 on 04/07/2017.
+ */
+public class ToscaParserMockHelper {
+
+ private String uuid;
+ private String filePath;
+ private NewServiceModel newServiceModel;
+
+ public ToscaParserMockHelper(String uuid, String filePath) {
+ this.uuid = uuid;
+ this.filePath = filePath;
+ }
+
+ public String getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+
+ public String getFilePath() {
+ return filePath;
+ }
+
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
+
+ public NewServiceModel getNewServiceModel() {
+ return newServiceModel;
+ }
+
+ public void setNewServiceModel(NewServiceModel newServiceModel) {
+ this.newServiceModel = newServiceModel;
+ }
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java
new file mode 100644
index 000000000..50a12a3e6
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/VidControllerTest.java
@@ -0,0 +1,187 @@
+package org.onap.vid.controllers;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import net.javacrumbs.jsonunit.JsonAssert;
+import org.apache.commons.io.IOUtils;
+import org.onap.vid.asdc.AsdcCatalogException;
+import org.onap.vid.asdc.AsdcClient;
+import org.onap.vid.asdc.parser.ToscaParserImpl2;
+import org.onap.vid.model.*;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.mock.web.MockServletContext;
+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.Test;
+
+import static org.onap.vid.testUtils.TestUtils.assertJsonStringEqualsIgnoreNulls;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Path;
+import java.util.Map;
+import java.util.UUID;
+
+//import org.junit.Assert;
+//import org.junit.Ignore;
+//import org.junit.Test;
+//import org.junit.runner.RunWith;
+//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class})
+//@RunWith(SpringJUnit4ClassRunner.class)
+@WebAppConfiguration
+
+public class VidControllerTest extends AbstractTestNGSpringContextTests {
+
+ @Autowired
+ MockServletContext context;
+ @Autowired
+ private AsdcClient asdcClient;
+ private ToscaParserImpl2 p2 = new ToscaParserImpl2();
+ private ObjectMapper om = new ObjectMapper();
+
+
+ @Test
+ public void assertEqualsBetweenServices() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Service expectedService = mockHelper.getNewServiceModel().getService();
+ Service actualService = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getService();
+ assertJsonStringEqualsIgnoreNulls(om.writeValueAsString(expectedService), om.writeValueAsString(actualService));
+ }
+ }
+
+// @Test
+// public void assertEqualBetweenObjects() throws Exception {
+// for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+// final Path csarPath = getCsarPath(mockHelper.getUuid());
+// System.out.println("Comparing for csar " + csarPath);
+// ServiceModel actualServiceModel = p2.makeServiceModel(csarPath, getServiceByUuid(mockHelper.getUuid()));
+// assertJsonStringEqualsIgnoreNulls(om.writeValueAsString(mockHelper.getNewServiceModel()), om.writeValueAsString(actualServiceModel));
+// }
+// }
+
+// @Test
+// public void assertEqualsBetweenNetworkNodes() throws Exception {
+// for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+// Map<String, Network> expectedNetworksMap = mockHelper.getNewServiceModel().getNetworks();
+// Map<String, Network> actualNetworksMap = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getNetworks();
+// for (Map.Entry<String, Network> entry : expectedNetworksMap.entrySet()) {
+// Network expectedNetwork = entry.getValue();
+// Network actualNetwork = actualNetworksMap.get(entry.getKey());
+// Assert.assertEquals(expectedNetwork.getModelCustomizationName(), actualNetwork.getModelCustomizationName());
+// verifyBaseNodeProperties(expectedNetwork, actualNetwork);
+// compareProperties(expectedNetwork.getProperties(), actualNetwork.getProperties());
+// }
+// }
+// }
+
+ //Because we are not supporting the old flow, the JSON are different by definition.
+ @Test
+ public void assertEqualsBetweenVnfsOfTosca() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Map<String, VNF> expectedVnfsMap = mockHelper.getNewServiceModel().getVnfs();
+ Map<String, VNF> actualVnfsMap = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getVnfs();
+ for (Map.Entry<String, VNF> entry : expectedVnfsMap.entrySet()) {
+ VNF expectedVnf = entry.getValue();
+ VNF actualVnf = actualVnfsMap.get(entry.getKey());
+ verifyBaseNodeProperties(expectedVnf, actualVnf);
+ Assert.assertEquals(expectedVnf.getModelCustomizationName(), actualVnf.getModelCustomizationName());
+ compareProperties(expectedVnf.getProperties(), actualVnf.getProperties());
+ assertJsonStringEqualsIgnoreNulls(om.writeValueAsString(expectedVnf), om.writeValueAsString(actualVnf));
+ }
+ }
+ }
+
+ @Test
+ public void assertEqualsBetweenVolumeGroups() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Map<String, VolumeGroup> actualVolumeGroups = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getVolumeGroups();
+ Map<String, VolumeGroup> expectedVolumeGroups = mockHelper.getNewServiceModel().getVolumeGroups();
+ JsonAssert.assertJsonEquals(actualVolumeGroups, expectedVolumeGroups);
+ }
+ }
+
+ @Test
+ public void assertEqualsBetweenVfModules() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Map<String, VfModule> actualVfModules = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getVfModules();
+ Map<String, VfModule> expectedVfModules = mockHelper.getNewServiceModel().getVfModules();
+ JsonAssert.assertJsonEquals(actualVfModules, expectedVfModules);
+ }
+ }
+
+ @Test
+ public void assertEqualsBetweenPolicyConfigurationNodes() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Map<String, PortMirroringConfig> actualConfigurations = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getConfigurations();
+ Map<String, PortMirroringConfig> expectedConfigurations = mockHelper.getNewServiceModel().getConfigurations();
+ JsonAssert.assertJsonEquals(actualConfigurations, expectedConfigurations);
+ }
+ }
+
+ @Test
+ public void assertEqualsBetweenServiceProxyNodes() throws Exception {
+ for (ToscaParserMockHelper mockHelper : getExpectedServiceModel()) {
+ Map<String, ServiceProxy> actualServiceProxies = p2.makeServiceModel(getCsarPath(mockHelper.getUuid()), getServiceByUuid(mockHelper.getUuid())).getServiceProxies();
+ Map<String, ServiceProxy> expectedServiceProxies = mockHelper.getNewServiceModel().getServiceProxies();
+ JsonAssert.assertJsonEquals(actualServiceProxies, expectedServiceProxies);
+ }
+ }
+
+ private void verifyBaseNodeProperties(Node expectedNode, Node actualNode) {
+ Assert.assertEquals(expectedNode.getName(), actualNode.getName());
+ Assert.assertEquals(expectedNode.getCustomizationUuid(), actualNode.getCustomizationUuid());
+ Assert.assertEquals(expectedNode.getDescription(), actualNode.getDescription());
+ Assert.assertEquals(expectedNode.getInvariantUuid(), actualNode.getInvariantUuid());
+ Assert.assertEquals(expectedNode.getUuid(), actualNode.getUuid());
+ Assert.assertEquals(expectedNode.getVersion(), actualNode.getVersion());
+ }
+
+ private void compareProperties(Map<String, String> expectedProperties, Map<String, String> actualProperties) {
+ for (Map.Entry<String, String> property : expectedProperties.entrySet()) {
+ String expectedValue = property.getValue();
+ String key = property.getKey();
+ String actualValue = actualProperties.get(key);
+ Assert.assertEquals(expectedValue, actualValue);
+ }
+ }
+
+ private ToscaParserMockHelper[] getExpectedServiceModel() throws IOException {
+ ToscaParserMockHelper[] mockHelpers = {
+ new ToscaParserMockHelper(Constants.vlUuid, Constants.vlFilePath),
+ new ToscaParserMockHelper(Constants.vfUuid, Constants.vfFilePath),
+ new ToscaParserMockHelper(Constants.configurationUuid, Constants.configurationFilePath),
+ };
+ for (ToscaParserMockHelper mockHelper : mockHelpers) {
+ InputStream jsonFile = VidControllerTest.class.getClassLoader().getResourceAsStream(mockHelper.getFilePath());
+ String expectedJsonAsString = IOUtils.toString(jsonFile);
+ NewServiceModel newServiceModel1 = om.readValue(expectedJsonAsString, NewServiceModel.class);
+ mockHelper.setNewServiceModel(newServiceModel1);
+ }
+ return mockHelpers;
+ }
+
+ private Path getCsarPath(String uuid) throws AsdcCatalogException {
+ return asdcClient.getServiceToscaModel(UUID.fromString(uuid));
+ }
+
+ private org.onap.vid.asdc.beans.Service getServiceByUuid(String uuid) throws AsdcCatalogException {
+ return asdcClient.getService(UUID.fromString(uuid));
+ }
+
+ public class Constants {
+ public static final String configurationUuid = "ee6d61be-4841-4f98-8f23-5de9da846ca7";
+ public static final String configurationFilePath = "policy-configuration-csar.JSON";
+ static final String vfUuid = "48a52540-8772-4368-9cdb-1f124ea5c931";
+ static final String vlUuid = "cb49608f-5a24-4789-b0f7-2595473cb997";
+ // public static final String PNFUuid = "68101369-6f08-4e99-9a28-fa6327d344f3";
+ static final String vfFilePath = "vf-csar.JSON";
+ static final String vlFilePath = "vl-csar.JSON";
+// public static final String PNFFilePath = "/Users/Oren/Git/Att/vid_internal/vid-app-common/src/main/resources/pnf.csar";
+
+ }
+
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/controllers/ViewEditSubControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controllers/ViewEditSubControllerTest.java
new file mode 100644
index 000000000..7d61f98f9
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/controllers/ViewEditSubControllerTest.java
@@ -0,0 +1,46 @@
+package org.onap.vid.controllers;
+//package org.onap.vid.controller;
+//
+//import javax.servlet.http.HttpServletRequest;
+//
+//import org.junit.Test;
+//import org.springframework.web.servlet.ModelAndView;
+//
+//public class ViewEditSubControllerTest {
+//
+// private ViewEditSubController createTestSubject() {
+// return new ViewEditSubController();
+// }
+//
+// @Test
+// public void testWelcome() throws Exception {
+// ViewEditSubController testSubject;
+// HttpServletRequest request = null;
+// ModelAndView result;
+//
+// // default test
+// testSubject = createTestSubject();
+// result = testSubject.welcome(request);
+// }
+//
+//
+// @Test
+// public void testGetViewName() throws Exception {
+// ViewEditSubController testSubject;
+// String result;
+//
+// // default test
+// testSubject = createTestSubject();
+// result = testSubject.getViewName();
+// }
+//
+// @Test
+// public void testSetViewName() throws Exception {
+// ViewEditSubController testSubject;
+// String viewName = "";
+//
+// // default test
+// testSubject = createTestSubject();
+// testSubject.setViewName(viewName);
+// }
+//} \ No newline at end of file