|
35 | 35 | import org.apache.ranger.db.XXPolicyRefRoleDao;
|
36 | 36 | import org.apache.ranger.db.XXRoleDao;
|
37 | 37 | import org.apache.ranger.db.XXRoleRefRoleDao;
|
| 38 | +import org.apache.ranger.db.XXSecurityZoneRefRoleDao; |
38 | 39 | import org.apache.ranger.db.XXServiceDefDao;
|
39 | 40 | import org.apache.ranger.entity.XXPortalUser;
|
40 | 41 | import org.apache.ranger.entity.XXRole;
|
@@ -356,19 +357,22 @@ public void testDeleteRoleByInValidRoleName() throws Exception {
|
356 | 357 |
|
357 | 358 | @Test
|
358 | 359 | public void testDeleteRoleByValidRoleName() throws Exception {
|
359 |
| - XXRoleDao xxRoleDao = Mockito.mock(XXRoleDao.class); |
360 |
| - XXPolicyRefRoleDao xxPolicyRefRoleDao = Mockito.mock(XXPolicyRefRoleDao.class); |
361 |
| - XXRoleRefRoleDao xxRoleRefRoleDao = Mockito.mock(XXRoleRefRoleDao.class); |
362 |
| - XXTrxLog xTrxLog = new XXTrxLog() {{ setAction("delete"); }}; |
363 |
| - List<XXTrxLog> trxLogList = Collections.singletonList(xTrxLog); |
364 |
| - XXRole xxRole = getTestRole(); |
365 |
| - RangerRole rangerRole = getRangerRole(); |
| 360 | + XXRoleDao xxRoleDao = Mockito.mock(XXRoleDao.class); |
| 361 | + XXPolicyRefRoleDao xxPolicyRefRoleDao = Mockito.mock(XXPolicyRefRoleDao.class); |
| 362 | + XXRoleRefRoleDao xxRoleRefRoleDao = Mockito.mock(XXRoleRefRoleDao.class); |
| 363 | + XXSecurityZoneRefRoleDao xxSzRefRoleDao = Mockito.mock(XXSecurityZoneRefRoleDao.class); |
| 364 | + XXTrxLog xTrxLog = new XXTrxLog() {{ setAction("delete"); }}; |
| 365 | + List<XXTrxLog> trxLogList = Collections.singletonList(xTrxLog); |
| 366 | + XXRole xxRole = getTestRole(); |
| 367 | + RangerRole rangerRole = getRangerRole(); |
366 | 368 |
|
367 | 369 | Mockito.when(daoMgr.getXXRole()).thenReturn(xxRoleDao);
|
368 | 370 | Mockito.when(daoMgr.getXXPolicyRefRole()).thenReturn(xxPolicyRefRoleDao);
|
| 371 | + Mockito.when(daoMgr.getXXSecurityZoneRefRole()).thenReturn(xxSzRefRoleDao); |
369 | 372 | Mockito.when(xxPolicyRefRoleDao.findRoleRefPolicyCount(roleName)).thenReturn(0L);
|
370 | 373 | Mockito.when(daoMgr.getXXRoleRefRole()).thenReturn(xxRoleRefRoleDao);
|
371 | 374 | Mockito.when(xxRoleRefRoleDao.findRoleRefRoleCount(roleName)).thenReturn(0L);
|
| 375 | + Mockito.when(xxSzRefRoleDao.findRoleRefZoneCount(roleName)).thenReturn(0L); |
372 | 376 | Mockito.when(roleService.read(xxRole.getId())).thenReturn(rangerRole);
|
373 | 377 | Mockito.when(xxRoleDao.findByRoleName(roleName)).thenReturn(xxRole);
|
374 | 378 | Mockito.doNothing().when(transactionSynchronizationAdapter).executeOnTransactionCommit(Mockito.any());
|
@@ -450,16 +454,19 @@ public void testUpdateRole() throws Exception {
|
450 | 454 |
|
451 | 455 | @Test
|
452 | 456 | public void testDeleteRoleByRoleId() throws Exception {
|
453 |
| - RangerRole rangerRole = getRangerRole(); |
454 |
| - XXPolicyRefRoleDao xxPolicyRefRoleDao = Mockito.mock(XXPolicyRefRoleDao.class); |
455 |
| - XXRoleRefRoleDao xxRoleRefRoleDao = Mockito.mock(XXRoleRefRoleDao.class); |
456 |
| - XXTrxLog xTrxLog = new XXTrxLog() {{ setAction("delete"); }}; |
457 |
| - List<XXTrxLog> trxLogList = Collections.singletonList(xTrxLog); |
458 |
| - XXRole xxRole = getTestRole(); |
| 457 | + RangerRole rangerRole = getRangerRole(); |
| 458 | + XXPolicyRefRoleDao xxPolicyRefRoleDao = Mockito.mock(XXPolicyRefRoleDao.class); |
| 459 | + XXRoleRefRoleDao xxRoleRefRoleDao = Mockito.mock(XXRoleRefRoleDao.class); |
| 460 | + XXSecurityZoneRefRoleDao xxSzRefRoleDao = Mockito.mock(XXSecurityZoneRefRoleDao.class); |
| 461 | + XXTrxLog xTrxLog = new XXTrxLog() {{ setAction("delete"); }}; |
| 462 | + List<XXTrxLog> trxLogList = Collections.singletonList(xTrxLog); |
| 463 | + XXRole xxRole = getTestRole(); |
459 | 464 |
|
460 | 465 | Mockito.when(roleService.read(roleId)).thenReturn(rangerRole);
|
461 | 466 | Mockito.when(daoMgr.getXXPolicyRefRole()).thenReturn(xxPolicyRefRoleDao);
|
| 467 | + Mockito.when(daoMgr.getXXSecurityZoneRefRole()).thenReturn(xxSzRefRoleDao); |
462 | 468 | Mockito.when(xxPolicyRefRoleDao.findRoleRefPolicyCount(rangerRole.getName())).thenReturn(0L);
|
| 469 | + Mockito.when(xxSzRefRoleDao.findRoleRefZoneCount(rangerRole.getName())).thenReturn(0L); |
463 | 470 | Mockito.when(daoMgr.getXXRoleRefRole()).thenReturn(xxRoleRefRoleDao);
|
464 | 471 | Mockito.when(xxRoleRefRoleDao.findRoleRefRoleCount(rangerRole.getName())).thenReturn(0L);
|
465 | 472 | Mockito.when(roleService.read(xxRole.getId())).thenReturn(rangerRole);
|
@@ -506,6 +513,27 @@ public void testDeleteRoleByValidRoleNameWhenRoleIsAssociatedWithOneOrMoreRoles(
|
506 | 513 | roleDBStore.deleteRole(roleName);
|
507 | 514 | }
|
508 | 515 |
|
| 516 | + @Test |
| 517 | + public void testDeleteRoleByValidRoleNameWhenRoleIsAssociatedWithOneOrMoreSecurityZones() throws Exception { |
| 518 | + XXRole xxRole = getTestRole(); |
| 519 | + XXRoleDao xxRoleDao = Mockito.mock(XXRoleDao.class); |
| 520 | + XXPolicyRefRoleDao xxPolicyRefRoleDao = Mockito.mock(XXPolicyRefRoleDao.class); |
| 521 | + XXRoleRefRoleDao xxRoleRefRoleDao = Mockito.mock(XXRoleRefRoleDao.class); |
| 522 | + XXSecurityZoneRefRoleDao xxSzRefRoleDao = Mockito.mock(XXSecurityZoneRefRoleDao.class); |
| 523 | + |
| 524 | + Mockito.when(daoMgr.getXXRole()).thenReturn(xxRoleDao); |
| 525 | + Mockito.when(xxRoleDao.findByRoleName(roleName)).thenReturn(xxRole); |
| 526 | + Mockito.when(daoMgr.getXXPolicyRefRole()).thenReturn(xxPolicyRefRoleDao); |
| 527 | + Mockito.when(xxPolicyRefRoleDao.findRoleRefPolicyCount(roleName)).thenReturn(0L); |
| 528 | + Mockito.when(daoMgr.getXXRoleRefRole()).thenReturn(xxRoleRefRoleDao); |
| 529 | + Mockito.when(xxRoleRefRoleDao.findRoleRefRoleCount(roleName)).thenReturn(0L); |
| 530 | + Mockito.when(daoMgr.getXXSecurityZoneRefRole()).thenReturn(xxSzRefRoleDao); |
| 531 | + Mockito.when(xxSzRefRoleDao.findRoleRefZoneCount(roleName)).thenReturn(1L); |
| 532 | + thrown.expect(Exception.class); |
| 533 | + |
| 534 | + roleDBStore.deleteRole(roleName); |
| 535 | + } |
| 536 | + |
509 | 537 | private XXRole getTestRole() {
|
510 | 538 | return new XXRole() {{
|
511 | 539 | setId(TestRoleDBStore.roleId);
|
|
0 commit comments