*
* ============LICENSE_END============================================
*
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ *
*/
package org.onap.portalapp.portal.controller;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.onap.portalapp.portal.controller.AppsControllerExternalRequest;
import org.onap.portalapp.portal.core.MockEPUser;
import org.onap.portalapp.portal.domain.EPApp;
import org.onap.portalapp.portal.domain.EPUser;
UserService userService = new UserServiceImpl();
@InjectMocks
- AppsControllerExternalRequest appsControllerExternalRequest = new AppsControllerExternalRequest();
+ AppsControllerExternalRequest appsControllerExternalRequest;
@Before
public void setup() {
assertEquals(actualPortalRestResponse, expectedportalRestResponse);
}
+ @Test
+ public void postPortalAdminXSSTest() {
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("Data is not valid");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("“><script>alert(“XSS”)</script>");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenThrow(nullPointerException);
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
+ .postPortalAdmin(mockedRequest, mockedResponse, user);
+ assertEquals(expectedportalRestResponse, actualPortalRestResponse);
+ }
+
@Test
public void postPortalAdminCreateUserIfNotFoundTest() throws Exception {
PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
.postPortalAdmin(mockedRequest, mockedResponse, user);
assertEquals(actualPortalRestResponse, expectedportalRestResponse);
}
-
+/*reference*/
@Test
public void postPortalAdminCreateUserIfNotSuperAdminTest() throws Exception {
PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
OnboardingApp expectedOnboardingApp = new OnboardingApp();
- expectedOnboardingApp.id = (long) 1;
+ expectedOnboardingApp.setId(1l);
PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
.postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
OnboardingApp expectedOnboardingApp = new OnboardingApp();
- expectedOnboardingApp.id = null;
+ expectedOnboardingApp.setId(null);
+
PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
.postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
assertEquals(actualPortalRestResponse, expectedportalRestResponse);
}
+
+ private OnboardingApp createExpectedApp() {
+
+ OnboardingApp expectedOnboardingApp = new OnboardingApp();;
+ expectedOnboardingApp.setAppName("test");
+ expectedOnboardingApp.setLandingPage("test.com");
+ expectedOnboardingApp.setRestUrl("<script>alert(/XSS”)</script>");
+ expectedOnboardingApp.setMyLoginsAppOwner("testUser");
+ expectedOnboardingApp.setRestrictedApp(false);
+ expectedOnboardingApp.setIsOpen(true);
+ expectedOnboardingApp.setIsEnabled(true);
+ return expectedOnboardingApp;
+
+ }
+
+
+ @Test
+ public void postOnboardAppExternalXSSTest() {
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage(
+ "Data is not valid");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ OnboardingApp expectedOnboardingApp = createExpectedApp();
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
+ .postOnboardAppExternal(mockedRequest, mockedResponse, expectedOnboardingApp);
+ assertEquals(expectedportalRestResponse, actualPortalRestResponse);
+
+ }
@Test
public void putOnboardAppExternalifAppNullTest() {
expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
Long appId = null;
OnboardingApp expectedOnboardingApp = new OnboardingApp();
- expectedOnboardingApp.id = null;
-
+
+ expectedOnboardingApp.setId(null);
+
PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
.putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
assertEquals(actualPortalRestResponse, expectedportalRestResponse);
}
+ @Test
+ public void putOnboardAppExternalXSSTest() {
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage(
+ "Data is not valid");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ OnboardingApp expectedOnboardingApp = createExpectedApp();
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+
+ Long appId = (long) 1;
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
+ .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
+ assertEquals(expectedportalRestResponse, actualPortalRestResponse);
+
+ }
+
@Test
public void putOnboardAppExternalIfOnboardingAppDetailsNullTest() {
PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
Long appId = (long) 1;
OnboardingApp expectedOnboardingApp = new OnboardingApp();
- expectedOnboardingApp.id = (long) 1;
+
+ expectedOnboardingApp.setId(1l);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
+ .putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void putOnboardAppExternalIfOnboardingAppDetailsTest() {
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("Failed to find user: 12");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+ Long appId = (long) 1;
+
+ OnboardingApp expectedOnboardingApp = createOldOnapApp(1l);
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ Mockito.when(userService.getUserByUserId(user.getOrgUserId())).thenReturn(expectedList);
+
PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
.putOnboardAppExternal(mockedRequest, mockedResponse, appId, expectedOnboardingApp);
assertEquals(actualPortalRestResponse, expectedportalRestResponse);
}
+
+ private OnboardingApp createOldOnapApp(Long id) {
+
+ OnboardingApp oldOnboardApp = new OnboardingApp();
+ oldOnboardApp.setId(id);
+ oldOnboardApp.setAppName("test");
+ oldOnboardApp.setLandingPage("test.com");
+ oldOnboardApp.setRestUrl("test1.com");
+ oldOnboardApp.setMyLoginsAppOwner("12");
+ oldOnboardApp.setRestrictedApp(false);
+ oldOnboardApp.setIsOpen(true);
+ oldOnboardApp.setIsEnabled(true);
+ oldOnboardApp.setModeOfIntegration("test");
+ oldOnboardApp.setAppAck(false);
+ oldOnboardApp.setUsesCadi(false);
+ oldOnboardApp.setModeOfIntegration("test");
+ oldOnboardApp.setAppAck(false);
+ oldOnboardApp.setUsesCadi(false);
+
+ return oldOnboardApp;
+ }
+
+ @Test
+ public void putOnboardAppExternalIfOnboardingAppDetailsTest2() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage(null);
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
+
+ Long appId = (long) 1;
+
+ OnboardingApp oldOnboardApp = createOldOnapApp(1l);
+
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(oldOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
+
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ Mockito.when(appService.modifyOnboardingApp(oldOnboardApp, user)).thenReturn(expectedFieldValidator);
+ //Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.putOnboardAppExternal(mockedRequest, mockedResponse, appId, oldOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+
+ @Test
+ public void putOnboardAppExternalTest() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("FieldsValidator [httpStatusCode=500, errorCode=null, fields=null]");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ Long appId = (long) 1;
+
+ OnboardingApp oldOnboardApp = createOldOnapApp(1l);
+
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(oldOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
+
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 500);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ Mockito.when(appService.modifyOnboardingApp(oldOnboardApp, user)).thenReturn(expectedFieldValidator);
+ //Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.putOnboardAppExternal(mockedRequest, mockedResponse, appId, oldOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void putOnboardAppExternalIsNotSuperAdminTest() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("User lacks Portal admin role: Test");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ Long appId = (long) 1;
+
+ OnboardingApp oldOnboardApp = createOldOnapApp(1l);
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(oldOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ //Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.putOnboardAppExternal(mockedRequest, mockedResponse, appId, oldOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void putOnboardAppExternalWithExceptionTest() {
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("java.lang.NullPointerException");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ Long appId = (long) 1;
+
+ OnboardingApp oldOnboardApp = createOldOnapApp(1l);
+
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(oldOnboardApp.getMyLoginsAppOwner())).thenThrow(nullPointerException);
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest
+ .putOnboardAppExternal(mockedRequest, mockedResponse, appId,oldOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void postOnboardAppExternalwithExceptionTest() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("User lacks Portal admin role: Test");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ Long appId = (long) 1;
+
+ OnboardingApp newOnboardApp = createOldOnapApp(null);
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(newOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(false);
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ //Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.postOnboardAppExternal(mockedRequest, mockedResponse,newOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void postOnboardAppExternalIsNotSuperAdminTest() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage("Unexpected field: id");
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);
+
+ Long appId = (long) 1;
+
+ OnboardingApp newOnboardApp = createOldOnapApp(1l);
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(newOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ //Mockito.when(portalAdminService.createPortalAdmin(user.getOrgUserId())).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.postOnboardAppExternal(mockedRequest, mockedResponse,newOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
+ @Test
+ public void postOnboardAppExternalIsSuperAdminTest() throws Exception {
+
+ PortalRestResponse<String> expectedportalRestResponse = new PortalRestResponse<String>();
+ expectedportalRestResponse.setMessage(null);
+ expectedportalRestResponse.setResponse(null);
+ PortalRestStatusEnum portalRestStatusEnum = null;
+ expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);
+
+ Long appId = (long) 1;
+
+ OnboardingApp newOnboardApp = createOldOnapApp(null);
+
+ EPUser user = mockUser.mockEPUser();
+ user.setEmail("guestT@test.portal.onap.org");
+ user.setLoginPwd("pwd");
+ user.setLoginId("Test");
+ List<EPUser> expectedList = new ArrayList<EPUser>();
+ expectedList.add(user);
+ Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(userService.getUserByUserId(newOnboardApp.getMyLoginsAppOwner())).thenReturn(expectedList);
+ //Mockito.when(userService.saveNewUser(user, "Yes")).thenReturn(null);
+ Mockito.when(adminRolesService.isSuperAdmin(user)).thenReturn(true);
+
+ FieldsValidator expectedFieldValidator = new FieldsValidator();
+ expectedFieldValidator.setHttpStatusCode((long) 200);
+ expectedFieldValidator.setFields(null);
+ expectedFieldValidator.setErrorCode(null);
+ Mockito.when(appService.addOnboardingApp(newOnboardApp, user)).thenReturn(expectedFieldValidator);
+
+ PortalRestResponse<String> actualPortalRestResponse = appsControllerExternalRequest.postOnboardAppExternal(mockedRequest, mockedResponse,newOnboardApp);
+ assertEquals(actualPortalRestResponse, expectedportalRestResponse);
+ }
+
}