Repository: ranger
Updated Branches:
  refs/heads/master 06d081356 -> f54723676


RANGER-2126 : Improve ranger coverage of unit tests for REST layer

Signed-off-by: Mehul Parikh <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/f5472367
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/f5472367
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/f5472367

Branch: refs/heads/master
Commit: f54723676d416001b6fb26f5ea281de0b392ec06
Parents: 06d0813
Author: Nikhil P <[email protected]>
Authored: Mon Jun 11 14:42:21 2018 +0530
Committer: Mehul Parikh <[email protected]>
Committed: Tue Jun 12 10:13:13 2018 +0530

----------------------------------------------------------------------
 .../org/apache/ranger/rest/TestServiceREST.java | 582 ++++++++++++-------
 1 file changed, 386 insertions(+), 196 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/f5472367/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
----------------------------------------------------------------------
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 df0a927..15ed862 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
@@ -33,10 +33,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.WebApplicationException;
 
-
-
-
-
 import org.apache.commons.lang.StringUtils;
 import org.apache.ranger.admin.client.datatype.RESTResponse;
 import org.apache.ranger.biz.AssetMgr;
@@ -46,6 +42,7 @@ import org.apache.ranger.biz.ServiceMgr;
 import org.apache.ranger.biz.TagDBStore;
 import org.apache.ranger.biz.XUserMgr;
 import org.apache.ranger.common.ContextUtil;
+import org.apache.ranger.common.MessageEnums;
 import org.apache.ranger.common.RESTErrorUtil;
 import org.apache.ranger.common.RangerSearchUtil;
 import org.apache.ranger.common.RangerValidatorFactory;
@@ -57,13 +54,14 @@ import org.apache.ranger.db.XXServiceDao;
 import org.apache.ranger.db.XXServiceDefDao;
 import org.apache.ranger.entity.XXService;
 import org.apache.ranger.entity.XXServiceDef;
+import org.apache.ranger.plugin.model.RangerPluginInfo;
 import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerService;
-import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
 import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
+import org.apache.ranger.plugin.model.RangerService;
+import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef;
 import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef;
 import org.apache.ranger.plugin.model.RangerServiceDef.RangerEnumDef;
@@ -73,7 +71,9 @@ import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef;
 import org.apache.ranger.plugin.model.validation.RangerPolicyValidator;
 import org.apache.ranger.plugin.model.validation.RangerServiceDefValidator;
 import org.apache.ranger.plugin.model.validation.RangerServiceValidator;
+import org.apache.ranger.plugin.policyengine.RangerPolicyEngineImpl;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
+import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
 import org.apache.ranger.plugin.store.PList;
 import org.apache.ranger.plugin.util.GrantRevokeRequest;
 import org.apache.ranger.plugin.util.SearchFilter;
@@ -82,12 +82,14 @@ import 
org.apache.ranger.security.context.RangerContextHolder;
 import org.apache.ranger.security.context.RangerSecurityContext;
 import org.apache.ranger.service.RangerAuditFields;
 import org.apache.ranger.service.RangerDataHistService;
+import org.apache.ranger.service.RangerPluginInfoService;
 import org.apache.ranger.service.RangerPolicyLabelsService;
 import org.apache.ranger.service.RangerPolicyService;
 import org.apache.ranger.service.RangerServiceDefService;
 import org.apache.ranger.service.RangerServiceService;
 import org.apache.ranger.service.XUserService;
 import org.apache.ranger.view.RangerExportPolicyList;
+import org.apache.ranger.view.RangerPluginInfoList;
 import org.apache.ranger.view.RangerPolicyList;
 import org.apache.ranger.view.RangerServiceDefList;
 import org.apache.ranger.view.RangerServiceList;
@@ -101,7 +103,6 @@ import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.junit.runners.MethodSorters;
 import org.mockito.InjectMocks;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
