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=d00dc211ac45422af8d0e509841648dc3cfe0e40;hb=230c71614b1d2fb71a8fb482c749ff5a6dad65d8;hp=95db5d6aeeae932fd31089054db8288af8cab1e5;hpb=24608a9e1450c409dc3870440d29e91cc3a26bb9;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 95db5d6a..d00dc211 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 @@ -52,24 +52,33 @@ 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.EpAppType; 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 +86,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 +98,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 +120,9 @@ public class EPAppCommonServiceImplTest { @Mock AdminRolesServiceImpl adminRolesServiceImpl = new AdminRolesServiceImpl(); - @Mock - EPUebHelper epUebHelper; - + /*@Mock + EPAppServiceImpl epAppServiceImpl = new EPAppServiceImpl();*/ + @Mock SessionFactory sessionFactory; @@ -118,6 +131,11 @@ public class EPAppCommonServiceImplTest { @Mock Transaction transaction; + + NullPointerException nullPointerException = new NullPointerException(); + + @Mock + RestTemplate template = new RestTemplate(); @Before public void setup() { @@ -140,27 +158,27 @@ public class EPAppCommonServiceImplTest { EPApp app = new EPApp(); app.setName("Test"); app.setImageUrl("test"); - app.setDescription("test"); - app.setNotes("test"); - app.setUrl("test"); + app.setAppDescription("test"); + app.setAppNotes("test"); + app.setLandingPage("test"); app.setId((long) 1); app.setAppRestEndpoint("test"); - app.setAlternateUrl("test"); + app.setAlternateLandingPage("test"); app.setName("test"); app.setMlAppName("test"); app.setMlAppAdminId("test"); - app.setUsername("test"); - app.setAppPassword("test"); + app.setAppBasicAuthUsername("test"); + app.setAppBasicAuthPassword("test"); app.setOpen(false); app.setEnabled(false); - app.setCentralAuth(true); + app.setRolesInAAF(true); app.setUebKey("test"); app.setUebSecret("test"); app.setUebTopicName("test"); - app.setAppType(1); + app.setAppType(EpAppType.GUI); return app; } - + @Test public void getUserAsAdminAppsTest() { EPApp mockApp = mockApp(); @@ -181,14 +199,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 +228,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 +333,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 @@ -410,7 +440,7 @@ public class EPAppCommonServiceImplTest { public void getRestrictedAppRolesTest() { EPUser user = mockUser.mockEPUser(); EPApp mockApp = mockApp(); - mockApp.setRestrictedApp(true); + mockApp.setAppType(EpAppType.HYPERLINK); user.setLoginId("guestT"); List expected = new ArrayList<>(); LocalRole localRole = new LocalRole(); @@ -429,7 +459,7 @@ public class EPAppCommonServiceImplTest { public void getPoralAppRolesTest() { EPUser user = mockUser.mockEPUser(); EPApp mockApp = mockApp(); - mockApp.setRestrictedApp(false); + mockApp.setAppType(EpAppType.GUI); mockApp.setId(1l); user.setLoginId("guestT"); List expected = new ArrayList<>(); @@ -448,7 +478,7 @@ public class EPAppCommonServiceImplTest { public void getNonPortalAndNonRestrictedAppRolesTest() { EPUser user = mockUser.mockEPUser(); EPApp mockApp = mockApp(); - mockApp.setRestrictedApp(false); + mockApp.setAppType(EpAppType.GUI); mockApp.setId(2l); user.setLoginId("guestT"); List expected = new ArrayList<>(); @@ -500,6 +530,7 @@ public class EPAppCommonServiceImplTest { assertEquals(expected, actual); } + @Ignore @SuppressWarnings("unchecked") @Test public void addOnboardingAppUnKnownHostExceptionTest() throws Exception { @@ -509,15 +540,15 @@ public class EPAppCommonServiceImplTest { List mockAppList = new ArrayList<>(); OnboardingApp onboardApp = new OnboardingApp(); onboardApp.setRestrictedApp(false); - onboardApp.name = "test1"; - onboardApp.url = "http://test.com"; - onboardApp.isOpen = false; - onboardApp.isEnabled = true; - onboardApp.username = "test123"; - onboardApp.appPassword = "test123"; + onboardApp.setAppName("test1"); + onboardApp.setLandingPage("http://test.com"); + onboardApp.setIsOpen(false); + onboardApp.setIsEnabled(true); + onboardApp.setAppBasicAuthUsername("test123"); + onboardApp.setAppBasicAuthPassword("test123"); List restrictionsList = new ArrayList(); - Criterion urlCrit = Restrictions.eq("url", onboardApp.url); - Criterion nameCrit = Restrictions.eq("name", onboardApp.name); + Criterion urlCrit = Restrictions.eq("url", onboardApp.getLandingPage()); + Criterion nameCrit = Restrictions.eq("name", onboardApp.getAppName()); Criterion orCrit = Restrictions.or(urlCrit, nameCrit); restrictionsList.add(orCrit); List uebList = new ArrayList<>(); @@ -531,7 +562,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); } @@ -543,36 +574,46 @@ public class EPAppCommonServiceImplTest { EPApp mockApp = mockApp(); mockApp.setName("test1"); mockApp.setId(2l); - mockApp.setUrl("http://test.com"); - mockApp.setUsername("test123"); - mockApp.setAppPassword("test123"); - mockApp.setRestrictedApp(false); + mockApp.setLandingPage("http://test.com"); + mockApp.setAppBasicAuthUsername("test123"); + mockApp.setAppBasicAuthPassword("*******"); + mockApp.setAppType(EpAppType.GUI); mockApp.setEnabled(true); mockApp.setOpen(false); List mockAppList = new ArrayList<>(); mockAppList.add(mockApp); OnboardingApp onboardApp = new OnboardingApp(); onboardApp.setRestrictedApp(false); - onboardApp.name = "test1"; - onboardApp.id = 2l; - onboardApp.url = "http://test.com"; - onboardApp.isOpen = false; - onboardApp.isEnabled = true; - onboardApp.thumbnail = "test123imgthumbnail"; - onboardApp.username = "test123"; - onboardApp.appPassword = "test123"; + onboardApp.setAppName("test1"); + onboardApp.setId(2l); + onboardApp.setLandingPage("http://test.com"); + onboardApp.setRestUrl("http://test.com"); + onboardApp.setIsOpen(false); + onboardApp.setIsEnabled (true); + onboardApp.setThumbnail("test123imgthumbnail"); + onboardApp.setAppBasicAuthUsername("test123"); + onboardApp.setAppBasicAuthPassword("*******"); + onboardApp.setRolesInAAF(true); + onboardApp.setMyLoginsAppName("test123"); + onboardApp.setMyLoginsAppOwner("test123"); + onboardApp.setNameSpace("com.test"); + onboardApp.setModeOfIntegration("sdk"); + onboardApp.setAppAck(true); + onboardApp.setUsesCadi(false); + onboardApp.setApplicationType("1"); + List restrictionsList1 = new ArrayList(); - Criterion idCrit = Restrictions.eq("id", onboardApp.id); - Criterion urlCrit = Restrictions.eq("url", onboardApp.url); - Criterion nameCrit = Restrictions.eq("name", onboardApp.name); + Criterion idCrit = Restrictions.eq("id", onboardApp.getId()); + Criterion urlCrit = Restrictions.eq("url", onboardApp.getLandingPage()); + Criterion nameCrit = Restrictions.eq("name", onboardApp.getAppName()); Criterion orCrit = Restrictions.or(idCrit, urlCrit, nameCrit); restrictionsList1.add(orCrit); Mockito.when((List) dataAccessService.getList(EPApp.class, null, restrictionsList1, null)) .thenReturn(mockAppList); - Mockito.when((EPApp) session.get(EPApp.class, onboardApp.id)).thenReturn(mockApp); + Mockito.when((EPApp) session.get(EPApp.class, onboardApp.getId())).thenReturn(mockApp); String sql = "SELECT m.menu_id, m.column_num, m.text, m.parent_menu_id, m.url, m.active_yn " + "FROM fn_menu_functional m, fn_menu_functional_roles r " + "WHERE m.menu_id = r.menu_id " - + " AND r.app_id = '" + onboardApp.id + "' "; + + " AND r.app_id = '" + onboardApp.getId() + "' "; List roles = new ArrayList<>(); roles.add(1); roles.add(2); @@ -585,7 +626,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 +769,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 +869,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.setRolesInAAF(false); + onboardingApp.setIsEnabled(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); + + } }