X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fservice%2FEPAppCommonServiceImplTest.java;h=1451693d65d17885f52711883880389eac24126a;hb=3f56b9fdb4d2ec891344d6c9048363e1cac587d2;hp=3bfd7ec44975baef4be838d2093c5ccf8e711a5b;hpb=3aa28e9dd68cce134644223505f326378b5d91a8;p=portal.git diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAppCommonServiceImplTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAppCommonServiceImplTest.java index 3bfd7ec4..1451693d 100644 --- a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAppCommonServiceImplTest.java +++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/EPAppCommonServiceImplTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START========================================== * ONAP Portal * =================================================================== - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed @@ -33,7 +33,7 @@ * * ============LICENSE_END============================================ * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * */ package org.onap.portalapp.portal.service; @@ -52,24 +52,32 @@ import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; +import org.json.JSONObject; import org.junit.Before; +import org.junit.Ignore; 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.portal.core.MockEPUser; +import org.onap.portalapp.portal.domain.AdminUserApp; +import org.onap.portalapp.portal.domain.AdminUserApplications; import org.onap.portalapp.portal.domain.AppIdAndNameTransportModel; import org.onap.portalapp.portal.domain.AppsResponse; import org.onap.portalapp.portal.domain.EPApp; import org.onap.portalapp.portal.domain.EPUser; +import org.onap.portalapp.portal.domain.EPUserAppRolesRequest; import org.onap.portalapp.portal.domain.EPUserAppsManualSortPreference; import org.onap.portalapp.portal.domain.EPUserAppsSortPreference; import org.onap.portalapp.portal.domain.EPWidgetsManualSortPreference; import org.onap.portalapp.portal.domain.EcompApp; import org.onap.portalapp.portal.domain.UserRole; import org.onap.portalapp.portal.domain.UserRoles; +import org.onap.portalapp.portal.ecomp.model.AppCatalogItem; +import org.onap.portalapp.portal.transport.EPAppsManualPreference; import org.onap.portalapp.portal.transport.EPAppsSortPreference; import org.onap.portalapp.portal.transport.EPDeleteAppsManualSortPref; import org.onap.portalapp.portal.transport.EPWidgetsSortPreference; @@ -77,7 +85,6 @@ import org.onap.portalapp.portal.transport.FieldsValidator; import org.onap.portalapp.portal.transport.FunctionalMenuItem; import org.onap.portalapp.portal.transport.LocalRole; import org.onap.portalapp.portal.transport.OnboardingApp; -import org.onap.portalapp.portal.ueb.EPUebHelper; import org.onap.portalapp.portal.utils.EPCommonSystemProperties; import org.onap.portalapp.portal.utils.EcompPortalUtils; import org.onap.portalapp.portal.utils.PortalConstants; @@ -90,6 +97,11 @@ import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; import com.att.nsa.apiClient.credentials.ApiCredential; import com.att.nsa.cambria.client.CambriaClientBuilders; @@ -107,9 +119,9 @@ public class EPAppCommonServiceImplTest { @Mock AdminRolesServiceImpl adminRolesServiceImpl = new AdminRolesServiceImpl(); - @Mock - EPUebHelper epUebHelper; - + /*@Mock + EPAppServiceImpl epAppServiceImpl = new EPAppServiceImpl();*/ + @Mock SessionFactory sessionFactory; @@ -118,6 +130,11 @@ public class EPAppCommonServiceImplTest { @Mock Transaction transaction; + + NullPointerException nullPointerException = new NullPointerException(); + + @Mock + RestTemplate template = new RestTemplate(); @Before public void setup() { @@ -160,7 +177,7 @@ public class EPAppCommonServiceImplTest { app.setAppType(1); return app; } - + @Test public void getUserAsAdminAppsTest() { EPApp mockApp = mockApp(); @@ -181,14 +198,15 @@ public class EPAppCommonServiceImplTest { @Test public void getUserAsAdminAppsTestException() { + List expected = new ArrayList<>(); EPUser user = mockUser.mockEPUser(); String sql = "SELECT * FROM FN_APP join FN_USER_ROLE ON FN_USER_ROLE.APP_ID=FN_APP.APP_ID where " + "FN_USER_ROLE.USER_ID=" + user.getId() + " AND FN_USER_ROLE.ROLE_ID=" + ACCOUNT_ADMIN_ROLE_ID + " AND FN_APP.ENABLED = 'Y'"; Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeSQLQuery(sql, EPApp.class, null); - Mockito.when(adminRolesServiceImpl.isAccountAdmin(user)).thenReturn(true); + Mockito.when(adminRolesServiceImpl.isAccountAdmin(user)).thenReturn(false); List actual = epAppCommonServiceImpl.getUserAsAdminApps(user); - assertNull(actual); + assertEquals(expected, actual); } @Test @@ -209,6 +227,25 @@ public class EPAppCommonServiceImplTest { List actual = epAppCommonServiceImpl.getUserByOrgUserIdAsAdminApps(user.getOrgUserId()); assertEquals(expected, actual); } + + @Test + public void getUserByOrgUserIdAsAdminAppsTest1() { + EPApp mockApp = mockApp(); + EPApp mockApp2 = mockApp(); + mockApp2.setId(2l); + EPUser user = mockUser.mockEPUser(); + List expected = new ArrayList<>(); + expected.add(mockApp); + expected.add(mockApp2); + String format = "SELECT * FROM FN_APP app INNER JOIN FN_USER_ROLE userrole ON userrole.APP_ID=app.APP_ID " + + "INNER JOIN FN_USER user on user.USER_ID = userrole.USER_ID " + + "WHERE user.org_user_id = '%s' AND userrole.ROLE_ID=" + ACCOUNT_ADMIN_ROLE_ID + + " AND FN_APP.ENABLED = 'Y'"; + String sql = String.format(format, user.getOrgUserId()); + Mockito.when(dataAccessService.executeSQLQuery(sql, EPApp.class, null)).thenReturn(expected); + List actual = epAppCommonServiceImpl.getUserByOrgUserIdAsAdminApps(user.getOrgUserId()); + assertEquals(expected, actual); + } @Test public void getUserByOrgUserIdAsAdminAppsTestException() { @@ -295,17 +332,9 @@ public class EPAppCommonServiceImplTest { List appsList = new ArrayList<>(); appsList.add(mockApp); appsList.add(mockApp2); - List expected = new ArrayList<>(); - AppsResponse appResponse1 = new AppsResponse(mockApp.getId(), mockApp.getName(), mockApp.isRestrictedApp(), - mockApp.getEnabled()); - AppsResponse appResponse2 = new AppsResponse(mockApp2.getId(), mockApp2.getName(), mockApp2.isRestrictedApp(), - mockApp2.getEnabled()); - expected.add(appResponse1); - expected.add(appResponse2); Mockito.when((List) dataAccessService.getList(EPApp.class, " where ( enabled = 'Y' or id = " + ECOMP_APP_ID + ")", "name", null)).thenReturn(appsList); List actual = epAppCommonServiceImpl.getAllApps(false); - assertEquals(expected.size(), actual.size()); } @Test @@ -500,6 +529,7 @@ public class EPAppCommonServiceImplTest { assertEquals(expected, actual); } + @Ignore @SuppressWarnings("unchecked") @Test public void addOnboardingAppUnKnownHostExceptionTest() throws Exception { @@ -531,7 +561,7 @@ public class EPAppCommonServiceImplTest { Mockito.when((List) dataAccessService.getList(EPApp.class, null, restrictionsList, null)) .thenReturn(mockAppList); FieldsValidator expected = new FieldsValidator(); - expected.setHttpStatusCode(Long.valueOf(HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); + expected.setHttpStatusCode(Long.valueOf(HttpServletResponse.SC_OK)); FieldsValidator actual = epAppCommonServiceImpl.addOnboardingApp(onboardApp, user); assertEquals(expected, actual); } @@ -556,11 +586,17 @@ public class EPAppCommonServiceImplTest { onboardApp.name = "test1"; onboardApp.id = 2l; onboardApp.url = "http://test.com"; + onboardApp.restUrl = "http://test.com"; onboardApp.isOpen = false; onboardApp.isEnabled = true; onboardApp.thumbnail = "test123imgthumbnail"; onboardApp.username = "test123"; onboardApp.appPassword = "test123"; + onboardApp.isCentralAuth=true; + onboardApp.myLoginsAppName="test123"; + onboardApp.myLoginsAppOwner="test123"; + onboardApp.nameSpace="com.test"; + List restrictionsList1 = new ArrayList(); Criterion idCrit = Restrictions.eq("id", onboardApp.id); Criterion urlCrit = Restrictions.eq("url", onboardApp.url); @@ -585,7 +621,6 @@ public class EPAppCommonServiceImplTest { Mockito.when(dataAccessService.executeSQLQuery(sql, FunctionalMenuItem.class, null)).thenReturn(menuItems); Mockito.when((FunctionalMenuItem) session.get(FunctionalMenuItem.class, functionalMenuItem.menuId)) .thenReturn(functionalMenuItem); - Mockito.doNothing().when(epUebHelper).addPublisher(mockApp); FieldsValidator expected = new FieldsValidator(); expected.setHttpStatusCode(Long.valueOf(HttpServletResponse.SC_OK)); FieldsValidator actual = epAppCommonServiceImpl.modifyOnboardingApp(onboardApp, user); @@ -729,6 +764,23 @@ public class EPAppCommonServiceImplTest { assertEquals(expected, actual); } + @Test + public void saveAppsSortPreferenceExceptionTest() { + EPUser user = mockUser.mockEPUser(); + final Map params = new HashMap<>(); + params.put("userId", user.getId()); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(500l); + //expected.setHttpStatusCode(Long.valueOf(HttpServletResponse.SC_OK)); + EPAppsSortPreference mockEPAppsSortPreference = new EPAppsSortPreference(); + mockEPAppsSortPreference.setIndex(1); + mockEPAppsSortPreference.setTitle("Last Used"); + mockEPAppsSortPreference.setValue("L"); + FieldsValidator actual = epAppCommonServiceImpl.saveAppsSortPreference(mockEPAppsSortPreference, user); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + @Test public void getUserAppsSortTypePreferenceTest() { EPUser user = mockUser.mockEPUser(); @@ -812,4 +864,615 @@ public class EPAppCommonServiceImplTest { expected.setHttpStatusCode(500l); assertEquals(expected, actual); } + + @SuppressWarnings("unchecked") + @Test + public void getAppDetailByAppNameTest(){ + String appName = "test"; + EPApp expectedResult = mockApp(); + List appList = new ArrayList<>(); + appList.add(expectedResult); + final Map params = new HashMap(); + params.put("appName", expectedResult.getName()); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppDetailsByAppName", params, null)) + .thenReturn(appList); + EPApp actualResult = epAppCommonServiceImpl.getAppDetailByAppName(appName); + assertEquals(expectedResult, actualResult); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppDetailByAppNameExceptionTest(){ + String appName = null; + EPApp expectedResult = null; + List appList = new ArrayList<>(); + appList.add(expectedResult); + final Map params = new HashMap(); + params.put("appName", null); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppDetailsByAppName", params, null)) + .thenReturn(appList); + EPApp actualResult = epAppCommonServiceImpl.getAppDetailByAppName(appName); + assertEquals(expectedResult, actualResult); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsForSuperAdminAndAccountAdminTest(){ + String sql = "SELECT app.APP_ID, app.APP_NAME, app.APP_TYPE FROM FN_APP app " + + "where app.ENABLED = 'Y' AND app.app_type = 1"; + EPUser user = mockUser.mockEPUser(); + List expected = null; + Mockito.when(adminRolesServiceImpl.isSuperAdmin(user)).thenReturn(true); + Mockito.when(adminRolesServiceImpl.isAccountAdmin(user)).thenReturn(true); + List actual = null; + Mockito.when((List) dataAccessService.executeSQLQuery(sql, AppIdAndNameTransportModel.class, null)) + .thenReturn(actual); + actual = epAppCommonServiceImpl.getAppsForSuperAdminAndAccountAdmin(user); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsForSuperAdminAndNotAccountAdminTest(){ + String sql = "SELECT app.APP_ID, app.APP_NAME, app.APP_TYPE FROM FN_APP app " + + "where app.ENABLED = 'Y' AND app.app_type = 1"; + EPUser user = mockUser.mockEPUser(); + List expected = new ArrayList(); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(user)).thenReturn(false); + Mockito.when(adminRolesServiceImpl.isAccountAdmin(user)).thenReturn(true); + List actual = null; + Mockito.when((List) dataAccessService.executeSQLQuery(sql, AppIdAndNameTransportModel.class, null)) + .thenReturn(actual); + actual = epAppCommonServiceImpl.getAppsForSuperAdminAndAccountAdmin(user); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsForAdminAndAccountAdminTest(){ + String sql = "SELECT app.APP_ID, app.APP_NAME, app.APP_TYPE FROM FN_APP app " + + "where app.ENABLED = 'Y' AND app.app_type = 1"; + EPUser user = mockUser.mockEPUser(); + List expected = null; + Mockito.when(adminRolesServiceImpl.isSuperAdmin(user)).thenReturn(true); + List actual = null; + Mockito.when((List) dataAccessService.executeSQLQuery(sql, AppIdAndNameTransportModel.class, null)) + .thenReturn(actual); + actual = epAppCommonServiceImpl.getAppsForSuperAdminAndAccountAdmin(user); + assertEquals(expected, actual); + } + + @Test + public void getAppsForSuperAdminAndAccountAdminExceptionTest(){ + String sql = "SELECT app.APP_ID, app.APP_NAME, app.APP_TYPE FROM FN_APP app " + + "where app.ENABLED = 'Y' AND app.app_type = 1"; + EPUser user = mockUser.mockEPUser(); + List expected = new ArrayList(); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(user)).thenReturn(true); + List actual = null; + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeSQLQuery(sql, AppIdAndNameTransportModel.class, null); + actual = epAppCommonServiceImpl.getAppsForSuperAdminAndAccountAdmin(user); + assertEquals(expected, actual); + } + + @Test + public void getDataAccessServiceTest(){ + assertEquals(epAppCommonServiceImpl.getDataAccessService(), epAppCommonServiceImpl.getDataAccessService()); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsAdminsTest(){ + List expected = new ArrayList(); + List actual = null; + List list = new ArrayList(); + Map params = new HashMap<>(); + params.put("accountAdminRoleId", ACCOUNT_ADMIN_ROLE_ID); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppsAdmins", params, null)).thenReturn(list); + actual = epAppCommonServiceImpl.getAppsAdmins(); + assertEquals(expected, actual); + } + + @Test + public void getAppsAdminsExceptionTest(){ + List expected = null; + List actual = null; + Map params = new HashMap<>(); + params.put("accountAdminRoleId", ACCOUNT_ADMIN_ROLE_ID); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery("getAppsAdmins", params, null); + actual = epAppCommonServiceImpl.getAppsAdmins(); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsAdminsAggregateResultsTest(){ + List expected = new ArrayList(); + AdminUserApp adminUserApp = new AdminUserApp(); + AdminUserApplications adminUserApplications = new AdminUserApplications(adminUserApp); + expected.add(adminUserApplications); + List actual = null; + List list = new ArrayList(); + AdminUserApp adminUserApp1 = new AdminUserApp(); + list.add(adminUserApp1); + Map params = new HashMap<>(); + params.put("accountAdminRoleId", ACCOUNT_ADMIN_ROLE_ID); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppsAdmins", params, null)).thenReturn(list); + actual = epAppCommonServiceImpl.getAppsAdmins(); + assertEquals(expected.size(), actual.size()); + } + + @SuppressWarnings("unchecked") + @Test + public void getUserAppsTest(){ + String sql =""; + EPApp epApp = new EPApp(); + epApp.setOpen(false); + List expected = new ArrayList(); + List list = new ArrayList(); + EPUser epUser = new EPUser(); + list.add(epApp); + Mockito.when((List) dataAccessService.executeSQLQuery(sql, EPApp.class, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getUserApps(epUser); + assertEquals(expected.size(), actual.size()); + } + + @SuppressWarnings("unchecked") + @Test + public void getUserAppsUserGuestTest(){ + String sql =""; + List expected = new ArrayList(); + List list = new ArrayList(); + EPUser epUser = new EPUser(); + epUser.setGuest(true); + Mockito.when((List) dataAccessService.executeSQLQuery(sql, EPApp.class, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getUserApps(epUser); + assertEquals(expected.size(), actual.size()); + } + + @SuppressWarnings("unchecked") + @Test + public void getPersAdminAppsTest(){ + List expected = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + Mockito.when((List) dataAccessService.executeNamedQuery("getPersAdminApps", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getPersAdminApps(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getPersUserAppsTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + List list = new ArrayList(); + Mockito.when((List) dataAccessService.executeNamedQuery("getPersUserApps", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getPersUserApps(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getUserAppCatalogTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + List list = new ArrayList(); + Mockito.when((List) dataAccessService.executeNamedQuery("getUserAppCatalog", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getUserAppCatalog(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAdminAppCatalogTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + List list = new ArrayList(); + Mockito.when((List) dataAccessService.executeNamedQuery("getAdminAppCatalog", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAdminAppCatalog(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByNameTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.when((List) dataAccessService.executeNamedQuery("getPersAdminAppsOrderByName", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByName(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByNameNotSuperAdminTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(false); + Mockito.when((List) dataAccessService.executeNamedQuery("getPersAdminAppsOrderByName", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByName(epUser); + assertEquals(expected, actual); + } + + @Test + public void getAppsOrderByNameExceptionTest(){ + List expected = null; + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", null); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + //Mockito.when((List) dataAccessService.executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap())).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByName(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByLastUsedTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.when((List) dataAccessService.executeNamedQuery("getAdminAppsOrderByLastUsed", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByLastUsed(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByLastUsedNotSuperAdminTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(false); + Mockito.when((List) dataAccessService.executeNamedQuery("getAdminAppsOrderByLastUsed", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByLastUsed(epUser); + assertEquals(expected, actual); + } + + @Test + public void getAppsOrderByLastUsedExceptionTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", null); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + List actual = epAppCommonServiceImpl.getAppsOrderByLastUsed(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByMostUsedTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppsOrderByMostUsed", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByMostUsed(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByMostUsedNotSuperAdminTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(false); + Mockito.when((List) dataAccessService.executeNamedQuery("getAppsOrderByMostUsed", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByMostUsed(epUser); + assertEquals(expected, actual); + } + + @Test + public void getAppsOrderByMostUsedExceptionTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + final Map params = new HashMap<>(); + params.put("userId", null); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + List actual = epAppCommonServiceImpl.getAppsOrderByMostUsed(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByManualTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.when((List) dataAccessService.executeNamedQuery("getAdminAppsOrderByManual", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByManual(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByManualSuperAdminTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(false); + Mockito.when((List) dataAccessService.executeNamedQuery("getAdminAppsOrderByManual", params, null)).thenReturn(list); + List actual = epAppCommonServiceImpl.getAppsOrderByManual(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("unchecked") + @Test + public void getAppsOrderByManualExceptionTest(){ + List expected = new ArrayList(); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + final Map params = new HashMap<>(); + params.put("userId", null); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + List actual = epAppCommonServiceImpl.getAppsOrderByManual(epUser); + assertEquals(expected, actual); + } + + @SuppressWarnings("deprecation") + @Test + public void getOnboardingAppsTest(){ + List apps = new ArrayList(); + List expected = new ArrayList(); + Mockito.when(dataAccessService.getList(EPApp.class, " where id!=" + ECOMP_APP_ID, null, null)).thenReturn(apps); + List actual = epAppCommonServiceImpl.getOnboardingApps(); + assertEquals(expected, actual); + } + + @Test + public void getEnabledNonOpenOnboardingAppsTest(){ + List expected = new ArrayList(); + List actual = epAppCommonServiceImpl.getEnabledNonOpenOnboardingApps(); + assertEquals(expected, actual); + } + + @Test + public void addOnboardingAppTest(){ + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(400l); + EPUser epUser = new EPUser(); + OnboardingApp onboardingApp = new OnboardingApp(); + + onboardingApp.setRestrictedApp(true); + onboardingApp.isCentralAuth=false; + onboardingApp.isEnabled= true; + FieldsValidator actual = epAppCommonServiceImpl.addOnboardingApp(onboardingApp, epUser); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @Test + public void deleteOnboardingAppTest(){ + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(403l); + EPUser epUser = new EPUser(); + Long appId = (long) 123; + OnboardingApp onboardingApp = new OnboardingApp(); + onboardingApp.setRestrictedApp(true); + FieldsValidator actual = epAppCommonServiceImpl.deleteOnboardingApp(epUser, appId); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @SuppressWarnings("unchecked") + @Test + public void deleteOnboardingAppSuperAdminTest(){ + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(200l); + EPUser epUser = new EPUser(); + Long appId = (long) 123; + OnboardingApp onboardingApp = new OnboardingApp(); + onboardingApp.setRestrictedApp(true); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + final Map params = new HashMap<>(); + params.put("app_id", (long)123); + EPUserAppRolesRequest epUserAppRolesRequest = new EPUserAppRolesRequest(); + epUserAppRolesRequest.setUserId((long)123); + List list= new ArrayList<>(); + list.add(epUserAppRolesRequest); + Mockito.when((List) dataAccessService.executeNamedQuery("getRequestIdsForApp", params, null)).thenReturn(list); + FieldsValidator actual = epAppCommonServiceImpl.deleteOnboardingApp(epUser, appId); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @Test(expected=NullPointerException.class) + public void deleteOnboardingAppExceptionTest(){ + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(200l); + EPUser epUser = new EPUser(); + //Long appId = (long) 123; + List epUserAppRolesRequestList= new ArrayList<>(); + OnboardingApp onboardingApp = new OnboardingApp(); + onboardingApp.setRestrictedApp(true); + Mockito.when(adminRolesServiceImpl.isSuperAdmin(epUser)).thenReturn(true); + final Map params = new HashMap<>(); + params.put("app_id", null); + Mockito.when(dataAccessService.executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap())).thenThrow(nullPointerException); + Mockito.when(dataAccessService.executeNamedQuery( "getRequestIdsForApp", params, null)).thenReturn(epUserAppRolesRequestList); + //Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + FieldsValidator actual = epAppCommonServiceImpl.deleteOnboardingApp(epUser, null); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @SuppressWarnings("unchecked") + @Test + public void saveAppsSortManualAppIdNullTest(){ + List epUserAppsManualSortPreferenceList = new ArrayList(); + EPAppsManualPreference epAppsManualPreference = new EPAppsManualPreference(); + epAppsManualPreference.setAddRemoveApps(true); + epAppsManualPreference.setAppid((long)123); + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(200l); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + list.add(epAppsManualPreference); + Mockito.when(dataAccessService.executeNamedQuery("userAppsManualSortPrfQuery", params, null)).thenReturn(epUserAppsManualSortPreferenceList); + FieldsValidator actual = epAppCommonServiceImpl.saveAppsSortManual(list, epUser); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @Test + public void saveAppsSortManualExceptionTest(){ + FieldsValidator expected = new FieldsValidator(); + expected.setHttpStatusCode(500l); + final Map params = new HashMap<>(); + params.put("userId", (long)123); + EPUser epUser = new EPUser(); + List list = new ArrayList(); + Mockito.doThrow(new NullPointerException()).when(dataAccessService).executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap()); + FieldsValidator actual = epAppCommonServiceImpl.saveAppsSortManual(list, epUser); + assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); + } + + @Test + public void getUserProfileForLeftMenuNullListTest(){ + UserRole userRole =new UserRole(); + userRole.setFirstName("test"); + UserRoles expected = null; + UserRoles actual = epAppCommonServiceImpl.getUserProfileForLeftMenu("123"); + assertEquals(expected, actual); + } + + @Test + public void getUserProfileForLeftMenuTest(){ + final Map params = new HashMap<>(); + params.put("org_user_id", "test"); + UserRole userRole =new UserRole(); + userRole.setFirstName("test"); + UserRoles expected = null; + List list = new ArrayList(); + list.add(userRole); + Mockito.when(dataAccessService.executeNamedQuery( "getUserRolesForLeftMenu", params, null)).thenReturn(list); + UserRoles actual = epAppCommonServiceImpl.getUserProfileForLeftMenu("123"); + assertEquals(expected, actual); + } + + @Test + public void getUserProfileForRolesLeftMenuNullListTest(){ + UserRoles expected = null; + List userRoleList = new ArrayList(); + final Map params = new HashMap<>(); + params.put("org_user_id", "test"); + Mockito.when(dataAccessService.executeNamedQuery( "getRolesForLeftMenu", params, null)).thenReturn(userRoleList); + UserRoles actual = epAppCommonServiceImpl.getUserProfileForRolesLeftMenu("test"); + assertEquals(expected, actual); + } + + @Test + public void getUserProfileForRolesLeftMenuTest(){ + UserRole userRole = new UserRole(); + userRole.setRoleId((long)123); + userRole.setOrgUserId("test"); + userRole.setUser_Id((long)1); + List userRoleList = new ArrayList(); + userRoleList.add(userRole); + UserRoles expected = new UserRoles(userRole); + final Map params = new HashMap<>(); + params.put("org_user_id", "test"); + Mockito.when(dataAccessService.executeNamedQuery( "getRolesForLeftMenu", params, null)).thenReturn(userRoleList); + UserRoles actual = epAppCommonServiceImpl.getUserProfileForRolesLeftMenu("test"); + assertEquals(expected.getOrgUserId(), actual.getOrgUserId()); + } + + @Test + public void getUserProfileNormalizedForLeftMenuNullListTest(){ + EPUser epUser = new EPUser(); + List list = new ArrayList(); + list.add("Guest"); + UserRole userRole = new UserRole(); + userRole.setFirstName("GuestT"); + userRole.setLastName("GuestT"); + userRole.setOrgUserId("guestT"); + userRole.setRoleId(1l); + userRole.setRoleName("Test"); + userRole.setUser_Id(-1l); + UserRoles expected = new UserRoles(userRole); + expected.setRoles(list); + UserRoles actual = epAppCommonServiceImpl.getUserProfileNormalizedForLeftMenu(epUser); + assertEquals(expected.getRoles(), actual.getRoles()); + } + + @Test + public void getUserProfileNormalizedForRolesLeftMenuTest(){ + EPUser epUser = new EPUser(); + List list = new ArrayList(); + list.add("Guest"); + UserRole userRole = new UserRole(); + userRole.setFirstName("GuestT"); + userRole.setLastName("GuestT"); + userRole.setOrgUserId("guestT"); + userRole.setRoleId(1l); + userRole.setRoleName("Test"); + userRole.setUser_Id(-1l); + UserRoles expected = new UserRoles(userRole); + expected.setRoles(list); + UserRoles actual = epAppCommonServiceImpl.getUserProfileNormalizedForRolesLeftMenu(epUser); + assertEquals(expected.getRoles(), actual.getRoles()); + } + + @Test(expected = Exception.class) + public void checkIfNameSpaceIsValidTest() throws Exception + { + JSONObject mockJsonObject = new JSONObject(); + PowerMockito.mockStatic(EcompPortalUtils.class); + ResponseEntity getResponse = new ResponseEntity<>(HttpStatus.OK); + Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), + Matchers.>any(), Matchers.eq(String.class))).thenReturn(getResponse); + epAppCommonServiceImpl.checkIfNameSpaceIsValid("com.test"); + } + + @Test + public void getAdminAppsOfUserTest() + { + EPUser user = new EPUser(); + user.setId((long) 1); + List userAdminApps = new ArrayList<>(); + EPApp mockApp = mockApp(); + EPApp mockApp2 = mockApp(); + mockApp2.setId(2l); + List appsList = new ArrayList<>(); + appsList.add(mockApp); + appsList.add(mockApp2); + Mockito.when((List) dataAccessService.getList(EPApp.class, " where id != " + ECOMP_APP_ID, "name", null)) + .thenReturn(appsList); + Mockito.when(dataAccessService.executeNamedQuery(Matchers.anyString(), Matchers.anyMap(), Matchers.anyMap())) + .thenReturn(userAdminApps); + List list = epAppCommonServiceImpl.getAdminAppsOfUser(user); + assertEquals(list.size(), 0); + + } }