CADI AAF Integration and merging the code
[portal.git] / ecomp-portal-BE-common / src / test / java / org / onap / portalapp / portal / service / ExternalAccessRolesServiceImplTest.java
index 295ba74..d1ad191 100644 (file)
@@ -33,7 +33,7 @@
  *
  * ============LICENSE_END============================================
  *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * 
  */
 package org.onap.portalapp.portal.service;
 
@@ -78,6 +78,7 @@ import org.onap.portalapp.portal.domain.EPAppRoleFunction;
 import org.onap.portalapp.portal.domain.EPRole;
 import org.onap.portalapp.portal.domain.EPUser;
 import org.onap.portalapp.portal.domain.EPUserApp;
+import org.onap.portalapp.portal.ecomp.model.UploadRoleFunctionExtSystem;
 import org.onap.portalapp.portal.exceptions.InactiveApplicationException;
 import org.onap.portalapp.portal.exceptions.InvalidUserException;
 import org.onap.portalapp.portal.framework.MockitoTestSuite;
@@ -86,6 +87,7 @@ import org.onap.portalapp.portal.transport.BulkUploadUserRoles;
 import org.onap.portalapp.portal.transport.CentralRole;
 import org.onap.portalapp.portal.transport.CentralUser;
 import org.onap.portalapp.portal.transport.CentralV2Role;
+import org.onap.portalapp.portal.transport.CentralizedAppRoles;
 import org.onap.portalapp.portal.transport.EcompUserRoles;
 import org.onap.portalapp.portal.transport.ExternalRequestFieldsValidator;
 import org.onap.portalapp.portal.transport.GlobalRoleWithApplicationRoleFunction;
