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