This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 645b4f3d6 RANGER-4031: updated REST API /api/policy/guid/{guid} to
fetch policy given its guid, without service name
645b4f3d6 is described below
commit 645b4f3d657722bbe485b87a03a5c4ecffa39d72
Author: Ramachandran Krishnan <[email protected]>
AuthorDate: Thu Jan 5 15:43:32 2023 +0530
RANGER-4031: updated REST API /api/policy/guid/{guid} to fetch policy given
its guid, without service name
Signed-off-by: Madhan Neethiraj <[email protected]>
---
.../java/org/apache/ranger/biz/ServiceDBStore.java | 2 +-
.../java/org/apache/ranger/db/XXPolicyDao.java | 30 ++++--
.../java/org/apache/ranger/rest/PublicAPIsv2.java | 15 ++-
.../java/org/apache/ranger/rest/ServiceREST.java | 2 +-
.../main/resources/META-INF/jpa_named_queries.xml | 8 ++
.../org/apache/ranger/biz/TestServiceDBStore.java | 66 +++++++++++++
.../org/apache/ranger/rest/TestPublicAPIsv2.java | 45 +++++++++
.../org/apache/ranger/rest/TestServiceREST.java | 103 +++++++++++++++++++++
8 files changed, 261 insertions(+), 10 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 6b9604817..562467e80 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -2345,7 +2345,7 @@ public class ServiceDBStore extends AbstractServiceStore {
public RangerPolicy getPolicy(String guid, String serviceName, String
zoneName) throws Exception {
RangerPolicy ret = null;
- if (StringUtils.isNotBlank(guid) &&
StringUtils.isNotBlank(serviceName)) {
+ if (StringUtils.isNotBlank(guid)) {
XXPolicy xPolicy =
daoMgr.getXXPolicy().findPolicyByGUIDAndServiceNameAndZoneName(guid,
serviceName, zoneName);
if (xPolicy != null) {
ret =
policyService.getPopulatedViewObject(xPolicy);
diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
index 37d7561d4..f020acb21 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java
@@ -25,6 +25,7 @@ import java.util.Map;
import javax.persistence.NoResultException;
import org.apache.commons.collections.ListUtils;
+import org.apache.commons.lang.StringUtils;
import org.apache.ranger.common.db.BaseDao;
import org.apache.ranger.entity.XXPolicy;
import org.apache.ranger.plugin.model.RangerSecurityZone;
@@ -288,29 +289,44 @@ public class XXPolicyDao extends BaseDao<XXPolicy> {
}
public XXPolicy findPolicyByGUIDAndServiceNameAndZoneName(String guid,
String serviceName, String zoneName) {
- if (guid == null || serviceName == null) {
+ if (guid == null) {
return null;
}
try {
- if (zoneName == null || zoneName.trim().isEmpty()) {
- return
getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceName",
tClass)
+ if (StringUtils.isNotBlank(serviceName)) {
+ if (StringUtils.isNotBlank(zoneName)) {
+ return getEntityManager()
+
.createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceNameAndZoneName",
tClass)
+ .setParameter("guid", guid)
+ .setParameter("serviceName",
serviceName)
+ .setParameter("zoneName",
zoneName)
+ .getSingleResult();
+ } else {
+ return
getEntityManager().createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceName",
tClass)
.setParameter("guid", guid)
.setParameter("serviceName",
serviceName)
.setParameter("zoneId",
RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
.getSingleResult();
+ }
} else {
- return getEntityManager()
-
.createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndServiceNameAndZoneName",
tClass)
+ if (StringUtils.isNotBlank(zoneName)) {
+ return getEntityManager()
+
.createNamedQuery("XXPolicy.findPolicyByPolicyGUIDAndZoneName", tClass)
.setParameter("guid", guid)
- .setParameter("serviceName",
serviceName)
.setParameter("zoneName",
zoneName)
.getSingleResult();
+ } else {
+ return getEntityManager()
+
.createNamedQuery("XXPolicy.findPolicyByPolicyGUID", tClass)
+ .setParameter("guid", guid)
+ .setParameter("zoneId",
RangerSecurityZone.RANGER_UNZONED_SECURITY_ZONE_ID)
+ .getSingleResult();
+ }
}
} catch (NoResultException e) {
return null;
}
-
}
public List<XXPolicy> findByPolicyStatus(Boolean isPolicyEnabled) {
diff --git
a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
index c7a6ea0a6..d98910bee 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
@@ -507,7 +507,14 @@ public class PublicAPIsv2 {
public RangerPolicy
getPolicyByGUIDAndServiceNameAndZoneName(@PathParam("guid") String guid,
@DefaultValue("")
@QueryParam("serviceName") String serviceName,
@DefaultValue("")
@QueryParam("ZoneName") String zoneName) {
- return
serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(guid, serviceName,
zoneName);
+ if(logger.isDebugEnabled()) {
+ logger.debug("==>
PublicAPIsv2.getPolicyByGUIDAndServiceNameAndZoneName(" + guid + "," +
serviceName + "," + zoneName + ")");
+ }
+ RangerPolicy rangerPolicy =
serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(guid, serviceName,
zoneName);
+ if(logger.isDebugEnabled()) {
+ logger.debug("<==
PublicAPIsv2.getPolicyByGUIDAndServiceNameAndZoneName(" + guid + "," +
serviceName + "," + zoneName + ")");
+ }
+ return rangerPolicy;
}
@POST
@@ -615,7 +622,13 @@ public class PublicAPIsv2 {
public void
deletePolicyByGUIDAndServiceNameAndZoneName(@PathParam("guid") String guid,
@DefaultValue("") @QueryParam("serviceName") String
serviceName,
@DefaultValue("") @QueryParam("zoneName") String zoneName) {
+ if(logger.isDebugEnabled()) {
+ logger.debug("==>
PublicAPIsv2.deletePolicyByGUIDAndServiceNameAndZoneName(" + guid + "," +
serviceName + "," + zoneName + ")");
+ }
serviceREST.deletePolicyByGUIDAndServiceNameAndZoneName(guid,
serviceName, zoneName);
+ if(logger.isDebugEnabled()) {
+ logger.debug("<==
PublicAPIsv2.deletePolicyByGUIDAndServiceNameAndZoneName(" + guid + "," +
serviceName + "," + zoneName + ")");
+ }
}
@PUT
diff --git
a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
index e17494fa9..ec02f47f7 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
@@ -1846,7 +1846,7 @@ public class ServiceREST {
RangerPolicy policy = svcStore.getPolicy(id);
ensureAdminAccess(policy);
- bizUtil.blockAuditorRoleUser();
+ bizUtil.blockAuditorRoleUser();
svcStore.deletePolicy(policy);
} catch(WebApplicationException excp) {
throw excp;
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 85c8b6213..1762d60c6 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -417,6 +417,14 @@
<query>select obj from XXPolicy obj where obj.id in (select
item.policyId from XXPolicyItem item) </query>
</named-query>
+ <named-query name="XXPolicy.findPolicyByPolicyGUID">
+ <query>select obj from XXPolicy obj where obj.guid = :guid and
obj.zoneId = :zoneId</query>
+ </named-query>
+
+ <named-query name="XXPolicy.findPolicyByPolicyGUIDAndZoneName">
+ <query>select obj from XXPolicy obj, XXSecurityZone zone where
obj.guid = :guid and obj.zoneId = zone.id and zone.name = :zoneName</query>
+ </named-query>
+
<named-query name="XXPolicy.findPolicyByPolicyGUIDAndServiceName">
<query>select obj from XXPolicy obj, XXService svc where
obj.guid = :guid and obj.service = svc.id and svc.name = :serviceName and
obj.zoneId = :zoneId</query>
</named-query>
diff --git
a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
index 7f1ec6d3e..691ab52b3 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
@@ -2576,4 +2576,70 @@ public void test47getMetricByTypeDenyconditions() throws
Exception {
xConfMap = xConfMapList.remove(index - 1);
Assert.assertFalse(serviceDBStore.hasServiceConfigForPluginChanged(xConfMapList,
validConfig));
}
+
+ @Test
+ public void test51GetPolicyByGUID() throws Exception {
+ XXPolicyDao xPolicyDao = Mockito.mock(XXPolicyDao.class);
+ XXPolicy xPolicy = Mockito.mock(XXPolicy.class);
+ RangerPolicy rangerPolicy = rangerPolicy();
+ Mockito.when(daoManager.getXXPolicy()).thenReturn(xPolicyDao);
+
Mockito.when(xPolicyDao.findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null)).thenReturn(xPolicy);
+
Mockito.when(policyService.getPopulatedViewObject(xPolicy)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceDBStore.getPolicy(rangerPolicy.getGuid(), null, null);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(Id, dbRangerPolicy.getId());
+
Mockito.verify(xPolicyDao).findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ Mockito.verify(policyService).getPopulatedViewObject(xPolicy);
+ }
+
+ @Test
+ public void test52GetPolicyByGUIDAndServiceName() throws Exception {
+ XXPolicyDao xPolicyDao = Mockito.mock(XXPolicyDao.class);
+ XXPolicy xPolicy = Mockito.mock(XXPolicy.class);
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+ Mockito.when(daoManager.getXXPolicy()).thenReturn(xPolicyDao);
+
Mockito.when(xPolicyDao.findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, null)).thenReturn(xPolicy);
+
Mockito.when(policyService.getPopulatedViewObject(xPolicy)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceDBStore.getPolicy(rangerPolicy.getGuid(), serviceName, null);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(Id, dbRangerPolicy.getId());
+
Mockito.verify(xPolicyDao).findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, null);
+ Mockito.verify(policyService).getPopulatedViewObject(xPolicy);
+ }
+
+ @Test
+ public void test53GetPolicyByGUIDAndServiceNameAndZoneName() throws
Exception {
+ XXPolicyDao xPolicyDao = Mockito.mock(XXPolicyDao.class);
+ XXPolicy xPolicy = Mockito.mock(XXPolicy.class);
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+ String zoneName = "zone-1";
+ Mockito.when(daoManager.getXXPolicy()).thenReturn(xPolicyDao);
+
Mockito.when(xPolicyDao.findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName)).thenReturn(xPolicy);
+
Mockito.when(policyService.getPopulatedViewObject(xPolicy)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceDBStore.getPolicy(rangerPolicy.getGuid(), serviceName, zoneName);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(Id, dbRangerPolicy.getId());
+
Mockito.verify(xPolicyDao).findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+ Mockito.verify(policyService).getPopulatedViewObject(xPolicy);
+ }
+
+ @Test
+ public void test53GetPolicyByGUIDAndZoneName() throws Exception {
+ XXPolicyDao xPolicyDao = Mockito.mock(XXPolicyDao.class);
+ XXPolicy xPolicy = Mockito.mock(XXPolicy.class);
+ RangerPolicy rangerPolicy = rangerPolicy();
+ String zoneName = "zone-1";
+ Mockito.when(daoManager.getXXPolicy()).thenReturn(xPolicyDao);
+
Mockito.when(xPolicyDao.findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, zoneName)).thenReturn(xPolicy);
+
Mockito.when(policyService.getPopulatedViewObject(xPolicy)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceDBStore.getPolicy(rangerPolicy.getGuid(), null, zoneName);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(Id, dbRangerPolicy.getId());
+
Mockito.verify(xPolicyDao).findPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, zoneName);
+ Mockito.verify(policyService).getPopulatedViewObject(xPolicy);
+ }
}
diff --git
a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java
b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java
index 2a123de93..7409883ab 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java
@@ -672,4 +672,49 @@ public class TestPublicAPIsv2 {
Mockito.verify(securityZoneStore,
Mockito.times(1)).getServiceHeaderInfoListByZoneId(zoneId2);
Assert.assertEquals(returnedServicesZone2.size(),
rangerServiceList2.size());
}
+
+ @Test
+ public void testGetPolicyByGUIDAndServiceNameAndZoneName() throws
Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+
Mockito.when(serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, "zone-1")).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
publicAPIsv2.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, "zone-1");
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(dbRangerPolicy, rangerPolicy);
+ Assert.assertEquals(dbRangerPolicy.getId(),
rangerPolicy.getId());
+ Assert.assertEquals(dbRangerPolicy.getName(),
rangerPolicy.getName());
+
Mockito.verify(serviceREST).getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, "zone-1");
+ }
+
+ @Test
+ public void testGetPolicyByGUID() throws Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+
Mockito.when(serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
publicAPIsv2.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(dbRangerPolicy, rangerPolicy);
+ Assert.assertEquals(dbRangerPolicy.getId(),
rangerPolicy.getId());
+ Assert.assertEquals(dbRangerPolicy.getName(),
rangerPolicy.getName());
+
Mockito.verify(serviceREST).getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ }
+
+ @Test
+ public void testDeletePolicyByGUIDAndServiceNameAndZoneName() throws
Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+ String zoneName = "zone-1";
+
Mockito.doNothing().when(serviceREST).deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+
publicAPIsv2.deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+
Mockito.verify(serviceREST).deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+ }
+
+ @Test
+ public void testDeletePolicyByGUID() throws Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+
Mockito.doNothing().when(serviceREST).deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+
publicAPIsv2.deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+
Mockito.verify(serviceREST).deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ }
}
diff --git
a/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
b/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
index 7b15810e0..8fdcc43c8 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
@@ -2517,4 +2517,107 @@ public class TestServiceREST {
Mockito.verify(validatorFactory).getServiceDefValidator(svcStore);
Mockito.verify(svcStore).updateServiceDef(rangerServiceDef);
}
+
+ @Test
+ public void test75GetPolicyByGUIDAndServiceNameAndZoneName() throws
Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+ String zoneName = "zone-1";
+ String userName = "admin";
+ XXServiceDef xServiceDef = serviceDef();
+ XXService xService = xService();
+ XXServiceDefDao xServiceDefDao =
Mockito.mock(XXServiceDefDao.class);
+ XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+ Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn(userName);
+ Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+
Mockito.when(xServiceDao.findByName(Mockito.anyString())).thenReturn(xService);
+
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+ Mockito.when(svcStore.getPolicy(rangerPolicy.getGuid(),
serviceName, zoneName)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(dbRangerPolicy.getId(),
rangerPolicy.getId());
+ Mockito.verify(svcStore).getPolicy(rangerPolicy.getGuid(),
serviceName, zoneName);
+ }
+
+ @Test
+ public void test76GetPolicyByGUID() throws Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+ String userName = "admin";
+
+ Set<String> userGroupsList = new HashSet<String>();
+ userGroupsList.add("group1");
+ userGroupsList.add("group2");
+
+ List<RangerAccessTypeDef> rangerAccessTypeDefList = new
ArrayList<RangerAccessTypeDef>();
+ RangerAccessTypeDef rangerAccessTypeDefObj = new
RangerAccessTypeDef();
+ rangerAccessTypeDefObj.setLabel("Read");
+ rangerAccessTypeDefObj.setName("read");
+ rangerAccessTypeDefObj.setRbKeyLabel(null);
+ rangerAccessTypeDefList.add(rangerAccessTypeDefObj);
+ XXServiceDef xServiceDef = serviceDef();
+ XXService xService = xService();
+ XXServiceDefDao xServiceDefDao =
Mockito.mock(XXServiceDefDao.class);
+ XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+ Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn(userName);
+ Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+
Mockito.when(xServiceDao.findByName(Mockito.anyString())).thenReturn(xService);
+
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+ Mockito.when(svcStore.getPolicy(rangerPolicy.getGuid(), null,
null)).thenReturn(rangerPolicy);
+ RangerPolicy dbRangerPolicy =
serviceREST.getPolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ Assert.assertNotNull(dbRangerPolicy);
+ Assert.assertEquals(dbRangerPolicy.getId(),
rangerPolicy.getId());
+ Mockito.verify(svcStore).getPolicy(rangerPolicy.getGuid(),
null, null);
+ }
+
+ @Test
+ public void test76DeletePolicyByGUIDAndServiceNameAndZoneName() throws
Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+ RangerService rangerService = rangerService();
+ String serviceName = rangerService.getName();
+
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
+ String zoneName = "zone-1";
+ String userName = "admin";
+ XXServiceDef xServiceDef = serviceDef();
+ XXService xService = xService();
+ XXServiceDefDao xServiceDefDao =
Mockito.mock(XXServiceDefDao.class);
+ XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+ Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn(userName);
+ Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+
Mockito.when(xServiceDao.findByName(Mockito.anyString())).thenReturn(xService);
+
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+ Mockito.when(svcStore.getPolicy(Id)).thenReturn(rangerPolicy);
+ Mockito.when(svcStore.getPolicy(rangerPolicy.getGuid(),
serviceName, zoneName)).thenReturn(rangerPolicy);
+
serviceREST.deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
serviceName, zoneName);
+ Mockito.verify(validatorFactory).getPolicyValidator(svcStore);
+ Mockito.verify(svcStore).getPolicy(rangerPolicy.getGuid(),
serviceName, zoneName);
+ }
+
+ @Test
+ public void test77DeletePolicyByGUID() throws Exception {
+ RangerPolicy rangerPolicy = rangerPolicy();
+
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
+ String userName = "admin";
+ XXServiceDef xServiceDef = serviceDef();
+ XXService xService = xService();
+ XXServiceDefDao xServiceDefDao =
Mockito.mock(XXServiceDefDao.class);
+ XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+ Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn(userName);
+ Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+
Mockito.when(xServiceDao.findByName(Mockito.anyString())).thenReturn(xService);
+
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+ Mockito.when(svcStore.getPolicy(Id)).thenReturn(rangerPolicy);
+ Mockito.when(svcStore.getPolicy(rangerPolicy.getGuid(), null,
null)).thenReturn(rangerPolicy);
+
serviceREST.deletePolicyByGUIDAndServiceNameAndZoneName(rangerPolicy.getGuid(),
null, null);
+ Mockito.verify(validatorFactory).getPolicyValidator(svcStore);
+ Mockito.verify(svcStore).getPolicy(rangerPolicy.getGuid(),
null, null);
+ }
}