Unit Test Case for EPLeftMenuServiceImpl.java 63/34463/1
authorHari Om Verma <hv00482922@techmahindra.com>
Wed, 7 Mar 2018 08:06:33 +0000 (13:36 +0530)
committerHari Om Verma <hv00482922@techmahindra.com>
Wed, 7 Mar 2018 08:06:33 +0000 (13:36 +0530)
Added JUnit test cases for EPLeftMenuServiceImpl.java

Change-Id: Ieea37f1723566f8135b9d7a17d227e66b45aa110
Issue-ID: PORTAL-208
Signed-off-by: Hari Om Verma <hv00482922@techmahindra.com>
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/BasicAuthAccountServiceImplTest.java [new file with mode: 0644]
ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPLeftMenuServiceImplTest.java

diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/BasicAuthAccountServiceImplTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/BasicAuthAccountServiceImplTest.java
new file mode 100644 (file)
index 0000000..5434749
--- /dev/null
@@ -0,0 +1,178 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP  PORTAL
+* ================================================================================
+* Copyright 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 java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.hibernate.criterion.Criterion;
+import org.hibernate.criterion.Restrictions;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.portalapp.portal.core.MockEPUser;
+import org.onap.portalapp.portal.domain.BasicAuthCredentials;
+import org.onap.portalapp.portal.domain.EPEndpoint;
+import org.onap.portalapp.portal.domain.EPEndpointAccount;
+import org.onap.portalapp.portal.framework.MockitoTestSuite;
+import org.onap.portalsdk.core.onboarding.util.CipherUtil;
+import org.onap.portalsdk.core.service.DataAccessService;
+import org.onap.portalsdk.core.service.DataAccessServiceImpl;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ CipherUtil.class , SystemProperties.class})
+public class BasicAuthAccountServiceImplTest {
+       @Mock
+       DataAccessService dataAccessService = new DataAccessServiceImpl();
+               
+       @Before
+       public void setup() {
+               MockitoAnnotations.initMocks(this);
+       }
+       
+       @InjectMocks
+       BasicAuthAccountServiceImpl  basicAuthAccountServiceImpl = new BasicAuthAccountServiceImpl();
+       
+       
+       MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
+       HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
+       HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
+       NullPointerException nullPointerException = new NullPointerException();
+       MockEPUser mockUser = new MockEPUser();
+       
+       @Test
+       public void saveBasicAuthAccountTest() throws Exception {
+               BasicAuthCredentials basicAuthCredentials = new BasicAuthCredentials();
+               basicAuthCredentials.setPassword(null);
+               Mockito.doNothing().when(dataAccessService).saveDomainObject(basicAuthCredentials, null);
+               basicAuthAccountServiceImpl.saveBasicAuthAccount(basicAuthCredentials);
+               
+       }
+       
+       @Test
+       public void saveBasicAuthAccountTest_password() throws Exception{
+               PowerMockito.mockStatic(CipherUtil.class);
+               PowerMockito.mockStatic(SystemProperties.class);
+               BasicAuthCredentials credentials = new BasicAuthCredentials();
+               credentials.setPassword("password");
+               String result = null;
+               Mockito.when(CipherUtil.encryptPKC("password", SystemProperties.getProperty(SystemProperties.Decryption_Key))).thenReturn(result);
+               basicAuthAccountServiceImpl.saveBasicAuthAccount(credentials);
+       }
+       
+       @Test
+       public void saveEndpointsTest() throws Exception {
+               List<Criterion> restrictionsList = new ArrayList<Criterion>();
+               Criterion NameCrit = Restrictions.eq("name", "test");
+               restrictionsList.add(NameCrit);
+               List<EPEndpoint> tempList = new ArrayList<>();
+               EPEndpoint endpoint = new EPEndpoint();
+               endpoint.setId(1l);
+               endpoint.setName("name");
+               tempList.add(endpoint);
+               Mockito.when((List<EPEndpoint>) dataAccessService.getList(EPEndpoint.class, null, restrictionsList, null))
+               .thenReturn(tempList);
+               EPEndpoint epEndpoint= new EPEndpoint();
+               Mockito.doNothing().when(dataAccessService).saveDomainObject(epEndpoint,  null);
+               basicAuthAccountServiceImpl.saveEndpoints(epEndpoint);
+       }
+       
+       @Test(expected= NullPointerException.class)
+       public void saveEndpointAccountTest() throws Exception {
+               EPEndpointAccount record = new EPEndpointAccount();
+               record.setAccount_id(1l);
+               record.setEp_id(2l);
+               Mockito.doNothing().when(dataAccessService).saveDomainObject(record,  null);
+               basicAuthAccountServiceImpl.saveEndpointAccount(1l, 2l);
+       }
+       
+       @Test
+       public void updateBasicAuthAccountTest() throws Exception {
+               BasicAuthCredentials basicAuthCredentials = new BasicAuthCredentials();
+               Mockito.doNothing().when(dataAccessService).saveDomainObject(basicAuthCredentials, null);
+               List<EPEndpoint> endpoints = new ArrayList<>();
+               EPEndpoint epEndpoint = new  EPEndpoint();
+               epEndpoint.setId(1l);
+               epEndpoint.setName("name");
+               endpoints.add(epEndpoint);
+               basicAuthCredentials.setEndpoints(endpoints);
+               List<EPEndpointAccount> list = null;
+               Map<String, Long> params = new HashMap<>();
+               params.put("account_id", 1l);
+               Mockito.when(dataAccessService.executeNamedQuery("getEPEndpointAccountByAccountId", null, null)).thenReturn(list);
+               EPEndpoint temp_ep = new EPEndpoint();
+               temp_ep.setId(1l);
+               boolean flag = false;
+               Map<String, String> params1 = new HashMap<String, String>();
+               params1.put("accountId", Long.toString(1l));
+               params1.put("epId", Long.toString(1l));
+               Mockito.when(dataAccessService.executeNamedQuery("deleteAccountEndpointRecord", params1, null)).thenReturn(null);
+               basicAuthAccountServiceImpl.updateBasicAuthAccount(1l, basicAuthCredentials);
+       }
+       
+               
+       @Test
+       public void getAccountDataTest() throws Exception {
+               List<BasicAuthCredentials> list = new ArrayList<>();
+               BasicAuthCredentials basicAuthCredentials = new BasicAuthCredentials();
+               Mockito.when((List<BasicAuthCredentials>) dataAccessService.getList(BasicAuthCredentials.class, null))
+               .thenReturn(list);
+               basicAuthAccountServiceImpl.getAccountData();
+       }
+       
+       @Test
+       public void getAccountDataTest_password() throws Exception {
+               PowerMockito.mockStatic(CipherUtil.class);
+               PowerMockito.mockStatic(SystemProperties.class);
+               List<BasicAuthCredentials> list = new ArrayList<>();
+               BasicAuthCredentials basicAuthCredentials = new BasicAuthCredentials();
+               basicAuthCredentials.setPassword("password");
+               list.add(basicAuthCredentials);
+               Mockito.when((List<BasicAuthCredentials>) dataAccessService.getList(BasicAuthCredentials.class, null))
+               .thenReturn(list);
+               String result = null;
+               Mockito.when(CipherUtil.decryptPKC("password", SystemProperties.getProperty(SystemProperties.Decryption_Key))).thenReturn(result);
+               
+       }
+
+       @Test
+       public void deleteEndpointAccoutTest() throws Exception {
+               Map<String, String> params = new HashMap<String, String>();
+               params.put("accountId", Long.toString(1l));
+               Mockito.when(dataAccessService.executeNamedQuery("deleteAccountEndpoint", params, null)).thenReturn(null);
+               Mockito.when(dataAccessService.executeNamedQuery("deleteBasicAuthAccount", params, null)).thenReturn(null);
+               basicAuthAccountServiceImpl.deleteEndpointAccout(1l);
+               
+       }
+}
index 3cc6762..9a2568d 100644 (file)
@@ -1,60 +1,40 @@
-/*-
- * ============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.
- */
+/*
+* ============LICENSE_START=======================================================
+* ONAP  PORTAL
+* ================================================================================
+* Copyright 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.assertNotEquals;
-
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.TreeSet;
 
+import org.json.JSONArray;
 import org.json.JSONObject;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InjectMocks;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.onap.portalapp.portal.core.MockEPUser;
 import org.onap.portalapp.portal.domain.CentralizedApp;
 import org.onap.portalapp.portal.domain.EPUser;
 import org.onap.portalsdk.core.domain.MenuData;
@@ -65,10 +45,9 @@ public class EPLeftMenuServiceImplTest {
 
        @Mock
        DataAccessService dataAccessService = new DataAccessServiceImpl();
-       
        @Mock
-       ExternalAccessRolesServiceImpl externalAccessRolesServiceImpl = new ExternalAccessRolesServiceImpl();
-
+        ExternalAccessRolesService externalAccessRolesService;
+       
        @Before
        public void setup() {
                MockitoAnnotations.initMocks(this);
@@ -77,41 +56,54 @@ public class EPLeftMenuServiceImplTest {
        @InjectMocks
        EPLeftMenuServiceImpl epLeftMenuServiceImpl = new EPLeftMenuServiceImpl();
        
-       
-       MockEPUser mockUser = new MockEPUser();
-       
        @Test
        public void getLeftMenuItemsTest() {
-               EPUser user = mockUser.mockEPUser();
-               Set<MenuData> fullMenuSet = new TreeSet<>();
-               MenuData menuData =  new MenuData();
-               menuData.setAction("test");
-               menuData.setFunctionCd("test_1");
-               menuData.setActive(true);
-               menuData.setExternalUrl("test");
-               menuData.setId(1l);
-               menuData.setMenuSetCode("test");
-               menuData.setSortOrder((short) 1);
-               menuData.setSeparator(true);
-               fullMenuSet.add(menuData);
-               Set<String> roleFunctionSet = new TreeSet<>();
-               roleFunctionSet.add("test");
-               roleFunctionSet.add("test2");
-               Map<String, String> params = new HashMap<>();
-               params.put("userId", user.getOrgUserId());
-               List<CentralizedApp> applicationsList = new ArrayList<>();
-               List<CentralizedApp> applicationsList2 = new ArrayList<>();
-               CentralizedApp centralizedApp = new CentralizedApp();
-               centralizedApp.setAppId(1);
-               centralizedApp.setAppName("test");
-               applicationsList.add(centralizedApp);
-               applicationsList2.add(centralizedApp);
-               Mockito.when(dataAccessService.executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap())).thenReturn(applicationsList);
-               Mockito.when(externalAccessRolesServiceImpl.getCentralizedAppsOfUser(Matchers.anyString())).thenReturn(applicationsList2);
-               String actual = epLeftMenuServiceImpl.getLeftMenuItems(user, fullMenuSet, roleFunctionSet);
-               JSONObject notExpected = new JSONObject();
-               assertNotEquals(notExpected.toString(), actual);
-       }
+               Map<String, JSONObject> defaultNavMap = new LinkedHashMap<String, JSONObject>();
+               Set<MenuData> fullMenuSet = new HashSet<>();
+               Set<String> roleFunctionSet = new HashSet<>();
+               defaultNavMap.clear();
+               JSONObject navItemsDetails1 = new JSONObject();
+               navItemsDetails1.put("name", "test");
+               navItemsDetails1.put("state", "demo");
+               navItemsDetails1.put("imageSrc", "img");
+               defaultNavMap.put("root.applicationsHome", navItemsDetails1);
 
+               JSONObject navItemsDetails2 = new JSONObject();
+               navItemsDetails2.put("name", "test1");
+               navItemsDetails2.put("state", "demo1");
+               navItemsDetails2.put("imageSrc", "img1");
+               defaultNavMap.put("root.appCatalog", navItemsDetails2);
 
+               JSONObject navItemsDetails3 = new JSONObject();
+               navItemsDetails3.put("name", "test2");
+               navItemsDetails3.put("state", "demo2");
+               navItemsDetails3.put("imageSrc", "img2");
+               defaultNavMap.put("root.widgetCatalog", navItemsDetails3);
+               
+               List<CentralizedApp> applicationsList = new ArrayList<>();
+               EPUser epUser = new EPUser();
+               epUser.setOrgUserId("userId");
+               Mockito.when((List<CentralizedApp>)externalAccessRolesService.getCentralizedAppsOfUser("userId")).thenReturn(applicationsList);
+               
+               MenuData data = new MenuData();
+               data.setLabel("labelTest");
+               data.setImageSrc("imgTest");
+               data.setAction("actionTest");
+               JSONObject navItemsDetails = new JSONObject();
+               navItemsDetails.put("name", "labelTest");
+               navItemsDetails.put("state", "actionTest");
+               navItemsDetails.put("imageSrc", "imgTest");
+               defaultNavMap.put("actionTest", navItemsDetails);
+               
+               JSONObject sidebarModel = new JSONObject();
+               JSONArray navItems = new JSONArray();
+               Collection<JSONObject> jsonObjs = defaultNavMap.values();
+               navItems.put(navItemsDetails3);
+               sidebarModel.put("label", "ECOMP portal");
+               sidebarModel.put("navItems", navItems);
+               
+               epLeftMenuServiceImpl.getLeftMenuItems(epUser, fullMenuSet, roleFunctionSet);
+               
+               
+       }
 }