|
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