You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2022/03/04 05:43:56 UTC

[ranger] branch master updated: RANGER-3652: updated resource-matcher unit tests to include tests for wildcard=false

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 9e5d4ec  RANGER-3652: updated resource-matcher unit tests to include tests for wildcard=false
9e5d4ec is described below

commit 9e5d4ec3e50f0e0d2785bb60e8a81b33a8729b4f
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Thu Mar 3 20:01:56 2022 -0800

    RANGER-3652: updated resource-matcher unit tests to include tests for wildcard=false
---
 .../RangerDefaultResourceMatcherTest.java                | 16 ++++++++++++----
 .../resourcematcher/RangerPathResourceMatcherTest.java   | 13 +++++++++++--
 .../resourcematcher/RangerURLResourceMatcherTest.java    | 12 ++++++++++--
 3 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcherTest.java b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcherTest.java
index c635e0d..ad21b32 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcherTest.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerDefaultResourceMatcherTest.java
@@ -21,6 +21,7 @@ package org.apache.ranger.plugin.resourcematcher;
 
 import com.google.common.collect.Lists;
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.junit.Test;
 
@@ -69,15 +70,22 @@ public class RangerDefaultResourceMatcherTest {
 
     static class MatcherWrapper extends RangerDefaultResourceMatcher {
         MatcherWrapper(String policyValue, boolean exclude) {
+            RangerResourceDef   resourceDef    = new RangerResourceDef();
+            Map<String, String> matcherOptions = new HashMap<>();
+
+            matcherOptions.put(OPTION_WILD_CARD, Boolean.toString(policyValue.contains(WILDCARD_ASTERISK)));
+            matcherOptions.put(OPTION_IGNORE_CASE, Boolean.toString(false));
+
+            resourceDef.setMatcherOptions(matcherOptions);
+
+            setResourceDef(resourceDef);
+
             RangerPolicy.RangerPolicyResource policyResource = new RangerPolicy.RangerPolicyResource();
             policyResource.setIsExcludes(exclude);
             policyResource.setValues(Lists.newArrayList(policyValue));
             setPolicyResource(policyResource);
 
-            if (policyValue.contains(WILDCARD_ASTERISK)) {
-                this.optWildCard = true;
-            }
-            this.optIgnoreCase = false;
+
             init();
         }
     }
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcherTest.java b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcherTest.java
index 1425027..8fe3be9 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcherTest.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerPathResourceMatcherTest.java
@@ -21,10 +21,12 @@ package org.apache.ranger.plugin.resourcematcher;
 
 import com.google.common.collect.Lists;
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.junit.Test;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -49,6 +51,8 @@ public class RangerPathResourceMatcherTest {
             { "/app/hbase/test.tbl",  "/app/hive/test*",   true, false, false, "user" },
             { "/app/hive/test.db",    "/app/hive/test.db", true, false, true, "user" },
             { "/app/hbase/test.tbl",  "/app/hive/test.db", true, false, false, "user" },
+            { "app/hive/*",           "app/hive/*",        false, false, true, "user" },  // simple string match
+            { "app/hive/test.db",     "app/hive/*",        false, false, false, "user" }, // simple string match
     };
 
     Object[][] dataForSelfOrChildScope = {
@@ -126,7 +130,12 @@ public class RangerPathResourceMatcherTest {
 
     static class MatcherWrapper extends RangerPathResourceMatcher {
         MatcherWrapper(String policyValue, boolean optWildcard, boolean isRecursive) {
-            super.optWildCard = optWildcard;
+            RangerResourceDef   resourceDef    = new RangerResourceDef();
+            Map<String, String> matcherOptions = Collections.singletonMap(OPTION_WILD_CARD, Boolean.toString(optWildcard));
+
+            resourceDef.setMatcherOptions(matcherOptions);
+
+            setResourceDef(resourceDef);
 
             RangerPolicy.RangerPolicyResource policyResource = new RangerPolicy.RangerPolicyResource();
             policyResource.setIsRecursive(isRecursive);
@@ -134,7 +143,7 @@ public class RangerPathResourceMatcherTest {
             setPolicyResource(policyResource);
 
             init();
-        }
+       }
     }
 
 }
\ No newline at end of file
diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcherTest.java b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcherTest.java
index 2762932..2b7f272 100644
--- a/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcherTest.java
+++ b/agents-common/src/test/java/org/apache/ranger/plugin/resourcematcher/RangerURLResourceMatcherTest.java
@@ -21,9 +21,11 @@ package org.apache.ranger.plugin.resourcematcher;
 
 import com.google.common.collect.Lists;
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.junit.Test;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -36,7 +38,8 @@ public class RangerURLResourceMatcherTest {
             { "hdfs://hostname:8020/app/warehouse/data/emp.db",    "hdfs://hostname:8020/app/warehouse/*", true, true, true, "user" },
             { "hdfs://hostname:8020/app/warehouse/data/emp.db",     "hdfs://hostname:8020/*",     true,  true,  true,  "user" },
             { "hdfs://hostname:8020/app/warehouse/data/emp.db",     "hdfs://hostname:8020/app/*", true,  false, true,  "user" },
-            { "hdfs://hostname:8020/app/warehouse/data/emp.db",     "hdfs://hostname:8020/app/*", false, false, true,  "user" },
+            { "hdfs://hostname:8020/app/warehouse/data/emp.db",     "hdfs://hostname:8020/app/*", false, false, false, "user" }, // simple string match
+            { "hdfs://hostname:8020/app/*",                         "hdfs://hostname:8020/app/*", false, false, true,  "user" }, // simple string match
             { "hdfs://hostname:8020/app/warehouse/data/emp.db",     "hdfs://hostname:8020/app/",  true,  true,  true,  "user" },
             { "s3a://app/warehouse/data/emp.db",                    "s3a://app/*",                true,  true,  true,  "user" },
             { "adls:/app/warehouse/data/emp.db",                    "adls://app/*",               true,  true,  false, "user" },
@@ -74,7 +77,12 @@ public class RangerURLResourceMatcherTest {
 
     static class MatcherWrapper extends RangerURLResourceMatcher {
         MatcherWrapper(String policyValue, boolean optWildcard, boolean isRecursive) {
-            super.optWildCard = optWildcard;
+            RangerResourceDef   resourceDef    = new RangerResourceDef();
+            Map<String, String> matcherOptions = Collections.singletonMap(OPTION_WILD_CARD, Boolean.toString(optWildcard));
+
+            resourceDef.setMatcherOptions(matcherOptions);
+
+            setResourceDef(resourceDef);
 
             RangerPolicy.RangerPolicyResource policyResource = new RangerPolicy.RangerPolicyResource();
             policyResource.setIsRecursive(isRecursive);