Merge "Unit Test Case for EPLeftMenuServiceImpl.java"
authorSunder Tattavarada <statta@research.att.com>
Wed, 7 Mar 2018 14:29:26 +0000 (14:29 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 7 Mar 2018 14:29:26 +0000 (14:29 +0000)
ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/FunctionalMenuController.java
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/controller/FunctionalMenuControllerTest.java
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAuditServiceImplTest.java [new file with mode: 0644]
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/service/sessionmgt/SessionCommunicationTest.java [new file with mode: 0644]
ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/LoginController.java
ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/LoginControllerTest.java

index 1b54ebb..5a5892f 100644 (file)
@@ -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
index 488717c..dcbbd95 100644 (file)
@@ -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 (file)
index 0000000..4ebb5ac
--- /dev/null
@@ -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 (file)
index 0000000..89af526
--- /dev/null
@@ -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);
+       }       
+}
index 0ee1171..f4c3746 100644 (file)
@@ -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;
index 983584e..bdbb7d4 100644 (file)
  */
 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);
        }
+
 }