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 54ef3877b RANGER-4636: RANGER-4637: Fix /public/api/policy/count and 
/public/api/repository/count to return the proper value
54ef3877b is described below

commit 54ef3877b9459022b710cf0c50d239996df71a60
Author: princeap173 <[email protected]>
AuthorDate: Wed Jan 10 07:52:49 2024 +0530

    RANGER-4636: RANGER-4637: Fix /public/api/policy/count and 
/public/api/repository/count to return the proper value
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../java/org/apache/ranger/rest/PublicAPIs.java    | 21 +++----
 .../java/org/apache/ranger/rest/TestAssetREST.java |  2 +-
 .../org/apache/ranger/rest/TestPublicAPIs.java     | 68 ++++++++--------------
 .../org/apache/ranger/rest/TestXAuditREST.java     | 15 ++---
 4 files changed, 41 insertions(+), 65 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java 
b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
index a6b86e965..b7735e715 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
@@ -78,6 +78,9 @@ public class PublicAPIs {
 
        @Autowired
        RESTErrorUtil restErrorUtil;
+
+       @Autowired
+       AssetREST assetREST;
        
        @GET
        @Path("/api/repository/{id}")
@@ -217,16 +220,13 @@ public class PublicAPIs {
                        logger.debug("==> PublicAPIs.countRepositories()");
                }
 
-               VXRepositoryList repositories = searchRepositories(request);
+               VXLong ret = assetREST.countXAssets(request);
 
-               VXLong ret = new VXLong();
-               ret.setValue(repositories == null ? 0 : 
repositories.getResultSize());
-
-        if(logger.isDebugEnabled()) {
+               if(logger.isDebugEnabled()) {
                        logger.debug("<== PublicAPIs.countRepositories(): 
count=" + ret);
                }
 
-        return ret;
+               return ret;
        }       
        
 
@@ -392,16 +392,13 @@ public class PublicAPIs {
                        logger.debug("==> PublicAPIs.countPolicies(): ");
                }
 
-               VXPolicyList policies = searchPolicies(request);
-
-               VXLong vXlong = new VXLong();
-               vXlong.setValue(policies == null ? 0 : 
policies.getResultSize());
+               VXLong ret = assetREST.countXResources(request);
 
                if(logger.isDebugEnabled()) {
-                       logger.debug("<== PublicAPIs.countPolicies(): "  + 
request );
+                       logger.debug("<== PublicAPIs.countPolicies(): "  + ret);
                }
 
-               return vXlong;
+               return ret;
        }
 
 }
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index 180742bcd..23fbb8494 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -416,7 +416,7 @@ public class TestAssetREST {
 
                List<RangerService> services = Arrays.asList(rangerService1, 
rangerService2);
                SearchFilter searchFilter = new SearchFilter();
-               
Mockito.when(searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request,
 null))
+               
Mockito.when(searchUtil.getSearchFilterFromLegacyRequest(request, null))
                                .thenReturn(searchFilter);
                
Mockito.when(serviceREST.getServices(searchFilter)).thenReturn(services);
                
