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);
+       }
 }

Reply via email to