@@ -200,6 +201,15 @@ public class TestServiceREST {
        @Mock
     RangerPolicyLabelsService policyLabelsService;
 
+       @Mock
+    RangerPluginInfoService pluginInfoService;
+
+       @Mock
+       XXServiceDao xServiceDao;
+
+       @Mock
+       RangerPolicyEngineImpl rpImpl;
+
        @Rule
        public ExpectedException thrown = ExpectedException.none();
 
@@ -212,7 +222,7 @@ public class TestServiceREST {
                currentUserSession.setUserAdmin(true);
        }
 
-       private RangerServiceDef rangerServiceDef() {
+       public RangerServiceDef rangerServiceDef() {
                List<RangerServiceConfigDef> configs = new 
ArrayList<RangerServiceConfigDef>();
                List<RangerResourceDef> resources = new 
ArrayList<RangerResourceDef>();
                List<RangerAccessTypeDef> accessTypes = new 
ArrayList<RangerAccessTypeDef>();
@@ -238,7 +248,7 @@ public class TestServiceREST {
                return rangerServiceDef;
        }
 
-       private RangerService rangerService() {
+       public RangerService rangerService() {
                Map<String, String> configs = new HashMap<String, String>();
                configs.put("username", "servicemgr");
                configs.put("password", "servicemgr");
@@ -268,7 +278,7 @@ public class TestServiceREST {
                return rangerService;
        }
 
-       private RangerPolicy rangerPolicy() {
+       public RangerPolicy rangerPolicy() {
                List<RangerPolicyItemAccess> accesses = new 
ArrayList<RangerPolicyItemAccess>();
                List<String> users = new ArrayList<String>();
                List<String> groups = new ArrayList<String>();
@@ -307,7 +317,7 @@ public class TestServiceREST {
                return policy;
        }
 
-       private XXServiceDef serviceDef() {
+       public XXServiceDef serviceDef() {
                XXServiceDef xServiceDef = new XXServiceDef();
                xServiceDef.setAddedByUserId(Id);
                xServiceDef.setCreateTime(new Date());
@@ -325,7 +335,7 @@ public class TestServiceREST {
                return xServiceDef;
        }
 
-       private XXService xService() {
+       public XXService xService() {
                XXService xService = new XXService();
                xService.setAddedByUserId(Id);
                xService.setCreateTime(new Date());
@@ -343,6 +353,19 @@ public class TestServiceREST {
                return xService;
        }
 
+       public ServicePolicies servicePolicies() {
+               ServicePolicies sp = new ServicePolicies();
+               sp.setAuditMode("auditMode");
+               RangerPolicy rangerPolicy = rangerPolicy();
+               List<RangerPolicy> rpolList = new ArrayList<RangerPolicy>();
+               rpolList.add(rangerPolicy);
+               sp.setPolicies(rpolList);
+               sp.setPolicyVersion(1l);
+               sp.setServiceName("serviceName");
+               sp.setServiceId(1l);
+               return sp;
+       }
+
        @Test
        public void test1createServiceDef() throws Exception {
                RangerServiceDef rangerServiceDef = rangerServiceDef();
@@ -970,6 +993,7 @@ public class TestServiceREST {
                Assert.assertNull(dbServicePolicies);
        }
 
+
        @Test
        public void test25getPolicies() throws Exception {
                List<RangerPolicy> ret = new ArrayList<RangerPolicy>();
@@ -1016,7 +1040,7 @@ public class TestServiceREST {
                Mockito.when(bizUtil.isAdmin()).thenReturn(false);
                
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn(userName);
 
-               
Mockito.when(restErrorUtil.createRESTException(Matchers.anyInt(), 
Matchers.anyString(), Matchers.anyBoolean()))
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyInt(), 
Mockito.anyString(), Mockito.anyBoolean()))
                                .thenThrow(new WebApplicationException());
                thrown.expect(WebApplicationException.class);
        
@@ -1428,92 +1452,85 @@ public class TestServiceREST {
        public void test44getPolicyLabels() throws Exception {
                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
                SearchFilter filter = new SearchFilter();
-               Mockito.when(
-                               searchUtil.getSearchFilter(request, 
policyLabelsService.sortFields))
-                               .thenReturn(filter);
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyLabelsService.sortFields)).thenReturn(filter);
                List<String> ret = new ArrayList<String>();
-               Mockito.when(
-                               svcStore.getPolicyLabels(filter))
-                               .thenReturn(ret);
+               Mockito.when(svcStore.getPolicyLabels(filter)).thenReturn(ret);
                ret = serviceREST.getPolicyLabels(request);
                Assert.assertNotNull(ret);
-               Mockito.verify(searchUtil).getSearchFilter(request,
-                               policyLabelsService.sortFields);
+               Mockito.verify(searchUtil).getSearchFilter(request, 
policyLabelsService.sortFields);
        }
 
-        @Test
-        public void test45exportPoliciesInJSON() throws Exception {
-                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
-
-                List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
-
-                RangerPolicy rangerPolicy = rangerPolicy();
-                rangerPolicyList.add(rangerPolicy);
-                XXService xService = xService();
+       @Test
+       public void test45exportPoliciesInJSON() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
 
-                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
-                XXServiceDef xServiceDef = serviceDef();
-                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
 
-                request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
-                HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
-                SearchFilter filter = new SearchFilter();
+               RangerPolicy rangerPolicy = rangerPolicy();
+               rangerPolicyList.add(rangerPolicy);
+               XXService xService = xService();
 
-                Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
-                
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
-                Mockito.when(bizUtil.isAdmin()).thenReturn(true);
-                Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
-                
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
-                Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
-                Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
-                
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+               XXServiceDef xServiceDef = serviceDef();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
 
-                
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
+               HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
+               SearchFilter filter = new SearchFilter();
 
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
+               
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
+               Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+               Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
+               
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
+               Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
+               Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
 
-                
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
-                
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
-                serviceREST.getPoliciesInJson(request, response, false);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
 
-                Mockito.verify(svcStore).getPoliciesInJson(rangerPolicyList, 
response);
-        }
+               
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
+               serviceREST.getPoliciesInJson(request, response, false);
 
-        @Test
-        public void test46exportPoliciesInCSV() throws Exception {
-                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               Mockito.verify(svcStore).getPoliciesInJson(rangerPolicyList, 
response);
+       }
 
-                List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
+       @Test
+       public void test46exportPoliciesInCSV() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
 
-                RangerPolicy rangerPolicy = rangerPolicy();
-                rangerPolicyList.add(rangerPolicy);
-                XXService xService = xService();
+               List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
 
-                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
-                XXServiceDef xServiceDef = serviceDef();
-                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               RangerPolicy rangerPolicy = rangerPolicy();
+               rangerPolicyList.add(rangerPolicy);
+               XXService xService = xService();
 
-                request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
-                HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
-                SearchFilter filter = new SearchFilter();
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+               XXServiceDef xServiceDef = serviceDef();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
 
-                Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
-                
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
-                Mockito.when(bizUtil.isAdmin()).thenReturn(true);
-                Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
-                
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
-                Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
-                Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
-                
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
+               HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
+               SearchFilter filter = new SearchFilter();
 
-                
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
+               
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
+               Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+               Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
+               
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
+               Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
+               Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
 
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
 
-                
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
-                
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
-                serviceREST.getPoliciesInCsv(request, response);
+               
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
+               serviceREST.getPoliciesInCsv(request, response);
 
-                Mockito.verify(svcStore).getPoliciesInCSV(rangerPolicyList, 
response);
-        }
+               Mockito.verify(svcStore).getPoliciesInCSV(rangerPolicyList, 
response);
+       }
 
       /*  @Test
         public void test47WhenPolicyListIsEmpty() throws Exception {
@@ -1533,149 +1550,322 @@ public class TestServiceREST {
                 Assert.assertEquals(HttpServletResponse.SC_NO_CONTENT, 
response.getStatus());
                 }
 */
-        @Test
-        public void test48exportPoliciesInExcel() throws Exception {
-                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+       @Test
+       public void test48exportPoliciesInExcel() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
 
-                List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
+               List<RangerPolicy> rangerPolicyList = new 
ArrayList<RangerPolicy>();
 
-                RangerPolicy rangerPolicy = rangerPolicy();
-                rangerPolicyList.add(rangerPolicy);
-                XXService xService = xService();
+               RangerPolicy rangerPolicy = rangerPolicy();
+               rangerPolicyList.add(rangerPolicy);
+               XXService xService = xService();
 
-                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
-                XXServiceDef xServiceDef = serviceDef();
-                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+               XXServiceDef xServiceDef = serviceDef();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
 
-                request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
-                HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
-                SearchFilter filter = new SearchFilter();
+               request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
+               HttpServletResponse response = 
Mockito.mock(HttpServletResponse.class);
+               SearchFilter filter = new SearchFilter();
 
-                Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
-                
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
-                Mockito.when(bizUtil.isAdmin()).thenReturn(true);
-                Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
-                
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
-                Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
-                Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
-                
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
+               
Mockito.when(svcStore.getPolicies(filter)).thenReturn(rangerPolicyList);
+               Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+               Mockito.when(bizUtil.isKeyAdmin()).thenReturn(false);
+               
Mockito.when(bizUtil.getCurrentUserLoginId()).thenReturn("admin");
+               Mockito.when(bizUtil.isAuditAdmin()).thenReturn(false);
+               Mockito.when(bizUtil.isAuditKeyAdmin()).thenReturn(false);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
 
-                
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
 
+               
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
+               serviceREST.getPoliciesInExcel(request, response);
+               Mockito.verify(svcStore).getPoliciesInExcel(rangerPolicyList, 
response);
+       }
 
-                
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
-                
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
-                serviceREST.getPoliciesInExcel(request, response);
-                Mockito.verify(svcStore).getPoliciesInExcel(rangerPolicyList, 
response);
-        }
+       @SuppressWarnings("unchecked")
+       @Test
+       public void test49importPoliciesFromFileAllowingOverride() throws 
Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
 
-        @SuppressWarnings("unchecked")
-        @Test
-        public void test49importPoliciesFromFileAllowingOverride() throws 
Exception{
-                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               Map<String, RangerPolicy> policiesMap = new 
LinkedHashMap<String, RangerPolicy>();
 
-                Map<String, RangerPolicy> policiesMap = new 
LinkedHashMap<String, RangerPolicy>();
+               RangerPolicy rangerPolicy = rangerPolicy();
 
-                RangerPolicy rangerPolicy = rangerPolicy();
+               XXService xService = xService();
+               policiesMap.put("Name", rangerPolicy);
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+               XXServiceDef xServiceDef = serviceDef();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
 
-                XXService xService = xService();
-                policiesMap.put("Name", rangerPolicy);
-                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
-                XXServiceDef xServiceDef = serviceDef();
-                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               String PARAM_SERVICE_TYPE = "serviceType";
+               String serviceTypeList = 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop";
+               request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
+               SearchFilter filter = new SearchFilter();
+               filter.setParam("serviceType", "value");
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
+
+               
Mockito.when(request.getParameter(PARAM_SERVICE_TYPE)).thenReturn(serviceTypeList);
+               File jsonPolicyFile = new File(importPoliceTestFilePath);
+               InputStream uploadedInputStream = new 
FileInputStream(jsonPolicyFile);
+               FormDataContentDisposition fileDetail = 
FormDataContentDisposition.name("file")
+                               
.fileName(jsonPolicyFile.getName()).size(uploadedInputStream.toString().length()).build();
+               boolean isOverride = true;
+
+               Mockito.when(svcStore.createPolicyMap(Mockito.any(Map.class), 
Mockito.any(List.class), Mockito.any(List.class),
+                               Mockito.any(RangerPolicy.class), 
Mockito.any(Map.class))).thenReturn(policiesMap);
+               
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
+               Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
 
-                String PARAM_SERVICE_TYPE = "serviceType";
-                String serviceTypeList = 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop";
-                request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
-                SearchFilter filter = new SearchFilter();
-                filter.setParam("serviceType", "value");
-                Mockito.when(
-                                searchUtil.getSearchFilter(request, 
policyService.sortFields))
-                                .thenReturn(filter);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
 
-                
Mockito.when(request.getParameter(PARAM_SERVICE_TYPE)).thenReturn(serviceTypeList);
-                File jsonPolicyFile = new File(importPoliceTestFilePath);
-                InputStream uploadedInputStream = new 
FileInputStream(jsonPolicyFile);
-                FormDataContentDisposition fileDetail = 
FormDataContentDisposition
-                                                                               
                 .name("file")
-                                                                               
                 .fileName(jsonPolicyFile.getName())
-                                                                               
                 .size(uploadedInputStream.toString().length())
-                                                                               
                 .build();
-                boolean isOverride = true;
+               
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
 
-                Mockito.when(svcStore.createPolicyMap(Mockito.any(Map.class), 
Mockito.any(List.class), Mockito.any(List.class), 
Mockito.any(RangerPolicy.class), 
Mockito.any(Map.class))).thenReturn(policiesMap);
-                
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
-                Mockito.when(bizUtil.isAdmin()).thenReturn(true);
-                
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               serviceREST.importPoliciesFromFile(request, null, 
uploadedInputStream, fileDetail, isOverride);
+               Mockito.verify(svcStore).createPolicy(rangerPolicy);
 
-                
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+       }
 
-                
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
-                
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
+       @SuppressWarnings("unchecked")
+       @Test
+       public void test50importPoliciesFromFileNotAllowingOverride() throws 
Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
 
-                serviceREST.importPoliciesFromFile(request, null, 
uploadedInputStream, fileDetail, isOverride);
-                Mockito.verify(svcStore).createPolicy(rangerPolicy);
+               Map<String, RangerPolicy> policiesMap = new 
LinkedHashMap<String, RangerPolicy>();
 
+               RangerPolicy rangerPolicy = rangerPolicy();
 
-        }
+               XXService xService = xService();
+               policiesMap.put("Name", rangerPolicy);
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+               XXServiceDef xServiceDef = serviceDef();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
 
+               String PARAM_SERVICE_TYPE = "serviceType";
+               String serviceTypeList = 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop";
+               request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
+               SearchFilter filter = new SearchFilter();
+               filter.setParam("serviceType", "value");
+               Mockito.when(searchUtil.getSearchFilter(request, 
policyService.sortFields)).thenReturn(filter);
+
+               
Mockito.when(request.getParameter(PARAM_SERVICE_TYPE)).thenReturn(serviceTypeList);
+               File jsonPolicyFile = new File(importPoliceTestFilePath);
+               InputStream uploadedInputStream = new 
FileInputStream(jsonPolicyFile);
+               FormDataContentDisposition fileDetail = 
FormDataContentDisposition.name("file")
+                               
.fileName(jsonPolicyFile.getName()).size(uploadedInputStream.toString().length()).build();
+               boolean isOverride = false;
+
+               Mockito.when(svcStore.createPolicyMap(Mockito.any(Map.class), 
Mockito.any(List.class), Mockito.any(List.class),
+                               Mockito.any(RangerPolicy.class), 
Mockito.any(Map.class))).thenReturn(policiesMap);
+               
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
+               Mockito.when(bizUtil.isAdmin()).thenReturn(true);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
 
-        @SuppressWarnings("unchecked")
-        @Test
-        public void test50importPoliciesFromFileNotAllowingOverride() throws 
Exception{
-                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
 
-                Map<String, RangerPolicy> policiesMap = new 
LinkedHashMap<String, RangerPolicy>();
+               
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
 
-                RangerPolicy rangerPolicy = rangerPolicy();
+               serviceREST.importPoliciesFromFile(request, null, 
uploadedInputStream, fileDetail, isOverride);
+               Mockito.verify(svcStore).createPolicy(rangerPolicy);
 
-                XXService xService = xService();
-                policiesMap.put("Name", rangerPolicy);
-                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
-                XXServiceDef xServiceDef = serviceDef();
-                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+       }
+
+       @Test
+       public void test51getMetricByType() throws Exception {
+               String type = "usergroup";
+               String ret = 
"{\"groupCount\":1,\"userCountOfUserRole\":0,\"userCountOfKeyAdminRole\":1,"
+                               + 
"\"userCountOfSysAdminRole\":3,\"userCountOfKeyadminAuditorRole\":0,\"userCountOfSysAdminAuditorRole\":0,\"userTotalCount\":4}";
+               Mockito.when(svcStore.getMetricByType(type)).thenReturn(ret);
+               serviceREST.getMetricByType(type);
+               Mockito.verify(svcStore).getMetricByType(type);
+       }
+
+       @Test
+       public void test52deleteService() throws Exception {
+
+               RangerService rangerService = rangerService();
+               XXService xService = xService();
+               List<XXService> referringServices = new ArrayList<XXService>();
+               referringServices.add(xService);
+               EmbeddedServiceDefsUtil embeddedServiceDefsUtil = 
EmbeddedServiceDefsUtil.instance();
+               xService.setType(embeddedServiceDefsUtil.getTagServiceDefId());
+               XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+
+               
Mockito.when(validatorFactory.getServiceValidator(svcStore)).thenReturn(serviceValidator);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               
Mockito.when(xServiceDao.findByTagServiceId(Mockito.anyLong())).thenReturn(referringServices);
+               Mockito.when(xServiceDao.getById(Id)).thenReturn(xService);
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyString(), 
(MessageEnums) Mockito.any()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+               serviceREST.deleteService(rangerService.getId());
+       }
+
+       @Test
+       public void test53getPoliciesForResource() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               List<RangerService> rsList = new ArrayList<RangerService>();
+               RangerService rs = rangerService();
+               rsList.add(rs);
+
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyString(), 
(MessageEnums) Mockito.any()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+
+               serviceREST.getPoliciesForResource("servicedefname", 
"servicename", request);
+       }
+
+       @Test
+       public void test54getPluginsInfo() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               SearchFilter filter = new SearchFilter();
+               filter.setParam(SearchFilter.POLICY_NAME, "policyName");
+               filter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
+               PList<RangerPluginInfo> paginatedPluginsInfo = new 
PList<RangerPluginInfo>();
+               Mockito.when(searchUtil.getSearchFilter(request, 
pluginInfoService.getSortFields())).thenReturn(filter);
+               
Mockito.when(pluginInfoService.searchRangerPluginInfo(filter)).thenReturn(paginatedPluginsInfo);
+               RangerPluginInfoList rPluginInfoList = 
serviceREST.getPluginsInfo(request);
+               Assert.assertNotNull(rPluginInfoList);
+               Mockito.verify(searchUtil).getSearchFilter(request, 
pluginInfoService.getSortFields());
+               
Mockito.verify(pluginInfoService).searchRangerPluginInfo(filter);
+       }
+
+       @Test
+       public void test55getServicePoliciesIfUpdatedCatch() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               String serviceName = "HDFS_1";
+               Long lastKnownVersion = 1L;
+               String pluginId = "1";
+               
Mockito.when(serviceUtil.isValidateHttpsAuthentication(serviceName, 
request)).thenReturn(true);
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyInt(), 
Mockito.anyString(), Mockito.anyBoolean()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+               serviceREST.getServicePoliciesIfUpdated(serviceName, 
lastKnownVersion, 0L, pluginId, "", request);
+       }
+
+       @Test
+       public void test56getServicePoliciesIfUpdated() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               ServicePolicies servicePolicies = servicePolicies();
+               String serviceName = "HDFS_1";
+               Long lastKnownVersion = 1L;
+               String pluginId = "1";
+               
Mockito.when(serviceUtil.isValidateHttpsAuthentication(serviceName, 
request)).thenReturn(true);
+               Mockito.when(svcStore.getServicePoliciesIfUpdated(serviceName, 
lastKnownVersion)).thenReturn(servicePolicies);
+               ServicePolicies dbServicePolicies = 
serviceREST.getServicePoliciesIfUpdated(serviceName, lastKnownVersion, 0L,
+                               pluginId, "", request);
+               Assert.assertNotNull(dbServicePolicies);
+       }
+
+       @Test
+       public void test57getSecureServicePoliciesIfUpdatedFail() throws 
Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+               Long lastKnownVersion = 1L;
+               String pluginId = "1";
+               XXService xService = xService();
+               XXServiceDef xServiceDef = serviceDef();
+               String serviceName = xService.getName();
+               RangerService rs = rangerService();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               Mockito.when(serviceUtil.isValidService(serviceName, 
request)).thenReturn(true);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               
Mockito.when(xServiceDao.findByName(serviceName)).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+               
Mockito.when(svcStore.getServiceByName(serviceName)).thenReturn(rs);
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyInt(), 
Mockito.anyString(), Mockito.anyBoolean()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+
+               serviceREST.getSecureServicePoliciesIfUpdated(serviceName, 
lastKnownVersion, 0L, pluginId, "", request);
+       }
+
+       @Test
+       public void test58getSecureServicePoliciesIfUpdatedAllowedFail() throws 
Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+
+               Long lastKnownVersion = 1L;
+               String pluginId = "1";
+               XXService xService = xService();
+               XXServiceDef xServiceDef = serviceDef();
+               
xServiceDef.setImplclassname("org.apache.ranger.services.kms.RangerServiceKMS");
+               String serviceName = xService.getName();
+               RangerService rs = rangerService();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               Mockito.when(serviceUtil.isValidService(serviceName, 
request)).thenReturn(true);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               
Mockito.when(xServiceDao.findByName(serviceName)).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+               
Mockito.when(svcStore.getServiceByNameForDP(serviceName)).thenReturn(rs);
+               Mockito.when(bizUtil.isUserAllowed(rs, 
ServiceREST.Allowed_User_List_For_Grant_Revoke)).thenReturn(true);
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyInt(), 
Mockito.anyString(), Mockito.anyBoolean()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+
+               serviceREST.getSecureServicePoliciesIfUpdated(serviceName, 
lastKnownVersion, 0L, pluginId, "", request);
+       }
+
+       @Test
+       public void test59getSecureServicePoliciesIfUpdatedSuccess() throws 
Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+
+               Long lastKnownVersion = 1L;
+               String pluginId = "1";
+               XXService xService = xService();
+               XXServiceDef xServiceDef = serviceDef();
+               
xServiceDef.setImplclassname("org.apache.ranger.services.kms.RangerServiceKMS");
+               String serviceName = xService.getName();
+               RangerService rs = rangerService();
+               ServicePolicies sp = servicePolicies();
+               XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
+               Mockito.when(serviceUtil.isValidService(serviceName, 
request)).thenReturn(true);
+               Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+               
Mockito.when(xServiceDao.findByName(serviceName)).thenReturn(xService);
+               
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+               
Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(xServiceDef);
+               
Mockito.when(svcStore.getServiceByNameForDP(serviceName)).thenReturn(rs);
+               Mockito.when(bizUtil.isUserAllowed(rs, 
ServiceREST.Allowed_User_List_For_Grant_Revoke)).thenReturn(true);
+               Mockito.when(svcStore.getServicePoliciesIfUpdated(serviceName, 
lastKnownVersion)).thenReturn(sp);
+               ServicePolicies dbServiceSecurePolicies = 
serviceREST.getSecureServicePoliciesIfUpdated(serviceName,
+                               lastKnownVersion, 0L, pluginId, "", request);
+               Assert.assertNotNull(dbServiceSecurePolicies);
+               Mockito.verify(serviceUtil).isValidService(serviceName, 
request);
+               Mockito.verify(daoManager).getXXService();
+               Mockito.verify(xServiceDao).findByName(serviceName);
+               Mockito.verify(daoManager).getXXServiceDef();
+               Mockito.verify(xServiceDefDao).getById(xService.getType());
+               Mockito.verify(svcStore).getServiceByNameForDP(serviceName);
+               Mockito.verify(bizUtil).isUserAllowed(rs, 
ServiceREST.Allowed_User_List_For_Grant_Revoke);
+               
Mockito.verify(svcStore).getServicePoliciesIfUpdated(serviceName, 
lastKnownVersion);
+       }
+
+       @Test
+       public void test60getPolicyFromEventTime() throws Exception {
+               HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
+
+               String strdt = new Date().toString();
+               Set<String> userGroupsList = new HashSet<String>();
+               userGroupsList.add("group1");
+               userGroupsList.add("group2");
+               
Mockito.when(request.getParameter("eventTime")).thenReturn(strdt);
+               Mockito.when(request.getParameter("policyId")).thenReturn("1");
+               RangerPolicy policy = new RangerPolicy();
+               Map<String, RangerPolicyResource> resources = new 
HashMap<String, RangerPolicy.RangerPolicyResource>();
+               policy.setService("services");
+               policy.setResources(resources);
+               Mockito.when(svcStore.getPolicyFromEventTime(strdt, 
1l)).thenReturn(null);
+
+               
Mockito.when(restErrorUtil.createRESTException(Mockito.anyInt(), 
Mockito.anyString(), Mockito.anyBoolean()))
+                               .thenThrow(new WebApplicationException());
+               thrown.expect(WebApplicationException.class);
+
+               serviceREST.getPolicyFromEventTime(request);
+       }
 
