Repository: incubator-ranger Updated Branches: refs/heads/master fbf4f3533 -> d94aecff9
RANGER-789: fix policy-listing for non-admin users Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/d94aecff Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/d94aecff Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/d94aecff Branch: refs/heads/master Commit: d94aecff9374dfa4a93685c8d215b55af219b68d Parents: fbf4f35 Author: Madhan Neethiraj <[email protected]> Authored: Wed Dec 16 03:27:21 2015 -0800 Committer: Madhan Neethiraj <[email protected]> Committed: Mon Dec 21 17:58:30 2015 -0800 ---------------------------------------------------------------------- .../plugin/store/AbstractPredicateUtil.java | 194 ++++++++++++++++++- .../org/apache/ranger/biz/ServiceDBStore.java | 23 ++- .../apache/ranger/common/RangerSearchUtil.java | 2 +- .../org/apache/ranger/rest/ServiceREST.java | 176 +++++++++++------ .../org/apache/ranger/rest/TestServiceREST.java | 10 +- 5 files changed, 336 insertions(+), 69 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d94aecff/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java index abfb350..62b9bca 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractPredicateUtil.java @@ -79,16 +79,23 @@ public class AbstractPredicateUtil { } public void addPredicates(SearchFilter filter, List<Predicate> predicates) { + addPredicateForServiceType(filter.getParam(SearchFilter.SERVICE_TYPE), predicates); addPredicateForServiceTypeId(filter.getParam(SearchFilter.SERVICE_TYPE_ID), predicates); addPredicateForServiceName(filter.getParam(SearchFilter.SERVICE_NAME), predicates); + // addPredicateForServiceId(filter.getParam(SearchFilter.SERVICE_ID), predicates); // not supported addPredicateForPolicyName(filter.getParam(SearchFilter.POLICY_NAME), predicates); addPredicateForPolicyId(filter.getParam(SearchFilter.POLICY_ID), predicates); addPredicateForIsEnabled(filter.getParam(SearchFilter.IS_ENABLED), predicates); addPredicateForIsRecursive(filter.getParam(SearchFilter.IS_RECURSIVE), predicates); + addPredicateForTagServiceName(filter.getParam(SearchFilter.TAG_SERVICE_NAME), predicates); + // addPredicateForTagServiceId(filter.getParam(SearchFilter.TAG_SERVICE_ID), predicates); // not supported addPredicateForUserName(filter.getParam(SearchFilter.USER), predicates); addPredicateForGroupName(filter.getParam(SearchFilter.GROUP), predicates); - addPredicateForResourceSignature(filter.getParam(SearchFilter.RESOURCE_SIGNATURE), predicates); addPredicateForResources(filter.getParamsWithPrefix(SearchFilter.RESOURCE_PREFIX, true), predicates); + addPredicateForPolicyResource(filter.getParam(SearchFilter.POL_RESOURCE), predicates); + addPredicateForPartialPolicyName(filter.getParam(SearchFilter.POLICY_NAME_PARTIAL), predicates); + addPredicateForResourceSignature(filter.getParam(SearchFilter.RESOURCE_SIGNATURE), predicates); + addPredicateForPolicyType(filter.getParam(SearchFilter.POLICY_TYPE), predicates); } public Comparator<RangerBaseModelObject> getSorter(SearchFilter filter) { @@ -216,6 +223,40 @@ public class AbstractPredicateUtil { sorterMap.put(SearchFilter.UPDATE_TIME, updateTimeComparator); } + private Predicate addPredicateForServiceType(final String serviceType, List<Predicate> predicates) { + if(StringUtils.isEmpty(serviceType)) { + return null; + } + + Predicate ret = new Predicate() { + @Override + public boolean evaluate(Object object) { + if(object == null) { + return false; + } + + boolean ret = false; + + if(object instanceof RangerServiceDef) { + RangerServiceDef serviceDef = (RangerServiceDef)object; + String svcType = serviceDef.getName(); + + ret = StringUtils.equals(svcType, serviceType); + } else { + ret = true; + } + + return ret; + } + }; + + if(predicates != null) { + predicates.add(ret); + } + + return ret; + } + private Predicate addPredicateForServiceTypeId(final String serviceTypeId, List<Predicate> predicates) { if(StringUtils.isEmpty(serviceTypeId)) { return null; @@ -322,6 +363,39 @@ public class AbstractPredicateUtil { return ret; } + private Predicate addPredicateForPartialPolicyName(final String policyName, List<Predicate> predicates) { + if(StringUtils.isEmpty(policyName)) { + return null; + } + + Predicate ret = new Predicate() { + @Override + public boolean evaluate(Object object) { + if(object == null) { + return false; + } + + boolean ret = false; + + if(object instanceof RangerPolicy) { + RangerPolicy policy = (RangerPolicy)object; + + ret = StringUtils.containsIgnoreCase(policy.getName(), policyName); + } else { + ret = true; + } + + return ret; + } + }; + + if(predicates != null) { + predicates.add(ret); + } + + return ret; + } + private Predicate addPredicateForPolicyId(final String policyId, List<Predicate> predicates) { if(StringUtils.isEmpty(policyId)) { return null; @@ -557,6 +631,58 @@ public class AbstractPredicateUtil { return ret; } + private Predicate addPredicateForPolicyResource(final String resourceValue, List<Predicate> predicates) { + if(StringUtils.isEmpty(resourceValue)) { + return null; + } + + Predicate ret = new Predicate() { + @Override + public boolean evaluate(Object object) { + if(object == null) { + return false; + } + + boolean ret = false; + + if(object instanceof RangerPolicy) { + RangerPolicy policy = (RangerPolicy)object; + Map<String, RangerPolicyResource> policyResources = policy.getResources(); + + if(MapUtils.isNotEmpty(policyResources)) { + for(String resourceName : policyResources.keySet()) { + RangerPolicyResource policyResource = policyResources.get(resourceName); + + if(policyResource != null && CollectionUtils.isNotEmpty(policyResource.getValues())) { + for(String policyResourceVal : policyResource.getValues()) { + if(StringUtils.containsIgnoreCase(policyResourceVal, resourceValue)) { + ret = true; + + break; + } + } + } + + if(ret) { + break; + } + } + } + } else { + ret = true; + } + + return ret; + } + }; + + if(predicates != null) { + predicates.add(ret); + } + + return ret; + } + private Predicate addPredicateForIsRecursive(final String isRecursiveStr, List<Predicate> predicates) { if(StringUtils.isEmpty(isRecursiveStr)) { return null; @@ -604,6 +730,39 @@ public class AbstractPredicateUtil { return ret; } + private Predicate addPredicateForTagServiceName(final String tagServiceName, List<Predicate> predicates) { + if(StringUtils.isEmpty(tagServiceName)) { + return null; + } + + Predicate ret = new Predicate() { + @Override + public boolean evaluate(Object object) { + if(object == null) { + return false; + } + + boolean ret = false; + + if(object instanceof RangerService) { + RangerService service = (RangerService)object; + + ret = StringUtils.equals(tagServiceName, service.getTagService()); + } else { + ret = true; + } + + return ret; + } + }; + + if(ret != null) { + predicates.add(ret); + } + + return ret; + } + private Predicate addPredicateForResourceSignature(String signature, List<Predicate> predicates) { Predicate ret = createPredicateForResourceSignature(signature); @@ -614,6 +773,39 @@ public class AbstractPredicateUtil { return ret; } + + private Predicate addPredicateForPolicyType(final String policyType, List<Predicate> predicates) { + if(StringUtils.isEmpty(policyType)) { + return null; + } + + Predicate ret = new Predicate() { + @Override + public boolean evaluate(Object object) { + if(object == null) { + return false; + } + + boolean ret = true; + + if(object instanceof RangerPolicy) { + RangerPolicy policy = (RangerPolicy)object; + + if(policy.getPolicyType() != null) { + ret = StringUtils.equalsIgnoreCase(policyType, policy.getPolicyType().toString()); + } + } + + return ret; + } + }; + + if(predicates != null) { + predicates.add(ret); + } + + return ret; + } /** * @param policySignature http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d94aecff/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java ---------------------------------------------------------------------- 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 80d8dd3..38091bd 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 @@ -1641,7 +1641,13 @@ public class ServiceDBStore extends AbstractServiceStore { throw new Exception("service does not exist - id='" + serviceId); } - List<RangerPolicy> ret = getServicePolicies(service.getName(), filter); + RangerPolicyRetriever policyRetriever = new RangerPolicyRetriever(daoMgr); + + List<RangerPolicy> ret = policyRetriever.getServicePolicies(service); + + if(filter != null) { + predicateUtil.applyFilter(ret, filter); + } return ret; } @@ -1658,7 +1664,6 @@ public class ServiceDBStore extends AbstractServiceStore { throw new Exception("service does not exist - id='" + serviceId); } - PList<RangerPolicy> ret = getPaginatedServicePolicies(service.getName(), filter); return ret; @@ -1670,13 +1675,19 @@ public class ServiceDBStore extends AbstractServiceStore { LOG.debug("==> ServiceDBStore.getServicePolicies(" + serviceName + ")"); } - if(filter == null) { - filter = new SearchFilter(); + XXService service = daoMgr.getXXService().findByName(serviceName); + + if (service == null) { + throw new Exception("service does not exist - name='" + serviceName); } - filter.setParam(SearchFilter.SERVICE_NAME, serviceName); + RangerPolicyRetriever policyRetriever = new RangerPolicyRetriever(daoMgr); - List<RangerPolicy> ret = getPolicies(filter); + List<RangerPolicy> ret = policyRetriever.getServicePolicies(service); + + if(filter != null) { + predicateUtil.applyFilter(ret, filter); + } if(LOG.isDebugEnabled()) { LOG.debug("<== ServiceDBStore.getServicePolicies(" + serviceName + "): count=" + ((ret == null) ? 0 : ret.size())); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d94aecff/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java index 141e634..cf66fc1 100644 --- a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java +++ b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java @@ -159,7 +159,7 @@ public class RangerSearchUtil extends SearchUtil { int pageSize = restErrorUtil.parseInt(request.getParameter(SearchFilter.PAGE_SIZE), configUtil.getDefaultMaxRows(), "Invalid value for parameter pageSize", MessageEnums.INVALID_INPUT_DATA, null, SearchFilter.PAGE_SIZE); - ret.setMaxRows(pageSize); + ret.setMaxRows(validatePageSize(pageSize)); ret.setGetCount(restErrorUtil.parseBoolean(request.getParameter("getCount"), true)); String sortBy = restErrorUtil.validateString(request.getParameter(SearchFilter.SORT_BY), http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d94aecff/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java ---------------------------------------------------------------------- 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 7d41f07..3c00e63 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 @@ -40,6 +40,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -1256,32 +1257,42 @@ public class ServiceREST { LOG.debug("==> ServiceREST.getPolicies()"); } - RangerPolicyList ret = null; + RangerPolicyList ret = new RangerPolicyList(); RangerPerfTracer perf = null; - PList<RangerPolicy> paginatedPolicies = null; - SearchFilter filter = searchUtil.getSearchFilter(request, policyService.sortFields); try { if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) { perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getPolicies()"); } - paginatedPolicies = svcStore.getPaginatedPolicies(filter); - if(paginatedPolicies != null) { - ret = new RangerPolicyList(); + if(isAdminUserWithNoFilterParams(filter)) { + PList<RangerPolicy> policies = svcStore.getPaginatedPolicies(filter); + + ret = toRangerPolicyList(policies); + } else { + // get all policies from the store; pick the page to return after applying filter + int savedStartIndex = filter == null ? 0 : filter.getStartIndex(); + int savedMaxRows = filter == null ? Integer.MAX_VALUE : filter.getMaxRows(); - ret.setPolicies(paginatedPolicies.getList()); - ret.setPageSize(paginatedPolicies.getPageSize()); - ret.setResultSize(paginatedPolicies.getResultSize()); - ret.setStartIndex(paginatedPolicies.getStartIndex()); - ret.setTotalCount(paginatedPolicies.getTotalCount()); - ret.setSortBy(paginatedPolicies.getSortBy()); - ret.setSortType(paginatedPolicies.getSortType()); + if(filter != null) { + filter.setStartIndex(0); + filter.setMaxRows(Integer.MAX_VALUE); + } + + List<RangerPolicy> policies = svcStore.getPolicies(filter); + + if(filter != null) { + filter.setStartIndex(savedStartIndex); + filter.setMaxRows(savedMaxRows); + } - applyAdminAccessFilter(ret); + applyAdminAccessFilter(policies); + + ret = toRangerPolicyList(policies, filter); } + } catch(WebApplicationException excp) { throw excp; } catch (Throwable excp) { @@ -1376,31 +1387,40 @@ public class ServiceREST { LOG.debug("==> ServiceREST.getServicePolicies(" + serviceId + ")"); } - RangerPolicyList ret = null; + RangerPolicyList ret = new RangerPolicyList(); RangerPerfTracer perf = null; - PList<RangerPolicy> paginatedPolicies = null; - SearchFilter filter = searchUtil.getSearchFilter(request, policyService.sortFields); try { if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) { perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePolicies(serviceId=" + serviceId + ")"); } - paginatedPolicies = svcStore.getPaginatedServicePolicies(serviceId, filter); - if(paginatedPolicies != null) { - ret = new RangerPolicyList(); + if(isAdminUserWithNoFilterParams(filter)) { + PList<RangerPolicy> policies = svcStore.getPaginatedServicePolicies(serviceId, filter); - ret.setPolicies(paginatedPolicies.getList()); - ret.setPageSize(paginatedPolicies.getPageSize()); - ret.setResultSize(paginatedPolicies.getResultSize()); - ret.setStartIndex(paginatedPolicies.getStartIndex()); - ret.setTotalCount(paginatedPolicies.getTotalCount()); - ret.setSortBy(paginatedPolicies.getSortBy()); - ret.setSortType(paginatedPolicies.getSortType()); + ret = toRangerPolicyList(policies); + } else { + // get all policies from the store; pick the page to return after applying filter + int savedStartIndex = filter == null ? 0 : filter.getStartIndex(); + int savedMaxRows = filter == null ? Integer.MAX_VALUE : filter.getMaxRows(); + + if(filter != null) { + filter.setStartIndex(0); + filter.setMaxRows(Integer.MAX_VALUE); + } - applyAdminAccessFilter(ret); + List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceId, filter); + + if(filter != null) { + filter.setStartIndex(savedStartIndex); + filter.setMaxRows(savedMaxRows); + } + + applyAdminAccessFilter(servicePolicies); + + ret = toRangerPolicyList(servicePolicies, filter); } } catch(WebApplicationException excp) { throw excp; @@ -1412,10 +1432,6 @@ public class ServiceREST { RangerPerfTracer.log(perf); } - if (ret == null) { - LOG.info("No Policies found for given service id: " + serviceId); - } - if (LOG.isDebugEnabled()) { LOG.debug("<== ServiceREST.getServicePolicies(" + serviceId + "): count=" + (ret == null ? 0 : ret.getListSize())); @@ -1432,31 +1448,40 @@ public class ServiceREST { LOG.debug("==> ServiceREST.getServicePolicies(" + serviceName + ")"); } - RangerPolicyList ret = null; + RangerPolicyList ret = new RangerPolicyList(); RangerPerfTracer perf = null; - PList<RangerPolicy> paginatedPolicies = null; - SearchFilter filter = searchUtil.getSearchFilter(request, policyService.sortFields); try { if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) { perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePolicies(serviceName=" + serviceName + ")"); } - paginatedPolicies = svcStore.getPaginatedServicePolicies(serviceName, filter); - if(paginatedPolicies != null) { - ret = new RangerPolicyList(); + if(isAdminUserWithNoFilterParams(filter)) { + PList<RangerPolicy> policies = svcStore.getPaginatedServicePolicies(serviceName, filter); + + ret = toRangerPolicyList(policies); + } else { + // get all policies from the store; pick the page to return after applying filter + int savedStartIndex = filter == null ? 0 : filter.getStartIndex(); + int savedMaxRows = filter == null ? Integer.MAX_VALUE : filter.getMaxRows(); + + if(filter != null) { + filter.setStartIndex(0); + filter.setMaxRows(Integer.MAX_VALUE); + } - ret.setPolicies(paginatedPolicies.getList()); - ret.setPageSize(paginatedPolicies.getPageSize()); - ret.setResultSize(paginatedPolicies.getResultSize()); - ret.setStartIndex(paginatedPolicies.getStartIndex()); - ret.setTotalCount(paginatedPolicies.getTotalCount()); - ret.setSortBy(paginatedPolicies.getSortBy()); - ret.setSortType(paginatedPolicies.getSortType()); + List<RangerPolicy> servicePolicies = svcStore.getServicePolicies(serviceName, filter); - applyAdminAccessFilter(ret); + if(filter != null) { + filter.setStartIndex(savedStartIndex); + filter.setMaxRows(savedMaxRows); + } + + applyAdminAccessFilter(servicePolicies); + + ret = toRangerPolicyList(servicePolicies, filter); } } catch(WebApplicationException excp) { throw excp; @@ -1468,10 +1493,6 @@ public class ServiceREST { RangerPerfTracer.log(perf); } - if (ret == null) { - LOG.info("No Policies found for given service name: " + serviceName); - } - if (LOG.isDebugEnabled()) { LOG.debug("<== ServiceREST.getServicePolicies(" + serviceName + "): count=" + (ret == null ? 0 : ret.getListSize())); @@ -1773,12 +1794,6 @@ public class ServiceREST { return svcStore.getPolicyForVersionNumber(policyId, versionNo); } - private void applyAdminAccessFilter(RangerPolicyList policies) { - if(policies != null && !CollectionUtils.isEmpty(policies.getList())) { - applyAdminAccessFilter(policies.getPolicies()); - } - } - private void applyAdminAccessFilter(List<RangerPolicy> policies) { boolean isAdmin = bizUtil.isAdmin(); boolean isKeyAdmin = bizUtil.isKeyAdmin(); @@ -1912,4 +1927,53 @@ public class ServiceREST { return String.valueOf(bizUtil.isSSOEnabled()); } + boolean isAdminUserWithNoFilterParams(SearchFilter filter) { + return (filter == null || MapUtils.isEmpty(filter.getParams())) && + (bizUtil.isAdmin() || bizUtil.isKeyAdmin()); + } + + private RangerPolicyList toRangerPolicyList(PList<RangerPolicy> policyList) { + RangerPolicyList ret = new RangerPolicyList(); + + if(policyList != null) { + ret.setPolicies(policyList.getList()); + ret.setPageSize(policyList.getPageSize()); + ret.setResultSize(policyList.getResultSize()); + ret.setStartIndex(policyList.getStartIndex()); + ret.setTotalCount(policyList.getTotalCount()); + ret.setSortBy(policyList.getSortBy()); + ret.setSortType(policyList.getSortType()); + } + + return ret; + } + + private RangerPolicyList toRangerPolicyList(List<RangerPolicy> policyList, SearchFilter filter) { + RangerPolicyList ret = new RangerPolicyList(); + + if(CollectionUtils.isNotEmpty(policyList)) { + int totalCount = policyList.size(); + int startIndex = filter == null ? 0 : filter.getStartIndex(); + int pageSize = filter == null ? totalCount : filter.getMaxRows(); + int toIndex = Math.min(startIndex + pageSize, totalCount); + String sortType = filter == null ? null : filter.getSortType(); + String sortBy = filter == null ? null : filter.getSortBy(); + + List<RangerPolicy> retList = new ArrayList<RangerPolicy>(); + for(int i = startIndex; i < toIndex; i++) { + retList.add(policyList.get(i)); + } + + ret.setPolicies(retList); + ret.setPageSize(pageSize); + ret.setResultSize(retList.size()); + ret.setStartIndex(startIndex); + ret.setTotalCount(totalCount); + ret.setSortBy(sortBy); + ret.setSortType(sortType); + } + + return ret; + } + } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d94aecff/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 339f1e7..d7af3c2 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 @@ -880,7 +880,8 @@ public class TestServiceREST { searchUtil.getSearchFilter(request, policyService.sortFields)) .thenReturn(filter); RangerPolicyList dbRangerPolicy = serviceREST.getPolicies(request); - Assert.assertNull(dbRangerPolicy); + Assert.assertNotNull(dbRangerPolicy); + Assert.assertEquals(dbRangerPolicy.getListSize(), 0); Mockito.verify(searchUtil).getSearchFilter(request, policyService.sortFields); } @@ -903,7 +904,6 @@ public class TestServiceREST { Assert.assertNotNull(data); Mockito.verify(searchUtil).getSearchFilter(request, policyService.sortFields); - Mockito.verify(svcStore).getPaginatedPolicies(filter); } @Test @@ -927,7 +927,7 @@ public class TestServiceREST { Assert.assertNotNull(dbRangerPolicy); Mockito.verify(searchUtil).getSearchFilter(request, policyService.sortFields); - Mockito.verify(svcStore).getPaginatedServicePolicies(Id, filter); + Mockito.verify(svcStore).getServicePolicies(Id, filter); } @Test @@ -935,7 +935,7 @@ public class TestServiceREST { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); - PList<RangerPolicy> ret = Mockito.mock(PList.class); + List<RangerPolicy> ret = Mockito.mock(List.class); SearchFilter filter = new SearchFilter(); filter.setParam(SearchFilter.POLICY_NAME, "policyName"); filter.setParam(SearchFilter.SERVICE_NAME, "serviceName"); @@ -944,7 +944,7 @@ public class TestServiceREST { .thenReturn(filter); Mockito.when( - svcStore.getPaginatedServicePolicies(rangerPolicy.getName(), + svcStore.getServicePolicies(rangerPolicy.getName(), filter)).thenReturn(ret); RangerPolicyList dbRangerPolicy = serviceREST.getServicePoliciesByName(
