summaryrefslogtreecommitdiffstats
path: root/portal-BE/src/test
diff options
context:
space:
mode:
authorDominik Mizyn <d.mizyn@samsung.com>2019-10-04 12:24:14 +0200
committerDominik Mizyn <d.mizyn@samsung.com>2019-10-04 12:24:30 +0200
commit26abc89a7ce21999cccd88b77cd2ecda21cbe905 (patch)
treed6d6ff67ca2cf3683c00f09fe558ed8399979973 /portal-BE/src/test
parent1a7472103bde3d850f1f410a7d2ae5b249aef92e (diff)
Tests coverage up and some minor bug fixes
Tests coverage up and some minor bug fixes Issue-ID: PORTAL-710 Change-Id: I1abb5025f8cc91738c976bd6a49113776d9b4617 Signed-off-by: Dominik Mizyn <d.mizyn@samsung.com>
Diffstat (limited to 'portal-BE/src/test')
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java77
-rw-r--r--portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java116
-rw-r--r--portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java64
3 files changed, 233 insertions, 24 deletions
diff --git a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java
index c04f50e4..b82ac2f7 100644
--- a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java
+++ b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsCatalogControllerTest.java
@@ -49,6 +49,7 @@ import java.time.LocalDateTime;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import javax.servlet.http.HttpServletRequest;
import javax.transaction.Transactional;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -58,6 +59,7 @@ import org.onap.portal.domain.db.ep.EpWidgetCatalogParameter;
import org.onap.portal.domain.db.fn.FnLanguage;
import org.onap.portal.domain.db.fn.FnUser;
import org.onap.portal.domain.dto.ecomp.WidgetCatalog;
+import org.onap.portal.framework.MockitoTestSuite;
import org.onap.portal.service.ep.EpMicroserviceParameterService;
import org.onap.portal.service.ep.EpWidgetCatalogParameterService;
import org.onap.portal.service.ep.EpWidgetCatalogService;
@@ -70,20 +72,21 @@ import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
+@Transactional
@TestPropertySource(locations = "classpath:test.properties")
public class WidgetsCatalogControllerTest {
private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo",
"demo123");
@Autowired
- WidgetsCatalogController widgetsCatalogController;
+ private WidgetsCatalogController widgetsCatalogController;
@Autowired
- FnLanguageService fnLanguageService;
+ private FnLanguageService fnLanguageService;
@Autowired
- EpWidgetCatalogParameterService epWidgetCatalogParameterService;
+ private EpWidgetCatalogParameterService epWidgetCatalogParameterService;
@Autowired
- EpMicroserviceParameterService epMicroserviceParameterService;
+ private EpMicroserviceParameterService epMicroserviceParameterService;
@Autowired
- EpWidgetCatalogService epWidgetCatalogService;
+ private EpWidgetCatalogService epWidgetCatalogService;
@Test
public void getUserWidgetCatalog() {
@@ -128,7 +131,6 @@ public class WidgetsCatalogControllerTest {
}
@Test
- @Transactional
public void getUserParameterById() {
//Given
EpWidgetCatalog widget = EpWidgetCatalog.builder()
@@ -155,7 +157,6 @@ public class WidgetsCatalogControllerTest {
}
@Test
- @Transactional
public void deleteUserParameterById() {
//Given
EpWidgetCatalog widget = EpWidgetCatalog.builder()
@@ -189,10 +190,72 @@ public class WidgetsCatalogControllerTest {
@Test
public void saveWidgetParameter() {
+ //Given
+ EpWidgetCatalog widget = EpWidgetCatalog.builder()
+ .wdgName("Name")
+ .wdgFileLoc("loc")
+ .allUserFlag(true)
+ .build();
+ epWidgetCatalogService.save(widget);
+ EpMicroserviceParameter parameter = new EpMicroserviceParameter();
+ epMicroserviceParameterService.save(parameter);
+ FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build();
+ fnLanguageService.save(principal, language);
+ FnUser user = buildFnUser();
+ language.setFnUsers(new HashSet<>(Collections.singleton(user)));
+ user.setLanguageId(language);
+ EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder()
+ .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build();
+
+ //When
+ widgetsCatalogController.saveWidgetParameter(principal, data);
+ //Then
+ EpWidgetCatalogParameter actual = epWidgetCatalogParameterService.getById(data.getId());
+
+ assertEquals("TestData", actual.getUserValue());
+
+ }
+
+ @Test
+ public void saveWidgetParameterOldParamTest() {
+ //Given
+ EpWidgetCatalog widget = EpWidgetCatalog.builder()
+ .wdgName("Name")
+ .wdgFileLoc("loc")
+ .allUserFlag(true)
+ .build();
+ epWidgetCatalogService.save(widget);
+ EpMicroserviceParameter parameter = new EpMicroserviceParameter();
+ epMicroserviceParameterService.save(parameter);
+ FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build();
+ fnLanguageService.save(principal, language);
+ FnUser user = buildFnUser();
+ language.setFnUsers(new HashSet<>(Collections.singleton(user)));
+ user.setLanguageId(language);
+ EpWidgetCatalogParameter old = EpWidgetCatalogParameter.builder()
+ .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build();
+
+ //When
+ widgetsCatalogController.saveWidgetParameter(principal, old);
+
+ EpWidgetCatalogParameter newWidgetParameter = EpWidgetCatalogParameter.builder()
+ .widgetId(widget).userId(user).paramId(parameter).userValue("TestData2").build();
+
+ widgetsCatalogController.saveWidgetParameter(principal, newWidgetParameter);
+
+ EpWidgetCatalogParameter oldOne = epWidgetCatalogParameterService.getById(old.getId());
+
+ //Then
+ assertEquals("TestData2", oldOne.getUserValue());
+
}
@Test
public void getUploadFlag() {
+ String expected = "";
+ String actual = widgetsCatalogController.getUploadFlag();
+
+ assertEquals(expected, actual);
}
private FnUser buildFnUser(){
diff --git a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java
index a90b38ff..0f277471 100644
--- a/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java
+++ b/portal-BE/src/test/java/org/onap/portal/controller/WidgetsControllerTest.java
@@ -55,18 +55,23 @@ import org.onap.portal.dao.fn.FnLanguageDao;
import org.onap.portal.dao.fn.FnUserDao;
import org.onap.portal.domain.db.fn.FnLanguage;
import org.onap.portal.domain.db.fn.FnUser;
+import org.onap.portal.domain.db.fn.FnWidget;
+import org.onap.portal.domain.dto.transport.FieldsValidator;
import org.onap.portal.domain.dto.transport.OnboardingWidget;
import org.onap.portal.framework.MockitoTestSuite;
+import org.onap.portal.service.WidgetService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.transaction.annotation.Transactional;
@RunWith(SpringRunner.class)
@SpringBootTest
@TestPropertySource(locations = "classpath:test.properties")
+@Transactional
public class WidgetsControllerTest {
private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo",
@@ -80,11 +85,11 @@ public class WidgetsControllerTest {
@Autowired
private WidgetsController widgetsController;
@Autowired
- private
- FnUserDao fnUserDao;
+ private FnUserDao fnUserDao;
@Autowired
- private
- FnLanguageDao fnLanguageDao;
+ private FnLanguageDao fnLanguageDao;
+ @Autowired
+ private WidgetService widgetService;
private FnLanguage language = getFnLanguage();
private FnUser questUser = getQuestUser();
@@ -140,7 +145,108 @@ public class WidgetsControllerTest {
}
@Test
- public void putOnboardingWidget() {
+ public void putOnboardingWidgetSameWidget() {
+ //Given
+ UsernamePasswordAuthenticationToken notQuestprincipal = new UsernamePasswordAuthenticationToken("cs0008",
+ "demo123");
+ fnUserDao.save(notQuestUser);
+ when(request.getHeader("X-Widgets-Type")).thenReturn("managed");
+
+ OnboardingWidget onboardingWidget = OnboardingWidget.builder()
+ .id(123L)
+ .name("Application")
+ .appId(1421L)
+ .appName("Application name")
+ .width(123)
+ .height(45)
+ .url("testurl")
+ .build();
+
+
+ FnWidget fnWidget = FnWidget.builder()
+ .name("Application")
+ .appId(453L)
+ .width(123)
+ .height(45)
+ .url("testurl")
+ .build();
+
+ widgetService.saveOne(fnWidget);
+
+ FieldsValidator expected = new FieldsValidator();
+ //When
+ FieldsValidator actual = widgetsController.putOnboardingWidget(principal, fnWidget.getWidgetId(), onboardingWidget, response);
+ //Then
+ assertEquals(expected.getErrorCode(), actual.getErrorCode());
+ assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode());
+ assertEquals(expected.getFields(), actual.getFields());
+ }
+
+ @Test
+ public void putOnboardingWidgetAOP() {
+ //Given
+ UsernamePasswordAuthenticationToken notQuestprincipal = new UsernamePasswordAuthenticationToken("cs0008",
+ "demo123");
+ fnUserDao.save(notQuestUser);
+ when(request.getHeader("X-Widgets-Type")).thenReturn("managed");
+
+ OnboardingWidget onboardingWidget = OnboardingWidget.builder()
+ .id(123L)
+ .name("")
+ .appId(1L)
+ .appName("")
+ .width(123)
+ .height(45)
+ .url("testurl")
+ .build();
+
+
+ FnWidget fnWidget = FnWidget.builder()
+ .name("Application")
+ .appId(1421L)
+ .width(123)
+ .height(45)
+ .url("testurl")
+ .build();
+
+ widgetService.saveOne(fnWidget);
+
+ FieldsValidator expected = new FieldsValidator();
+ expected.setHttpStatusCode(406L);
+ expected.addProblematicFieldName("appName can't be blank, appId value must be higher than 1");
+ //When
+ FieldsValidator actual = widgetsController.putOnboardingWidget(principal, fnWidget.getWidgetId(), onboardingWidget, response);
+ //Then
+ assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode());
+ assertEquals(expected.getFields().size(), actual.getFields().size());
+ }
+
+ @Test
+ public void putOnboardingWidgetAOPXSSTest() {
+ //Given
+ UsernamePasswordAuthenticationToken notQuestprincipal = new UsernamePasswordAuthenticationToken("cs0008",
+ "demo123");
+ fnUserDao.save(notQuestUser);
+ when(request.getHeader("X-Widgets-Type")).thenReturn("managed");
+
+ OnboardingWidget onboardingWidget = OnboardingWidget.builder()
+ .id(123L)
+ .name("<script>alert(“XSS”);</script>\n")
+ .appId(34L)
+ .appName("<ScRipT>alert(\"XSS\");</ScRipT>")
+ .width(123)
+ .height(45)
+ .url("testurl")
+ .build();
+
+ FieldsValidator expected = new FieldsValidator();
+ expected.setHttpStatusCode(406L);
+ expected.addProblematicFieldName("appName may have unsafe html content, name may have unsafe html content");
+ //When
+ FieldsValidator actual = widgetsController.putOnboardingWidget(principal, 15L, onboardingWidget, response);
+ //Then
+ assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode());
+ assertEquals(expected.getFields().size(), actual.getFields().size());
}
@Test
diff --git a/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java b/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java
index f123f95a..6a6c06b9 100644
--- a/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java
+++ b/portal-BE/src/test/java/org/onap/portal/service/ep/EpWidgetCatalogParameterServiceTest.java
@@ -40,7 +40,7 @@
package org.onap.portal.service.ep;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.LocalDateTime;
import java.util.Collections;
@@ -63,29 +63,38 @@ import org.springframework.transaction.annotation.Transactional;
@RunWith(SpringRunner.class)
@SpringBootTest
+@Transactional
@TestPropertySource(locations = "classpath:test.properties")
class EpWidgetCatalogParameterServiceTest {
+
private UsernamePasswordAuthenticationToken principal = new UsernamePasswordAuthenticationToken("demo",
"demo123");
- @Autowired
+
private EpWidgetCatalogParameterService epWidgetCatalogParameterService;
- @Autowired
private WidgetsCatalogController widgetsCatalogController;
- @Autowired
- private
- FnLanguageService fnLanguageService;
- @Autowired
+ private FnLanguageService fnLanguageService;
private EpMicroserviceParameterService epMicroserviceParameterService;
+ private EpWidgetCatalogService epWidgetCatalogService;
+
@Autowired
- private
- EpWidgetCatalogService epWidgetCatalogService;
+ public EpWidgetCatalogParameterServiceTest(
+ EpWidgetCatalogParameterService epWidgetCatalogParameterService,
+ WidgetsCatalogController widgetsCatalogController,
+ FnLanguageService fnLanguageService,
+ EpMicroserviceParameterService epMicroserviceParameterService,
+ EpWidgetCatalogService epWidgetCatalogService) {
+ this.epWidgetCatalogParameterService = epWidgetCatalogParameterService;
+ this.widgetsCatalogController = widgetsCatalogController;
+ this.fnLanguageService = fnLanguageService;
+ this.epMicroserviceParameterService = epMicroserviceParameterService;
+ this.epWidgetCatalogService = epWidgetCatalogService;
+ }
@Test
void deleteUserParameterById() {
}
@Test
- @Transactional
void deleteByParamId() {
//Given
EpWidgetCatalog widget = EpWidgetCatalog.builder()
@@ -101,7 +110,7 @@ class EpWidgetCatalogParameterServiceTest {
FnUser user = buildFnUser();
language.setFnUsers(new HashSet<>(Collections.singleton(user)));
user.setLanguageId(language);
- EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder()
+ EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder()
.widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build();
//When
assertEquals(0, widgetsCatalogController.getUserParameterById(parameter.getId()).size());
@@ -112,10 +121,41 @@ class EpWidgetCatalogParameterServiceTest {
assertEquals(0, epWidgetCatalogParameterService.getUserParameterById(parameter.getId()).size());
//Clean
+ }
+
+ @Test
+ void getUserParamById() {
+ //Given
+ EpWidgetCatalog widget = EpWidgetCatalog.builder()
+ .wdgName("Name")
+ .wdgFileLoc("loc")
+ .allUserFlag(true)
+ .build();
+ epWidgetCatalogService.save(widget);
+ EpMicroserviceParameter parameter = new EpMicroserviceParameter();
+ epMicroserviceParameterService.save(parameter);
+ FnLanguage language = FnLanguage.builder().languageAlias("TS").languageName("TEST").build();
+ fnLanguageService.save(principal, language);
+ FnUser user = buildFnUser();
+ language.setFnUsers(new HashSet<>(Collections.singleton(user)));
+ user.setLanguageId(language);
+ EpWidgetCatalogParameter data = EpWidgetCatalogParameter.builder()
+ .widgetId(widget).userId(user).paramId(parameter).userValue("TestData").build();
+ //When
+ assertEquals(0, widgetsCatalogController.getUserParameterById(parameter.getId()).size());
+ epWidgetCatalogParameterService.saveUserParameter(data);
+ Long id = data.getId();
+ assertEquals(1, epWidgetCatalogParameterService.getUserParameterById(parameter.getId()).size());
+ EpWidgetCatalogParameter actual = epWidgetCatalogParameterService.getUserParamById(widget.getWidgetId(), user.getUserId(), parameter.getId());
+ //Then
+ assertEquals(id, actual.getId());
+ assertEquals(data.getUserValue(), actual.getUserValue());
+ assertEquals(data.getWidgetId().getWidgetId(), actual.getWidgetId().getWidgetId());
+ assertEquals(data.getParamId().getId(), actual.getParamId().getId());
}
- private FnUser buildFnUser(){
+ private FnUser buildFnUser() {
return FnUser.builder()
.lastLoginDate(LocalDateTime.now())
.activeYn(true)