-                String PARAM_SERVICE_TYPE = "serviceType";
-                String serviceTypeList = 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop";
-                request.setAttribute("serviceType", 
"hdfs,hbase,hive,yarn,knox,storm,solr,kafka,nifi,atlas,sqoop");
-                SearchFilter filter = new SearchFilter();
-                filter.setParam("serviceType", "value");
-                Mockito.when(
-                                searchUtil.getSearchFilter(request, 
policyService.sortFields))
-                                .thenReturn(filter);
-
-                
Mockito.when(request.getParameter(PARAM_SERVICE_TYPE)).thenReturn(serviceTypeList);
-                File jsonPolicyFile = new File(importPoliceTestFilePath);
-                InputStream uploadedInputStream = new 
FileInputStream(jsonPolicyFile);
-                FormDataContentDisposition fileDetail = 
FormDataContentDisposition
-                                                                               
                 .name("file")
-                                                                               
                 .fileName(jsonPolicyFile.getName())
-                                                                               
                 .size(uploadedInputStream.toString().length())
-                                                                               
                 .build();
-                boolean isOverride = false;
-
-                Mockito.when(svcStore.createPolicyMap(Mockito.any(Map.class), 
Mockito.any(List.class), Mockito.any(List.class), 
Mockito.any(RangerPolicy.class), 
Mockito.any(Map.class))).thenReturn(policiesMap);
-                
Mockito.when(validatorFactory.getPolicyValidator(svcStore)).thenReturn(policyValidator);
-                Mockito.when(bizUtil.isAdmin()).thenReturn(true);
-                
Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
-
-                
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
-
-                
Mockito.when(daoManager.getXXService().findByName("HDFS_1-1-20150316062453")).thenReturn(xService);
-                
Mockito.when(daoManager.getXXServiceDef().getById(xService.getType())).thenReturn(xServiceDef);
-
-                serviceREST.importPoliciesFromFile(request, null, 
uploadedInputStream, fileDetail, isOverride);
-                Mockito.verify(svcStore).createPolicy(rangerPolicy);
-
-
-        }
-        @Test
-        public void test51getMetricByType() throws Exception {
-                       String type = "usergroup";
-                       String ret = 
"{\"groupCount\":1,\"userCountOfUserRole\":0,\"userCountOfKeyAdminRole\":1,"
-                                       + 
"\"userCountOfSysAdminRole\":3,\"userCountOfKeyadminAuditorRole\":0,\"userCountOfSysAdminAuditorRole\":0,\"userTotalCount\":4}";
-                       
Mockito.when(svcStore.getMetricByType(type)).thenReturn(ret);
-                       serviceREST.getMetricByType(type);
-                       Mockito.verify(svcStore).getMetricByType(type);
-        }
 }

Reply via email to