@@ -141,6 +143,13 @@ public class ExternalAccessRolesServiceImplTest {
        @Before
        public void setup() {
                MockitoAnnotations.initMocks(this);
+               PowerMockito.mockStatic(EPCommonSystemProperties.class);
+               PowerMockito.mockStatic(PortalConstants.class);
+               PowerMockito.mockStatic(EcompPortalUtils.class);
+               PowerMockito.mockStatic(SystemProperties.class);
+               PowerMockito.mockStatic(EPUserUtils.class);
+               PowerMockito.mockStatic(Restrictions.class);
+               PowerMockito.mockStatic(Criterion.class);
                Mockito.when(sessionFactory.openSession()).thenReturn(session);
                Mockito.when(session.beginTransaction()).thenReturn(transaction);
        }
@@ -256,9 +265,6 @@ public class ExternalAccessRolesServiceImplTest {
        @Test
        public void addRoleTest() throws Exception {
                HttpHeaders headers = new HttpHeaders();
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
                String uebKey = "test-ueb-key";
                Role role = new Role();
                role.setId((long) 25);
@@ -294,9 +300,6 @@ public class ExternalAccessRolesServiceImplTest {
        @Test
        public void addRoleMethodNotAllowedTest() throws Exception {
                HttpHeaders headers = new HttpHeaders();
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
                Role role = new Role();
                role.setId((long) 25);
                EPApp app = mockApp();
@@ -353,9 +356,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void deleteCentralRoleFunctionTest() throws Exception {
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
                final Map<String, String> params = new HashMap<>();
                EPApp app = mockApp();
                params.put("functionCode", "menu_fun_code");
@@ -488,7 +488,6 @@ public class ExternalAccessRolesServiceImplTest {
                Mockito.when(EcompPortalUtils.base64encodeKeyForAAFBasicAuth()).thenReturn(headers);
                Mockito.doNothing().when(dataAccessService).deleteDomainObjects(EPAppRoleFunction.class,
                                "app_id = " + app.getId() + " and function_cd = '" + "menu_fun_code" + "'", null);
-
                boolean returnedValue = externalAccessRolesServiceImpl.deleteCentralRoleFunction("menu_fun_code", app);
                assertTrue(returnedValue);
        }
@@ -510,9 +509,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void getRoleFunctionTest() throws Exception {
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                List<EPApp> appList = new ArrayList<>();
                appList.add(app);
@@ -538,9 +534,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void getRoleFunctionMutilpleFilterTest() throws Exception {
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                List<EPApp> appList = new ArrayList<>();
                appList.add(app);
@@ -717,8 +710,6 @@ public class ExternalAccessRolesServiceImplTest {
        @SuppressWarnings("deprecation")
        @Test
        public void getAllAppUsersTest() throws Exception {
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(EPUserUtils.class);
                EPApp app = new EPApp();
                app.setEnabled(true);
                app.setId((long) 10);
@@ -927,7 +918,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveRoleForPortalApplicationNewTest() throws Exception {
-               PowerMockito.mockStatic(EcompPortalUtils.class);
                EPApp app = mockApp();
                app.setId(1l);
                Role addRoleTest = new Role();
@@ -968,9 +958,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveRoleForPortalApplicationUpdateTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(1l);
                Role addRoleTest = new Role();
@@ -1094,9 +1081,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveRoleExitsInDbButNotInExtAuthSystemTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(1l);
                Role addRoleTest = new Role();
@@ -1195,9 +1179,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveGlobalRoleForPortalApplicationUpdateTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(1l);
                Role addRoleTest = new Role();
@@ -1321,9 +1302,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveRoleForPartnerApplicationUpdateTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                Role addRoleTest = new Role();
@@ -1457,9 +1435,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void saveGlobalRoleFunctionsForPartnerApplicationUpdateTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                Role addRoleTest = new Role();
@@ -1600,9 +1575,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void syncRoleFunctionFromExternalAccessSystemTest() {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                JSONObject mockJsonObjectFinalPerm = new JSONObject();
@@ -1770,9 +1742,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void syncApplicationRolesWithEcompDBTest() {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                JSONObject mockJsonObjectRole = new JSONObject();
@@ -1903,9 +1872,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void deleteDependencyRoleRecord() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                SQLQuery SqlQuery = Mockito.mock(SQLQuery.class);
                EPApp app = mockApp();
                app.setId(2l);
@@ -1946,9 +1912,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void deleteDependencyRoleRecordForPortal() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                SQLQuery SqlQuery = Mockito.mock(SQLQuery.class);
                EPApp app = mockApp();
                app.setId(1l);
@@ -1988,9 +1951,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void bulkUploadFunctionsTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                List<EPApp> appList = new ArrayList<>();
@@ -2030,9 +1990,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void bulkUploadRolesTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                List<EPApp> appList = new ArrayList<>();
@@ -2086,15 +2043,12 @@ public class ExternalAccessRolesServiceImplTest {
                Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST),
                                Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(postResponse);
                Integer actual = externalAccessRolesServiceImpl.bulkUploadRoles(app.getUebKey());
-               Integer expected = 2;
+               Integer expected = 3;
                assertEquals(expected, actual);
        }
 
        @Test
        public void bulkUploadUserRolesTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                app.setId(2l);
                EPUser user = mockUser.mockEPUser();
@@ -2162,12 +2116,6 @@ public class ExternalAccessRolesServiceImplTest {
        @SuppressWarnings("unchecked")
        @Test
        public void getActiveRolesTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
-               PowerMockito.mockStatic(EPUserUtils.class);
-               PowerMockito.mockStatic(Restrictions.class);
-               PowerMockito.mockStatic(Criterion.class);
                EPApp app = mockApp();
                app.setId(1l);
                List<EPApp> appList = new ArrayList<>();
@@ -2231,9 +2179,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void bulkUploadRolesFunctionsTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                List<EPApp> appList = new ArrayList<>();
                final Map<String, String> appUebkeyParams = new HashMap<>();
@@ -2286,9 +2231,6 @@ public class ExternalAccessRolesServiceImplTest {
 
        @Test
        public void bulkUploadPartnerRoleFunctionsTest() throws Exception {
-               PowerMockito.mockStatic(EPCommonSystemProperties.class);
-               PowerMockito.mockStatic(EcompPortalUtils.class);
-               PowerMockito.mockStatic(SystemProperties.class);
                EPApp app = mockApp();
                List<EPApp> appList = new ArrayList<>();
                final Map<String, String> appUebkeyParams = new HashMap<>();
@@ -2296,32 +2238,64 @@ public class ExternalAccessRolesServiceImplTest {
                appUebkeyParams.put("appKey", app.getUebKey());
                Mockito.when(dataAccessService.executeNamedQuery("getMyAppDetailsByUebKey", appUebkeyParams, null))
                                .thenReturn(appList);
-               List<Role> roles = new ArrayList<>();
-               Role role = new Role();
-               role.setName("Test");
-               role.setId(2l);
-               role.setActive(true);
-               Role role2 = new Role();
-               role2.setName("Test2");
-               role2.setId(3l);
-               role2.setActive(true);
-               roles.add(role);
-               roles.add(role2);
-               SortedSet<RoleFunction> roleFuncSet = new TreeSet<>();
-               RoleFunction roleFunc = new RoleFunction();
-               roleFunc.setName("Test Name");
-               roleFunc.setCode("testcode");
-               RoleFunction roleFunc2 = new RoleFunction();
-               roleFunc2.setName("Test Name3");
-               roleFunc2.setCode("menu_testcode2");
-               roleFuncSet.add(roleFunc);
-               roleFuncSet.add(roleFunc2);
-               role.setRoleFunctions(roleFuncSet);
-               role2.setRoleFunctions(roleFuncSet);
+               List<EPRole> applicationRoles = new ArrayList<>();
+               EPRole getEPRole = new EPRole();
+               getEPRole.setName("Test");
+               getEPRole.setId(2l);
+               getEPRole.setActive(true);
+               EPRole getEPRole2 = new EPRole();
+               getEPRole2.setName("Test2");
+               getEPRole2.setId(3l);
+               getEPRole2.setActive(true);
+               applicationRoles.add(getEPRole);
+               applicationRoles.add(getEPRole2);
+               final Map<String, Long> paramsRoles = new HashMap<>();
+               paramsRoles.put("appId", app.getId());
+               Mockito.when(dataAccessService.executeNamedQuery("getPartnerAppRolesList", paramsRoles, null))
+                               .thenReturn(applicationRoles);
+               final Map<String, Long> params = new HashMap<>();
+               params.put("roleId", getEPRole.getId());
+               List<BulkUploadRoleFunction> appRoleFunc = new ArrayList<>();
+               BulkUploadRoleFunction bulkUploadRoleFunction = new BulkUploadRoleFunction();
+               bulkUploadRoleFunction.setFunctionCd("testcode");
+               bulkUploadRoleFunction.setFunctionName("test_name");
+               BulkUploadRoleFunction bulkUploadRoleFunction2 = new BulkUploadRoleFunction();
+               bulkUploadRoleFunction2.setFunctionCd("menu_testcode2");
+               bulkUploadRoleFunction2.setFunctionName("test_name2");
+               appRoleFunc.add(bulkUploadRoleFunction);
+               appRoleFunc.add(bulkUploadRoleFunction2);
+               Mockito.when(dataAccessService.executeNamedQuery("uploadPartnerRoleFunctions", params, null))
+                               .thenReturn(appRoleFunc);
+               final Map<String, Long> params2 = new HashMap<>();
+               params2.put("roleId", getEPRole2.getId());
+               List<BulkUploadRoleFunction> appRoleFunc2 = new ArrayList<>();
+               appRoleFunc2.add(bulkUploadRoleFunction);
+               appRoleFunc2.add(bulkUploadRoleFunction2);
+               Mockito.when(dataAccessService.executeNamedQuery("uploadPartnerRoleFunctions", params2, null))
+                               .thenReturn(appRoleFunc2);
                ResponseEntity<String> getResponse = new ResponseEntity<>(HttpStatus.OK);
                Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.PUT),
                                Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(getResponse);
-               externalAccessRolesServiceImpl.bulkUploadPartnerRoleFunctions(app.getUebKey(), roles);
+               // GlobalRoleFunctionsTest
+               final Map<String, Long> partnerAppParams = new HashMap<>();
+               partnerAppParams.put("appId", app.getId());
+               Mockito.when(epAppCommonServiceImpl.getApp(1l)).thenReturn(app);
+               List<GlobalRoleWithApplicationRoleFunction> globalRoleFuncsList = new ArrayList<>();
+               GlobalRoleWithApplicationRoleFunction globalRoleFunc = new GlobalRoleWithApplicationRoleFunction();
+               globalRoleFunc.setActive(true);
+               globalRoleFunc.setAppId(10l);
+               globalRoleFunc.setFunctionCd("test|test|test");
+               globalRoleFunc.setRoleId(2l);
+               globalRoleFunc.setFunctionName("test");
+               globalRoleFunc.setRoleName("global_test");
+               globalRoleFuncsList.add(globalRoleFunc);
+               Mockito.when(dataAccessService.executeNamedQuery("getBulkUploadPartnerGlobalRoleFunctions", partnerAppParams, null))
+                               .thenReturn(globalRoleFuncsList);
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(getResponse);
+               Integer actual = externalAccessRolesServiceImpl.bulkUploadPartnerRoleFunctions(app.getUebKey());
+               Integer expected = 5;
+               assertEquals(expected, actual);
        }
 
        @Test
@@ -2393,4 +2367,174 @@ public class ExternalAccessRolesServiceImplTest {
                List<CentralRole> actual = externalAccessRolesServiceImpl.convertV2CentralRoleListToOldVerisonCentralRoleList(v2CenRoleList);
                assertEquals(1, actual.size());
        }
+       
+       @Test
+       public void bulkUploadRoleFuncTest() throws Exception {
+               EPApp app = mockApp();
+               UploadRoleFunctionExtSystem  data = new UploadRoleFunctionExtSystem();
+               data.setRoleName("test");
+               data.setType("test");
+               data.setInstance("test");
+               data.setIsGlobalRolePartnerFunc(false);
+               data.setAction("test");
+               data.setName("test");
+               ResponseEntity<String> getResponse = new ResponseEntity<>(HttpStatus.OK);
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(getResponse);
+               externalAccessRolesServiceImpl.bulkUploadRoleFunc(data, app);
+       }
+       
+       @Test
+       public void bulkUploadGlobalRoleFuncTest() throws Exception {
+               EPApp app = mockApp();
+               EPApp portalApp = mockApp();
+               portalApp.setId(1L);
+               Mockito.when(epAppCommonServiceImpl.getApp(PortalConstants.PORTAL_APP_ID)).thenReturn(portalApp);
+               UploadRoleFunctionExtSystem  data = new UploadRoleFunctionExtSystem();
+               data.setRoleName("test");
+               data.setType("test");
+               data.setInstance("test");
+               data.setIsGlobalRolePartnerFunc(true);
+               data.setAction("test");
+               data.setName("test");
+               ResponseEntity<String> getResponse = new ResponseEntity<>(HttpStatus.OK);
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(getResponse);
+               externalAccessRolesServiceImpl.bulkUploadRoleFunc(data, app);
+       }
+       
+       @Test(expected = HttpClientErrorException.class)
+       public void bulkUploadRoleFuncExcpetionTest() throws Exception {
+               UploadRoleFunctionExtSystem  data = new UploadRoleFunctionExtSystem();
+               data.setRoleName("test");
+               data.setType("test");
+               data.setInstance("test");
+               data.setAction("test");
+               data.setName("test");
+               data.setInstance("test");
+               EPApp app = mockApp();
+               Mockito.doThrow(new HttpClientErrorException(HttpStatus.CONFLICT)).when(template).exchange(Matchers.anyString(), Matchers.eq(HttpMethod.POST),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class));
+               externalAccessRolesServiceImpl.bulkUploadRoleFunc(data, app);
+       }
+       
+       @Test
+       public void syncApplicationUserRolesFromExtAuthSystemTest() throws Exception {
+               Mockito.when(EcompPortalUtils.base64encodeKeyForAAFBasicAuth()).thenReturn(new HttpHeaders());
+               Mockito.when(EPCommonSystemProperties.containsProperty(EPCommonSystemProperties.EXTERNAL_CENTRAL_ACCESS_USER_DOMAIN)).thenReturn(true);
+               JSONObject mockJsonObjectRole = new JSONObject();
+               JSONObject mockJsonObjectRole2 = new JSONObject();
+               JSONObject mockJsonObjectRole3 = new JSONObject();
+               mockJsonObjectRole.put("name", "com.test.app.test_role");
+               mockJsonObjectRole2.put("name", "com.test.app2.test_role");
+               mockJsonObjectRole3.put("name", "com.test.app2.Account_Administrator");
+               List<JSONObject> userRolesList = new ArrayList<>();
+               JSONObject mockJsonObjectFinalUserRole = new JSONObject();
+               userRolesList.add(mockJsonObjectRole);
+               userRolesList.add(mockJsonObjectRole2);
+               userRolesList.add(mockJsonObjectRole3);
+               mockJsonObjectFinalUserRole.put("role", userRolesList);
+               ResponseEntity<String> getResponse = new ResponseEntity<>(mockJsonObjectFinalUserRole.toString(),HttpStatus.OK);
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(getResponse);
+               List<EPUser> users = new ArrayList<>();
+               EPUser user = mockUser.mockEPUser();
+               user.setOrgUserId("test");
+               users.add(user);
+               List<EPApp> apps = new ArrayList<>();
+               EPApp app = mockApp();
+               app.setNameSpace("com.test.app");
+               app.setId(1l);
+               EPApp app2 = mockApp();
+               app2.setNameSpace("com.test.app2");
+               app2.setId(2l);
+               apps.add(app);
+               apps.add(app2);
+               Mockito.when(dataAccessService
+               .executeNamedQuery("getCentralizedApps", null, null)).thenReturn(apps);
+               HashMap<String, String> userParams = new HashMap<>();
+               userParams.put("org_user_id", "test");
+               Mockito.when(dataAccessService.executeNamedQuery("getEPUserByOrgUserId", userParams, null)).thenReturn(users);
+               List<CentralizedAppRoles> currentUserAppRoles = new ArrayList<>();
+               CentralizedAppRoles currentUserAppRole = new CentralizedAppRoles();
+               currentUserAppRole.setAppId(1l);
+               currentUserAppRole.setAppNameSpace("com.test.app");
+               currentUserAppRole.setRoleId(2l);
+               currentUserAppRole.setRoleName("test role");
+               currentUserAppRoles.add(currentUserAppRole);
+               HashMap<String, String> userParams2 = new HashMap<>();
+               userParams2.put("orgUserId", user.getOrgUserId());
+               Mockito.when(dataAccessService
+               .executeNamedQuery("getUserCentralizedAppRoles", userParams2, null)).thenReturn(currentUserAppRoles);
+               List<CentralizedAppRoles> centralizedAppRoles = new ArrayList<>();
+               CentralizedAppRoles centralizedAppRole = new CentralizedAppRoles();
+               centralizedAppRole.setAppId(1l);
+               centralizedAppRole.setAppNameSpace("com.test.app");
+               centralizedAppRole.setRoleId(2l);
+               centralizedAppRole.setRoleName("test role");
+               CentralizedAppRoles centralizedAppRole2 = new CentralizedAppRoles();
+               centralizedAppRole2.setAppId(1l);
+               centralizedAppRole2.setAppNameSpace("com.test.app2");
+               centralizedAppRole2.setRoleId(2l);
+               centralizedAppRole2.setRoleName("test role");
+               centralizedAppRoles.add(centralizedAppRole);
+               centralizedAppRoles.add(centralizedAppRole2);
+               Mockito.when(dataAccessService
+               .executeNamedQuery("getAllCentralizedAppsRoles", null, null)).thenReturn(centralizedAppRoles);
+               externalAccessRolesServiceImpl.syncApplicationUserRolesFromExtAuthSystem(user.getOrgUserId());
+       }
+       
+       @Test
+       public void updateAppRoleDescriptionTest() {
+               EPApp app = mockUpdateAppRoleDescription();
+               ResponseEntity<String> postResponse = new ResponseEntity<>(HttpStatus.OK);
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.PUT),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenReturn(postResponse);
+               Integer actual = externalAccessRolesServiceImpl.updateAppRoleDescription(app.getUebKey());
+               Integer expected = 1;
+               assertEquals(expected, actual);
+       }
+       
+       @Test
+       public void updateAppRoleDescriptionExceptionTest() {
+               EPApp app = mockUpdateAppRoleDescription();
+               Mockito.when(template.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.PUT),
+                               Matchers.<HttpEntity<String>>any(), Matchers.eq(String.class))).thenThrow(new HttpClientErrorException(HttpStatus.NOT_ACCEPTABLE));
+               Integer actual = externalAccessRolesServiceImpl.updateAppRoleDescription(app.getUebKey());
+               Integer expected = 0;
+               assertEquals(expected, actual);
+       }
+       
+       @Test
+       public void updateAppRoleDescriptionExceptionTest2() throws Exception {
+               EPApp app = mockUpdateAppRoleDescription();
+               Mockito.when(EcompPortalUtils.base64encodeKeyForAAFBasicAuth()).thenThrow(new NullPointerException());
+               Integer actual = externalAccessRolesServiceImpl.updateAppRoleDescription(app.getUebKey());
+               Integer expected = 0;
+               assertEquals(expected, actual);
+       }
+
+       private EPApp mockUpdateAppRoleDescription() {
+               EPApp app = mockApp();
+               app.setId(2l);
+               List<EPApp> appList = new ArrayList<>();
+               final Map<String, String> appUebkeyParams = new HashMap<>();
+               appList.add(app);
+               appUebkeyParams.put("appKey", app.getUebKey());
+               Mockito.when(dataAccessService.executeNamedQuery("getMyAppDetailsByUebKey", appUebkeyParams, null))
+                               .thenReturn(appList);
+               List<EPRole> epRoleList = new ArrayList<>();
+               EPRole getEPRole = new EPRole();
+               getEPRole.setName("Test");
+               getEPRole.setId(2l);
+               getEPRole.setAppRoleId(2l);
+               getEPRole.setActive(true);
+               epRoleList.add(getEPRole);
+               final Map<String, Long> appParams = new HashMap<>();
+               appParams.put("appId", app.getId());
+               Mockito.when(dataAccessService.executeNamedQuery("getPartnerAppRolesList", appParams, null))
+               .thenReturn(epRoleList);
+               return app;
+       }
+       
 }