summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java2
-rw-r--r--ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java2
-rw-r--r--ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAuditServiceImplTest.java88
-rw-r--r--ecomp-portal-BE-common/src/test/java/org/onap/portalapp/service/sessionmgt/SessionCommunicationTest.java141
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java2
-rw-r--r--ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java118
6 files changed, 325 insertions, 28 deletions
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java
index 1b54ebb4..5a5892fb 100644
--- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java
+++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java
@@ -553,7 +553,7 @@ public class FunctionalMenuController extends EPRestrictedBaseController {
EPUser userResult = searchService.searchUserByUserId(orgUserIdStr);
emailStr = userResult.getEmail();
}
- SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ssZ");
+ SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss Z a");
Date lastLoginDate = user.getLastLoginDate();
if (lastLoginDate == null) {
// should never happen
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java
index 488717ca..dcbbd951 100644
--- a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java
+++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java
@@ -247,7 +247,7 @@ public class FunctionalMenuControllerTest extends MockitoTestSuite {
@Test
public void getFunctionalMenuStaticInfoTest(){
String fnMenuStaticactualResponse = null;
- String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13-0400\",\"userId\":\"guestT\",\"email\":\"test\"}";
+ String fnMenuStaticexpectedResponse = "{\"firstName\":\"test\",\"lastName\":\"test\",\"last_login\":\"09/08/2017 03:48:13 -0400 am\",\"userId\":\"guestT\",\"email\":\"test\"}";
String orgUserIdStr = null;
EPUser user = mockUser.mockEPUser();
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAuditServiceImplTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAuditServiceImplTest.java
new file mode 100644
index 00000000..4ebb5ac7
--- /dev/null
+++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAuditServiceImplTest.java
@@ -0,0 +1,88 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : PORTAL
+* ================================================================================
+* Copyright (C) 2018 TechMahindra
+*=================================================================================
+* 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.portalapp.portal.service;
+
+import static org.junit.Assert.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.onap.portalapp.portal.core.MockEPUser;
+import java.util.Date;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.portalapp.portal.framework.MockitoTestSuite;
+import org.onap.portalsdk.core.service.DataAccessService;
+import org.onap.portalapp.portal.domain.EPUser;
+
+public class EPAuditServiceImplTest {
+
+ @Mock
+ DataAccessService dataAccessService;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @InjectMocks
+ EPAuditServiceImpl ePAuditServiceImpl = new EPAuditServiceImpl ();
+
+ MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
+
+ HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
+ HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
+ MockEPUser mockUser = new MockEPUser();
+
+ @Test
+ public void getDataAccessServiceTest() {
+ dataAccessService=ePAuditServiceImpl.getDataAccessService();
+ assertNotNull(dataAccessService);
+ }
+
+ @Test
+ public void getNullUserLastLoginTest() {
+ String id=null;
+ Date dt=null;
+ Date date = ePAuditServiceImpl.getGuestLastLogin(id);
+ assertNull(date);
+ }
+
+ @Test
+ public void getGuestLastLoginTest() {
+ EPUser epUser=null;
+ epUser=mockUser.mockEPUser();
+ String id = epUser.getOrgUserId();
+ Date date = ePAuditServiceImpl.getGuestLastLogin(id);
+ assertNull(date);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void delAuditLogFromDayTest() {
+ dataAccessService=ePAuditServiceImpl.getDataAccessService();
+ ePAuditServiceImpl.delAuditLogFromDay();
+ }
+
+}
+
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/service/sessionmgt/SessionCommunicationTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/service/sessionmgt/SessionCommunicationTest.java
new file mode 100644
index 00000000..89af5263
--- /dev/null
+++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/service/sessionmgt/SessionCommunicationTest.java
@@ -0,0 +1,141 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software 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.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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============================================
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ */
+package org.onap.portalapp.service.sessionmgt;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.MockitoAnnotations;
+import org.onap.portalapp.portal.transport.OnboardingApp;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({URL.class, HttpURLConnection.class})
+public class SessionCommunicationTest {
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @InjectMocks
+ SessionCommunication sessionCommunication = new SessionCommunication();
+
+
+ @Test
+ public void sendGetConnectionRefusedTest() throws Exception {
+ OnboardingApp app = new OnboardingApp();
+ app.setRestrictedApp(false);
+ app.setUebKey("test");
+ app.setUebSecret("test");
+ app.setUebTopicName("test");
+ app.isCentralAuth = true;
+ app.isEnabled = true;
+ app.isOpen =false;
+ app.name = "test";
+ app.restUrl ="http://localhost:1234";
+ app.username = "test";
+ app.appPassword = "xyz";
+ URL u = PowerMockito.mock(URL.class);
+ HttpURLConnection huc = PowerMockito.mock(HttpURLConnection.class);
+ String url = "http://localhost:1234/sessionTimeOuts";
+ PowerMockito.whenNew(URL.class).withArguments(url).thenReturn(u);
+ PowerMockito.whenNew(HttpURLConnection.class).withAnyArguments().thenReturn(huc);
+ PowerMockito.when(huc.getResponseCode()).thenReturn(200);
+ String actual = sessionCommunication.sendGet(app);
+ assertEquals("", actual);
+ }
+
+ @Test
+ public void pingSessionConnectionRefusedTest() throws Exception {
+ OnboardingApp app = new OnboardingApp();
+ app.setRestrictedApp(false);
+ app.setUebKey("test");
+ app.setUebSecret("test");
+ app.setUebTopicName("test");
+ app.isCentralAuth = true;
+ app.isEnabled = true;
+ app.isOpen =false;
+ app.name = "test";
+ app.restUrl ="http://localhost:1234";
+ app.username = "test";
+ app.appPassword = "xyz";
+ URL u = PowerMockito.mock(URL.class);
+ HttpURLConnection huc = PowerMockito.mock(HttpURLConnection.class);
+ String url = "http://localhost:1234/sessionTimeOuts";
+ PowerMockito.whenNew(URL.class).withArguments(url).thenReturn(u);
+ PowerMockito.whenNew(HttpURLConnection.class).withAnyArguments().thenReturn(huc);
+ PowerMockito.when(huc.getResponseCode()).thenReturn(200);
+ Boolean actual = sessionCommunication.pingSession(app, "test");
+ assertTrue(actual);
+ }
+
+
+ @Test
+ public void timeoutSessionConnectionRefusedTest() throws Exception {
+ OnboardingApp app = new OnboardingApp();
+ app.setRestrictedApp(false);
+ app.setUebKey("test");
+ app.setUebSecret("test");
+ app.setUebTopicName("test");
+ app.isCentralAuth = true;
+ app.isEnabled = true;
+ app.isOpen =false;
+ app.name = "test";
+ app.restUrl ="http://localhost:1234";
+ app.username = "test";
+ app.appPassword = "xyz";
+ URL u = PowerMockito.mock(URL.class);
+ HttpURLConnection huc = PowerMockito.mock(HttpURLConnection.class);
+ String url = "http://localhost:1234/sessionTimeOuts";
+ PowerMockito.whenNew(URL.class).withArguments(url).thenReturn(u);
+ PowerMockito.whenNew(HttpURLConnection.class).withAnyArguments().thenReturn(huc);
+ PowerMockito.when(huc.getResponseCode()).thenReturn(200);
+ Boolean actual = sessionCommunication.timeoutSession(app, "test");
+ assertTrue(actual);
+ }
+}
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java
index 0ee11715..f4c37466 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java
@@ -55,7 +55,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.json.JSONObject;
import org.onap.portalapp.command.EPLoginBean;
-import org.onap.portalapp.controller.EPUnRestrictedBaseController;
import org.onap.portalapp.portal.domain.SharedContext;
import org.onap.portalapp.portal.service.EPLoginService;
import org.onap.portalapp.portal.service.EPRoleFunctionService;
@@ -66,7 +65,6 @@ import org.onap.portalapp.util.EPUserUtils;
import org.onap.portalapp.util.SessionCookieUtil;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.portalsdk.core.menu.MenuProperties;
-import org.onap.portalsdk.core.onboarding.util.CipherUtil;
import org.onap.portalsdk.core.util.SystemProperties;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java
index 983584e9..bdbb7d47 100644
--- a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java
+++ b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java
@@ -37,85 +37,155 @@
*/
package org.onap.portalapp.portal.controller;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
+import java.util.HashSet;
+import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
+import org.mockito.Matchers;
import org.mockito.Mock;
-import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import org.onap.portalapp.command.EPLoginBean;
import org.onap.portalapp.controller.LoginController;
+import org.onap.portalapp.portal.core.MockEPUser;
+import org.onap.portalapp.portal.domain.EPUser;
import org.onap.portalapp.portal.framework.MockitoTestSuite;
import org.onap.portalapp.portal.service.EPLoginService;
import org.onap.portalapp.portal.service.EPRoleFunctionService;
import org.onap.portalapp.portal.service.EPRoleService;
import org.onap.portalapp.portal.service.SharedContextService;
+import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
import org.onap.portalapp.service.EPProfileService;
+import org.onap.portalsdk.core.domain.MenuData;
+import org.onap.portalsdk.core.onboarding.util.CipherUtil;
import org.onap.portalsdk.core.util.SystemProperties;
+import org.onap.portalsdk.core.web.support.AppUtils;
+import org.onap.portalsdk.core.web.support.UserUtils;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.springframework.mock.web.DelegatingServletInputStream;
import org.springframework.web.servlet.ModelAndView;
@RunWith(PowerMockRunner.class)
-@PrepareForTest(SystemProperties.class)
+@PrepareForTest({ SystemProperties.class, CipherUtil.class, AppUtils.class, UserUtils.class, EPCommonSystemProperties.class})
public class LoginControllerTest {
@Mock
EPProfileService service;
@Mock
- EPLoginService loginService;
+ EPLoginService loginService;
@Mock
- SharedContextService sharedContextService;
+ SharedContextService sharedContextService;
@Mock
- EPRoleService roleService;
+ EPRoleService roleService;
@Mock
- EPRoleFunctionService ePRoleFunctionService;
-
+ EPRoleFunctionService ePRoleFunctionService;
+
@InjectMocks
LoginController loginController = new LoginController();
-
+
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
+ MockEPUser mockUser = new MockEPUser();
+
MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
NullPointerException nullPointerException = new NullPointerException();
-
+
@Test
- public void loginIfAuthNullTest()
- {
+ public void loginIfAuthNullTest() {
PowerMockito.mockStatic(SystemProperties.class);
- Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn(null);
+ when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn(null);
ModelAndView result = loginController.login(mockedRequest);
- assertEquals(result.getViewName(),"openIdLogin") ;
+ assertEquals(result.getViewName(), "openIdLogin");
}
-
+
@Test
- public void loginIfAuthOIDCTest()
- {
+ public void loginIfAuthOIDCTest() {
PowerMockito.mockStatic(SystemProperties.class);
- Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC");
+ when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC");
ModelAndView result = loginController.login(mockedRequest);
- assertEquals(result.getViewName(),"login") ;
+ assertEquals(result.getViewName(), "login");
}
-
+
@Test
- public void loginTest()
- {
+ public void loginTest() {
PowerMockito.mockStatic(SystemProperties.class);
- Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("Test");
+ when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("Test");
ModelAndView result = loginController.login(mockedRequest);
- assertEquals(result.getViewName(),"login") ;
+ assertEquals(result.getViewName(), "login");
+ }
+
+ @Test
+ public void loginValidateTest() throws Exception {
+ PowerMockito.mockStatic(SystemProperties.class);
+ PowerMockito.mockStatic(AppUtils.class);
+ PowerMockito.mockStatic(UserUtils.class);
+ PowerMockito.mockStatic(CipherUtil.class);
+ PowerMockito.mockStatic(EPCommonSystemProperties.class);
+ EPUser user = mockUser.mockEPUser();
+ HttpServletRequest request = mock(HttpServletRequest.class);
+ HttpServletResponse response = mock(HttpServletResponse.class);
+ HttpSession session = mock(HttpSession.class);
+ String json = "{\"loginId\":\"test\", \"password\":\"xyz\"}";
+ when(request.getInputStream()).thenReturn(
+ new DelegatingServletInputStream(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8))));
+ when(request.getReader()).thenReturn(new BufferedReader(new StringReader(json)));
+ when(request.getContentType()).thenReturn("application/json");
+ when(request.getCharacterEncoding()).thenReturn("UTF-8");
+ when(request.getAttribute("menu_properties_filename")).thenReturn("test");
+ StringBuffer reqUrl = new StringBuffer("http://localhost.com");
+ when(request.getRequestURL()).thenReturn(reqUrl);
+ when(request.getQueryString()).thenReturn("demo?test");
+ when(request.getSession(true)).thenReturn(session);
+ when(request.getSession()).thenReturn(session);
+ EPLoginBean commandBean = new EPLoginBean();
+ commandBean.setLoginId("guestT");
+ commandBean.setUser(user);
+ commandBean.setOrgUserId("guestT");
+ commandBean.setLoginPwd("xyz");
+ Set<MenuData> menus = new HashSet<MenuData>();
+ MenuData menuData = new MenuData();
+ menuData.setFunctionCd("test");
+ MenuData menuData2 = new MenuData();
+ menuData2.setFunctionCd("test2");
+ menus.add(menuData);
+ menus.add(menuData2);
+ commandBean.setMenu(menus);
+ commandBean.setBusinessDirectMenu(menus);
+ when(loginController.getLoginService().findUser(Matchers.any(EPLoginBean.class), Matchers.anyString(),
+ Matchers.any())).thenReturn(commandBean);
+ when(AppUtils.getSession(request)).thenReturn(session);
+ when(UserUtils.isAccessible(request, menuData.getFunctionCd())).thenReturn(true);
+ when(UserUtils.isAccessible(request, menuData2.getFunctionCd())).thenReturn(true);
+ when(EPCommonSystemProperties.getProperty(EPCommonSystemProperties.COOKIE_DOMAIN)).thenReturn("cookie_domain");
+ when(CipherUtil.encryptPKC(Matchers.anyString(), Matchers.anyString())).thenReturn("guestT");
+ String actual = loginController.loginValidate(request, response);
+ JSONObject expected = new JSONObject("{success: success}");
+ assertNotEquals(actual, expected);
}
+
}