Mockito.when(serviceUtil.toVXAsset(rangerService1)).thenReturn(vXAsset1);
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
index eb0cb6452..aa7e9b862 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
@@ -99,6 +99,9 @@ public class TestPublicAPIs {
        
        @Mock
        RangerPolicyService policyService;
+
+       @Mock
+       AssetREST assetREST;
        
        @Rule
        public ExpectedException thrown = ExpectedException.none();
@@ -351,26 +354,16 @@ public class TestPublicAPIs {
        @Test
        public void test6countRepositories() throws Exception {
                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
-               VXLong vXLong = new VXLong();
-               List<RangerService> ret = new ArrayList<RangerService>();
-               RangerService rangerService = rangerService();
-               VXRepository vXRepository = vXRepository(rangerService);
-               List<VXRepository> repoList = new ArrayList<VXRepository>();
-               repoList.add(vXRepository);
-               VXRepositoryList vXRepositoryList = new 
VXRepositoryList(repoList);
-               SearchFilter filter = new SearchFilter();
-               filter.setParam(SearchFilter.POLICY_NAME, "policyName");
-               filter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
-               
Mockito.when(searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request,
 xAssetService.sortFields)).thenReturn(filter);
-               Mockito.when(serviceREST.getServices(filter)).thenReturn(ret);
-               
Mockito.when(serviceUtil.rangerServiceListToPublicObjectList(ret)).thenReturn(vXRepositoryList);
-               VXRepositoryList dbVXRepositoryList = 
publicAPIs.searchRepositories(request);
-               vXLong.setValue(dbVXRepositoryList.getResultSize());
-               Assert.assertNotNull(vXLong);
-               Assert.assertEquals(vXLong.getValue(), 1);              
-               
Mockito.verify(searchUtil).getSearchFilterFromLegacyRequestForRepositorySearch(request,
 xAssetService.sortFields);
-               Mockito.verify(serviceREST).getServices(filter);
-               
Mockito.verify(serviceUtil).rangerServiceListToPublicObjectList(ret);
+
+               VXLong resultExpected = new VXLong();
+               resultExpected.setValue(4l);
+
+               
Mockito.when(assetREST.countXAssets(request)).thenReturn(resultExpected);
+
+               VXLong resultActual = publicAPIs.countRepositories(request);
+
+               Assert.assertEquals(resultExpected.getValue(), 
resultActual.getValue());
+               Mockito.verify(assetREST).countXAssets(request);
        }
        
        @Test
@@ -481,32 +474,17 @@ public class TestPublicAPIs {
        
        @Test
        public void test12countPolicies() throws Exception {
-               VXLong vXLong = new VXLong();
                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
-               RangerService service = rangerService();
-               RangerPolicy policy = rangerPolicy();
-               List<RangerPolicy> policyList = new ArrayList<RangerPolicy>();
-               policyList.add(policy);
-               VXPolicy vXPolicy = vXPolicy(policy, service);
-               List<VXPolicy> vXPolicies = new ArrayList<VXPolicy>();
-               vXPolicies.add(vXPolicy);
-               VXPolicyList vXPolicyList = new VXPolicyList(vXPolicies);
-               SearchFilter filter = new SearchFilter();
-               filter.setParam(SearchFilter.POLICY_NAME, "policyName");
-               filter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
-               filter.setStartIndex(0);
-               filter.setMaxRows(10);
-               
Mockito.when(searchUtil.getSearchFilterFromLegacyRequest(request, 
policyService.sortFields)).thenReturn(filter);
-               
Mockito.when(serviceREST.getPolicies(filter)).thenReturn(policyList);
-               
Mockito.when(serviceUtil.rangerPolicyListToPublic(policyList,filter)).thenReturn(vXPolicyList);
-               VXPolicyList dbVXPolicyList = 
publicAPIs.searchPolicies(request);
-               vXLong.setValue(dbVXPolicyList.getResultSize());
-               Assert.assertNotNull(vXLong);
-               Assert.assertEquals(vXLong.getValue(), 1);
-               
Mockito.verify(searchUtil).getSearchFilterFromLegacyRequest(request, 
policyService.sortFields);
-               Mockito.verify(serviceREST).getPolicies(filter);
-               
Mockito.verify(serviceUtil).rangerPolicyListToPublic(policyList,filter);
-               
+
+               VXLong resultExpected = new VXLong();
+               resultExpected.setValue(6l);
+
+               
Mockito.when(assetREST.countXResources(request)).thenReturn(resultExpected);
+
+               VXLong resultActual = publicAPIs.countPolicies(request);
+
+               Assert.assertEquals(resultExpected.getValue(), 
resultActual.getValue());
+               Mockito.verify(assetREST).countXResources(request);
        }
 
 }
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestXAuditREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestXAuditREST.java
index 2864cd36c..5cf21d5b0 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestXAuditREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestXAuditREST.java
@@ -198,22 +198,23 @@ public class TestXAuditREST {
        public void Test8countXAccessAudits() {
                HttpServletRequest request = 
Mockito.mock(HttpServletRequest.class);
                searchCriteria.addParam("name", name);
-               VXLong vxLongExp = new VXLong();
-               vxLongExp.setValue(id);
+               VXAccessAuditList vxAuditList = new VXAccessAuditList();
+               vxAuditList.setTotalCount(id);
 
                
Mockito.when(searchUtil.extractCommonCriterias((HttpServletRequest) 
Mockito.any(),
                                (List<SortField>) 
Mockito.any())).thenReturn(searchCriteria);
-               
Mockito.when(xAuditMgr.getXAccessAuditSearchCount(searchCriteria)).thenReturn(vxLongExp);
+               
Mockito.when(auditREST.searchXAccessAudits(request)).thenReturn(vxAuditList);
+
+               VXLong vXLongExpect = new VXLong();
+               vXLongExpect.setValue(vxAuditList.getTotalCount());
 
                VXLong vxLongAct = auditREST.countXAccessAudits(request);
 
                Assert.assertNotNull(vxLongAct);
-               Assert.assertEquals(vxLongExp, vxLongAct);
-               Assert.assertEquals(vxLongExp.getValue(), vxLongAct.getValue());
+               Assert.assertEquals(vXLongExpect.getValue(), 
vxLongAct.getValue());
 
-               
Mockito.verify(searchUtil).extractCommonCriterias((HttpServletRequest) 
Mockito.any(),
+               Mockito.verify(searchUtil, 
Mockito.times(2)).extractCommonCriterias((HttpServletRequest) Mockito.any(),
                                (List<SortField>) Mockito.any());
-               
Mockito.verify(xAuditMgr).getXAccessAuditSearchCount(searchCriteria);
        }
 
 }

Reply via email to