This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.8 by this push:
     new 672f0b1b0 RANGER-5324: replace iterations with streams in 
RangerRequestScriptEvaluator - 3   updated getAllTagTypes() to call init() 
which was removed in earlier commit
672f0b1b0 is described below

commit 672f0b1b0e24d68e9946b4dabb6156c9ab2b6e2c
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Tue Oct 7 16:45:50 2025 -0700

    RANGER-5324: replace iterations with streams in 
RangerRequestScriptEvaluator - 3
      updated getAllTagTypes() to call init() which was removed in earlier 
commit
    
    (cherry picked from commit 15ae6506bb0a7e6c61df15d19edd9ca91d1c2629)
---
 .../policyengine/RangerRequestScriptEvaluator.java     |  2 ++
 .../RangerRequestScriptEvaluatorTest.java              | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
index ee2df197b..4e1460c89 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerRequestScriptEvaluator.java
@@ -432,6 +432,8 @@ public String getCurrentTagType() {
     }
 
     public Set<String> getAllTagTypes() {
+        init();
+
         return Collections.unmodifiableSet(tags.keySet());
     }
 
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerRequestScriptEvaluatorTest.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerRequestScriptEvaluatorTest.java
index ed329e2ec..511c37f73 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerRequestScriptEvaluatorTest.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/conditionevaluator/RangerRequestScriptEvaluatorTest.java
@@ -513,6 +513,24 @@ public void testMultipleTagInstancesOfType() {
         }
     }
 
+    @Test
+    public void testGetAllTagTypes() {
+        RangerAccessRequest          request   = createRequest("test-user", 
Collections.emptySet(), Collections.emptySet(), Collections.emptyList());
+        RangerRequestScriptEvaluator evaluator = new 
RangerRequestScriptEvaluator(request, scriptEngine, false);
+
+        Assert.assertEquals(Collections.emptySet(), 
evaluator.evaluateScript("ctx.getAllTagTypes()"));
+
+        request   = createRequest("test-user", Collections.emptySet(), 
Collections.emptySet(), Collections.singletonList(new RangerTag("PII", 
Collections.emptyMap())));
+        evaluator = new RangerRequestScriptEvaluator(request, scriptEngine, 
false);
+
+        Assert.assertEquals(Collections.singleton("PII"), 
evaluator.evaluateScript("ctx.getAllTagTypes()"));
+
+        request   = createRequest("test-user", Collections.emptySet(), 
Collections.emptySet(), Arrays.asList(new RangerTag("PII", 
Collections.emptyMap()), new RangerTag("PCI", Collections.emptyMap())));
+        evaluator = new RangerRequestScriptEvaluator(request, scriptEngine, 
false);
+
+        Assert.assertEquals(new HashSet<>(Arrays.asList("PCI", "PII")), 
evaluator.evaluateScript("ctx.getAllTagTypes()"));
+    }
+
     RangerAccessRequest createRequest(String userName, Set<String> userGroups, 
Set<String> userRoles, List<RangerTag> resourceTags) {
         RangerAccessResource resource = mock(RangerAccessResource.class);
 

Reply via email to