hawq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hubertzh...@apache.org
Subject [3/6] incubator-hawq git commit: HAWQ-1359. Add policy test for HAWQ with Ranger enabled.
Date Thu, 02 Mar 2017 01:55:07 GMT
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/39/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/39/2.json b/src/test/feature/Ranger/policy/39/2.json
new file mode 100644
index 0000000..f21e2e5
--- /dev/null
+++ b/src/test/feature/Ranger/policy/39/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy39-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "insert"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest39", "usersuper39"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/4/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/4/1.json b/src/test/feature/Ranger/policy/4/1.json
new file mode 100644
index 0000000..f4fc273
--- /dev/null
+++ b/src/test/feature/Ranger/policy/4/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy4-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest4", "usersuper4"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/4/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/4/2.json b/src/test/feature/Ranger/policy/4/2.json
new file mode 100644
index 0000000..33b40e4
--- /dev/null
+++ b/src/test/feature/Ranger/policy/4/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy4-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest4", "usersuper4"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/4/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/4/3.json b/src/test/feature/Ranger/policy/4/3.json
new file mode 100644
index 0000000..cf5fe38
--- /dev/null
+++ b/src/test/feature/Ranger/policy/4/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy4-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest4", "usersuper4"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["f4"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/40/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/40/1.json b/src/test/feature/Ranger/policy/40/1.json
new file mode 100644
index 0000000..217d364
--- /dev/null
+++ b/src/test/feature/Ranger/policy/40/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy40-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage"}, {"isAllowed": true, "type": "update"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest40", "usersuper40"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "sequence": {"isExcludes": false, "isRecursive": false, "values": ["myseq"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/40/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/40/2.json b/src/test/feature/Ranger/policy/40/2.json
new file mode 100644
index 0000000..da0446e
--- /dev/null
+++ b/src/test/feature/Ranger/policy/40/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy40-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest40", "usersuper40"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/40/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/40/3.json b/src/test/feature/Ranger/policy/40/3.json
new file mode 100644
index 0000000..ba2d81c
--- /dev/null
+++ b/src/test/feature/Ranger/policy/40/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy40-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "insert"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest40", "usersuper40"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/41/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/41/1.json b/src/test/feature/Ranger/policy/41/1.json
new file mode 100644
index 0000000..04165a8
--- /dev/null
+++ b/src/test/feature/Ranger/policy/41/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy41-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest41", "usersuper41"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/41/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/41/2.json b/src/test/feature/Ranger/policy/41/2.json
new file mode 100644
index 0000000..4dd264d
--- /dev/null
+++ b/src/test/feature/Ranger/policy/41/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy41-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest41", "usersuper41"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/42/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/42/1.json b/src/test/feature/Ranger/policy/42/1.json
new file mode 100644
index 0000000..475f3e3
--- /dev/null
+++ b/src/test/feature/Ranger/policy/42/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy42-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest42", "usersuper42"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/43/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/43/1.json b/src/test/feature/Ranger/policy/43/1.json
new file mode 100644
index 0000000..a4058cc
--- /dev/null
+++ b/src/test/feature/Ranger/policy/43/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy43-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest43", "usersuper43"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/43/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/43/2.json b/src/test/feature/Ranger/policy/43/2.json
new file mode 100644
index 0000000..c986bb5
--- /dev/null
+++ b/src/test/feature/Ranger/policy/43/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy43-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest43", "usersuper43"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["av"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/43/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/43/3.json b/src/test/feature/Ranger/policy/43/3.json
new file mode 100644
index 0000000..7762ff7
--- /dev/null
+++ b/src/test/feature/Ranger/policy/43/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy43-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest43", "usersuper43"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/44/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/44/1.json b/src/test/feature/Ranger/policy/44/1.json
new file mode 100644
index 0000000..ca69184
--- /dev/null
+++ b/src/test/feature/Ranger/policy/44/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy44-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "update"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest44", "usersuper44"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "sequence": {"isExcludes": false, "isRecursive": false, "values": ["myseq"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/44/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/44/2.json b/src/test/feature/Ranger/policy/44/2.json
new file mode 100644
index 0000000..234dfc5
--- /dev/null
+++ b/src/test/feature/Ranger/policy/44/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy44-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest44", "usersuper44"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/45/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/45/1.json b/src/test/feature/Ranger/policy/45/1.json
new file mode 100644
index 0000000..415d688
--- /dev/null
+++ b/src/test/feature/Ranger/policy/45/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy45-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest45", "usersuper45"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/45/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/45/2.json b/src/test/feature/Ranger/policy/45/2.json
new file mode 100644
index 0000000..bd3589f
--- /dev/null
+++ b/src/test/feature/Ranger/policy/45/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy45-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest45", "usersuper45"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/45/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/45/3.json b/src/test/feature/Ranger/policy/45/3.json
new file mode 100644
index 0000000..cda7594
--- /dev/null
+++ b/src/test/feature/Ranger/policy/45/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy45-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest45", "usersuper45"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["aaa"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/46/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/46/1.json b/src/test/feature/Ranger/policy/46/1.json
new file mode 100644
index 0000000..cf46b1b
--- /dev/null
+++ b/src/test/feature/Ranger/policy/46/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy46-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest46", "usersuper46"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/46/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/46/2.json b/src/test/feature/Ranger/policy/46/2.json
new file mode 100644
index 0000000..c98d724
--- /dev/null
+++ b/src/test/feature/Ranger/policy/46/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy46-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "insert"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest46", "usersuper46"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/47/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/47/1.json b/src/test/feature/Ranger/policy/47/1.json
new file mode 100644
index 0000000..757b91b
--- /dev/null
+++ b/src/test/feature/Ranger/policy/47/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy47-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest47", "usersuper47"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/47/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/47/2.json b/src/test/feature/Ranger/policy/47/2.json
new file mode 100644
index 0000000..a29b574
--- /dev/null
+++ b/src/test/feature/Ranger/policy/47/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy47-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest47", "usersuper47"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/48/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/48/1.json b/src/test/feature/Ranger/policy/48/1.json
new file mode 100644
index 0000000..8a9ad80
--- /dev/null
+++ b/src/test/feature/Ranger/policy/48/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy48-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest48", "usersuper48"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["scube_accum"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/48/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/48/2.json b/src/test/feature/Ranger/policy/48/2.json
new file mode 100644
index 0000000..e84b8cf
--- /dev/null
+++ b/src/test/feature/Ranger/policy/48/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy48-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest48", "usersuper48"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/48/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/48/3.json b/src/test/feature/Ranger/policy/48/3.json
new file mode 100644
index 0000000..092ef95
--- /dev/null
+++ b/src/test/feature/Ranger/policy/48/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy48-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest48", "usersuper48"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "language": {"isExcludes": false, "isRecursive": false, "values": ["sql"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/49/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/49/1.json b/src/test/feature/Ranger/policy/49/1.json
new file mode 100644
index 0000000..db4816e
--- /dev/null
+++ b/src/test/feature/Ranger/policy/49/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy49-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest49", "usersuper49"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["scube_accum"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/49/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/49/2.json b/src/test/feature/Ranger/policy/49/2.json
new file mode 100644
index 0000000..f3780a0
--- /dev/null
+++ b/src/test/feature/Ranger/policy/49/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy49-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest49", "usersuper49"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/50/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/50/1.json b/src/test/feature/Ranger/policy/50/1.json
new file mode 100644
index 0000000..328bc30
--- /dev/null
+++ b/src/test/feature/Ranger/policy/50/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy50-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest50", "usersuper50"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/51/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/51/1.json b/src/test/feature/Ranger/policy/51/1.json
new file mode 100644
index 0000000..27dbb27
--- /dev/null
+++ b/src/test/feature/Ranger/policy/51/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy51-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest51", "usersuper51"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/52/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/52/1.json b/src/test/feature/Ranger/policy/52/1.json
new file mode 100644
index 0000000..ecf2d1e
--- /dev/null
+++ b/src/test/feature/Ranger/policy/52/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy52-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest52", "usersuper52"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/53/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/53/1.json b/src/test/feature/Ranger/policy/53/1.json
new file mode 100644
index 0000000..751951e
--- /dev/null
+++ b/src/test/feature/Ranger/policy/53/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy53-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest53", "usersuper53"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/54/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/54/1.json b/src/test/feature/Ranger/policy/54/1.json
new file mode 100644
index 0000000..f5f81d7
--- /dev/null
+++ b/src/test/feature/Ranger/policy/54/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy54-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest54", "usersuper54"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/54/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/54/2.json b/src/test/feature/Ranger/policy/54/2.json
new file mode 100644
index 0000000..6b87dff
--- /dev/null
+++ b/src/test/feature/Ranger/policy/54/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy54-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest54", "usersuper54"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "language": {"isExcludes": false, "isRecursive": false, "values": ["sql"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/54/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/54/3.json b/src/test/feature/Ranger/policy/54/3.json
new file mode 100644
index 0000000..0d26afe
--- /dev/null
+++ b/src/test/feature/Ranger/policy/54/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy54-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest54", "usersuper54"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["getfoo"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/55/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/55/1.json b/src/test/feature/Ranger/policy/55/1.json
new file mode 100644
index 0000000..cdd54af
--- /dev/null
+++ b/src/test/feature/Ranger/policy/55/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy55-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest55", "usersuper55"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/55/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/55/2.json b/src/test/feature/Ranger/policy/55/2.json
new file mode 100644
index 0000000..c05cc89
--- /dev/null
+++ b/src/test/feature/Ranger/policy/55/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy55-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest55", "usersuper55"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/55/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/55/3.json b/src/test/feature/Ranger/policy/55/3.json
new file mode 100644
index 0000000..8080ffe
--- /dev/null
+++ b/src/test/feature/Ranger/policy/55/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy55-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest55", "usersuper55"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["getfoo"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/56/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/56/1.json b/src/test/feature/Ranger/policy/56/1.json
new file mode 100644
index 0000000..633ac97
--- /dev/null
+++ b/src/test/feature/Ranger/policy/56/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy56-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest56", "usersuper56"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/57/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/57/1.json b/src/test/feature/Ranger/policy/57/1.json
new file mode 100644
index 0000000..ba29b89
--- /dev/null
+++ b/src/test/feature/Ranger/policy/57/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy57-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest57", "usersuper57"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/57/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/57/2.json b/src/test/feature/Ranger/policy/57/2.json
new file mode 100644
index 0000000..4f28390
--- /dev/null
+++ b/src/test/feature/Ranger/policy/57/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy57-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest57", "usersuper57"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/57/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/57/3.json b/src/test/feature/Ranger/policy/57/3.json
new file mode 100644
index 0000000..a7c01ca
--- /dev/null
+++ b/src/test/feature/Ranger/policy/57/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy57-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "insert"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest57", "usersuper57"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/58/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/58/1.json b/src/test/feature/Ranger/policy/58/1.json
new file mode 100644
index 0000000..dafcae8
--- /dev/null
+++ b/src/test/feature/Ranger/policy/58/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy58-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest58", "usersuper58"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/58/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/58/2.json b/src/test/feature/Ranger/policy/58/2.json
new file mode 100644
index 0000000..2db93a6
--- /dev/null
+++ b/src/test/feature/Ranger/policy/58/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy58-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "insert"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest58", "usersuper58"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/59/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/59/1.json b/src/test/feature/Ranger/policy/59/1.json
new file mode 100644
index 0000000..4027caa
--- /dev/null
+++ b/src/test/feature/Ranger/policy/59/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy59-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest59", "usersuper59"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/60/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/60/1.json b/src/test/feature/Ranger/policy/60/1.json
new file mode 100644
index 0000000..9c4b83b
--- /dev/null
+++ b/src/test/feature/Ranger/policy/60/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy60-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest60", "usersuper60"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/60/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/60/2.json b/src/test/feature/Ranger/policy/60/2.json
new file mode 100644
index 0000000..e303235
--- /dev/null
+++ b/src/test/feature/Ranger/policy/60/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy60-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest60", "usersuper60"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/61/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/61/1.json b/src/test/feature/Ranger/policy/61/1.json
new file mode 100644
index 0000000..b7d0f1d
--- /dev/null
+++ b/src/test/feature/Ranger/policy/61/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy61-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest61", "usersuper61"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/61/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/61/2.json b/src/test/feature/Ranger/policy/61/2.json
new file mode 100644
index 0000000..90a94b7
--- /dev/null
+++ b/src/test/feature/Ranger/policy/61/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy61-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest61", "usersuper61"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/61/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/61/3.json b/src/test/feature/Ranger/policy/61/3.json
new file mode 100644
index 0000000..c821708
--- /dev/null
+++ b/src/test/feature/Ranger/policy/61/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy61-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest61", "usersuper61"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["aaa"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/62/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/62/1.json b/src/test/feature/Ranger/policy/62/1.json
new file mode 100644
index 0000000..cca1e02
--- /dev/null
+++ b/src/test/feature/Ranger/policy/62/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy62-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest62", "usersuper62"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/63/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/63/1.json b/src/test/feature/Ranger/policy/63/1.json
new file mode 100644
index 0000000..e94dd01
--- /dev/null
+++ b/src/test/feature/Ranger/policy/63/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy63-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest63", "usersuper63"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["a"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/63/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/63/2.json b/src/test/feature/Ranger/policy/63/2.json
new file mode 100644
index 0000000..6d024fb
--- /dev/null
+++ b/src/test/feature/Ranger/policy/63/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy63-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest63", "usersuper63"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["aaa"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/63/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/63/3.json b/src/test/feature/Ranger/policy/63/3.json
new file mode 100644
index 0000000..f8a59ce
--- /dev/null
+++ b/src/test/feature/Ranger/policy/63/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy63-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest63", "usersuper63"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["aa"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/63/4.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/63/4.json b/src/test/feature/Ranger/policy/63/4.json
new file mode 100644
index 0000000..c2ad35c
--- /dev/null
+++ b/src/test/feature/Ranger/policy/63/4.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy63-4", "policyItems": [{"accesses": [{"isAllowed": true, "type": "select"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest63", "usersuper63"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["foo"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/64/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/64/1.json b/src/test/feature/Ranger/policy/64/1.json
new file mode 100644
index 0000000..e0940b2
--- /dev/null
+++ b/src/test/feature/Ranger/policy/64/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy64-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest64", "usersuper64"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/65/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/65/1.json b/src/test/feature/Ranger/policy/65/1.json
new file mode 100644
index 0000000..2ef62b1
--- /dev/null
+++ b/src/test/feature/Ranger/policy/65/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy65-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest65", "usersuper65"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/66/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/66/1.json b/src/test/feature/Ranger/policy/66/1.json
new file mode 100644
index 0000000..b52c605
--- /dev/null
+++ b/src/test/feature/Ranger/policy/66/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy66-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest66", "usersuper66"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/67/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/67/1.json b/src/test/feature/Ranger/policy/67/1.json
new file mode 100644
index 0000000..29c772e
--- /dev/null
+++ b/src/test/feature/Ranger/policy/67/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy67-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest67", "usersuper67"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/68/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/68/1.json b/src/test/feature/Ranger/policy/68/1.json
new file mode 100644
index 0000000..8edc1f6
--- /dev/null
+++ b/src/test/feature/Ranger/policy/68/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy68-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest68", "usersuper68"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/69/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/69/1.json b/src/test/feature/Ranger/policy/69/1.json
new file mode 100644
index 0000000..7957a1f
--- /dev/null
+++ b/src/test/feature/Ranger/policy/69/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy69-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest69", "usersuper69"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/7/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/7/1.json b/src/test/feature/Ranger/policy/7/1.json
new file mode 100644
index 0000000..8c69c62
--- /dev/null
+++ b/src/test/feature/Ranger/policy/7/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy7-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest7", "usersuper7"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/7/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/7/2.json b/src/test/feature/Ranger/policy/7/2.json
new file mode 100644
index 0000000..c879269
--- /dev/null
+++ b/src/test/feature/Ranger/policy/7/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy7-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest7", "usersuper7"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["normalize_si"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/7/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/7/3.json b/src/test/feature/Ranger/policy/7/3.json
new file mode 100644
index 0000000..d384993
--- /dev/null
+++ b/src/test/feature/Ranger/policy/7/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy7-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest7", "usersuper7"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "language": {"isExcludes": false, "isRecursive": false, "values": ["plpgsql"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/70/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/70/1.json b/src/test/feature/Ranger/policy/70/1.json
new file mode 100644
index 0000000..19ca24a
--- /dev/null
+++ b/src/test/feature/Ranger/policy/70/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy70-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest70", "usersuper70"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/71/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/71/1.json b/src/test/feature/Ranger/policy/71/1.json
new file mode 100644
index 0000000..bfcced4
--- /dev/null
+++ b/src/test/feature/Ranger/policy/71/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy71-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest71", "usersuper71"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/8/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/8/1.json b/src/test/feature/Ranger/policy/8/1.json
new file mode 100644
index 0000000..e6c41eb
--- /dev/null
+++ b/src/test/feature/Ranger/policy/8/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy8-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest8", "usersuper8"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/8/2.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/8/2.json b/src/test/feature/Ranger/policy/8/2.json
new file mode 100644
index 0000000..a200f7a
--- /dev/null
+++ b/src/test/feature/Ranger/policy/8/2.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy8-2", "policyItems": [{"accesses": [{"isAllowed": true, "type": "execute"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest8", "usersuper8"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "function": {"isExcludes": false, "isRecursive": false, "values": ["si_lt"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/8/3.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/8/3.json b/src/test/feature/Ranger/policy/8/3.json
new file mode 100644
index 0000000..6316f02
--- /dev/null
+++ b/src/test/feature/Ranger/policy/8/3.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy8-3", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest8", "usersuper8"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "language": {"isExcludes": false, "isRecursive": false, "values": ["plpgsql"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/policy/9/1.json
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/policy/9/1.json b/src/test/feature/Ranger/policy/9/1.json
new file mode 100644
index 0000000..7f08877
--- /dev/null
+++ b/src/test/feature/Ranger/policy/9/1.json
@@ -0,0 +1 @@
+{"allowExceptions": [], "denyExceptions": [], "denyPolicyItems": [], "description": "no description", "isAuditEnabled": true, "isEnabled": true, "name": "policy9-1", "policyItems": [{"accesses": [{"isAllowed": true, "type": "usage-schema"}, {"isAllowed": true, "type": "create"}], "conditions": [], "delegateAdmin": true, "groups": null, "users": ["usertest9", "usersuper9"]}], "resources": {"database": {"isExcludes": false, "isRecursive": false, "values": ["hawq_feature_test_db"]}, "schema": {"isExcludes": false, "isRecursive": false, "values": ["public"]}, "table": {"isExcludes": false, "isRecursive": false, "values": ["*"]}}, "service": "hawq", "version": 1}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/rangerpolicy.py
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/rangerpolicy.py b/src/test/feature/Ranger/rangerpolicy.py
new file mode 100644
index 0000000..035ed14
--- /dev/null
+++ b/src/test/feature/Ranger/rangerpolicy.py
@@ -0,0 +1,100 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import sys
+import urllib2, base64
+import json
+
+from optparse import OptionParser
+from rangerrest import RangerRestHelper
+
+
+def foo_callback(option, opt, value, parser):
+  setattr(parser.values, option.dest, value.split(','))
+
+def option_parser():
+    '''option parser'''
+    parser = OptionParser()
+    parser.remove_option('-h')
+    parser.add_option('-?', '--help', action='help')
+    parser.add_option('-h', '--host', dest="host", help='host of the ranger server', \
+                      default='localhost')
+    parser.add_option('-p', '--port', dest="port", \
+                      help='port of the ranger server', type='int', default=6080)
+    parser.add_option('-U', '--rangeruser', dest="rangerusername", default='admin', \
+                      help='ranger username')
+    parser.add_option('-w', '--rangerpassword', dest="rangerpassword", \
+                      default='admin', help='ranger password')
+    parser.add_option('-d', '--detelepolicy', dest="deletedpolicyname",\
+                      default= '', help='delete a policy in ranger')
+    parser.add_option('-a', '--addpolicy', dest="newpolicyfilename", \
+                      default = '', help='add a policy in ranger by json file')
+    return parser
+
+def create_policy(policy_json_file_name, rangerhelper):
+    if policy_json_file_name != '':
+        jsonfile = open(policy_json_file_name, "r")
+        json_decode=json.load(jsonfile)
+        policyname = json_decode['name']
+        #print json_decode
+        response, is_success = rangerhelper.create_policy(json.dumps(json_decode))
+        
+        # is there is a duplicate policy error, we try to update policy.
+        if is_success == False:
+            #get duplicate policy name
+            policy_start_pos = response.find("policy-name=[")
+            response = response[policy_start_pos+13:]
+            policy_end_pos = response.find("], service=[")
+            dup_policy_name = response[0:policy_end_pos]
+            
+            #get dupulicate policy and add privilege item.
+            service_name = 'hawq'
+            print dup_policy_name;
+            response, is_success = rangerhelper.get_policy(service_name, dup_policy_name);
+            response_dict = json.load(response)
+            for new_policy_item in json_decode['policyItems']:
+                response_dict["policyItems"].append(new_policy_item)
+            rangerhelper.update_policy(service_name, dup_policy_name, \
+                                    json.dumps(response_dict));
+        return policyname
+
+def delete_policy(delete_policy_name, rangerhelper):
+    rangerhelper.delete_policy("hawq", delete_policy_name);
+    
+    
+if __name__ == '__main__':
+    #parse argument
+    parser = option_parser()
+    (options, args) = parser.parse_args()
+    rangeruser = options.rangerusername
+    rangerpasswd= options.rangerpassword
+    host = options.host
+    port = str(options.port)
+    new_policy_json_file_name = options.newpolicyfilename
+    delete_policy_name = options.deletedpolicyname
+    
+    #init rangerresthelper
+    helper = RangerRestHelper(host, port, rangeruser, rangerpasswd);
+    
+    if new_policy_json_file_name != "":
+        policyname = create_policy(new_policy_json_file_name, helper)
+        print "policy {} created".format(policyname)
+        
+    if delete_policy_name != "":
+        delete_policy(delete_policy_name, helper)
+        print "policy {} deleted".format(delete_policy_name)

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/rangerrest.py
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/rangerrest.py b/src/test/feature/Ranger/rangerrest.py
new file mode 100644
index 0000000..851cdd8
--- /dev/null
+++ b/src/test/feature/Ranger/rangerrest.py
@@ -0,0 +1,86 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import sys
+import urllib2, base64
+import json
+
+class RangerRestHelper(object):
+    def __init__(self, host, port, user, passwd):
+        self.host = host
+        self.port = port
+        self.user = user
+        self.passwd= passwd
+        
+    def _send_request(self, url, method, jsondata=''):
+        try:
+            request = urllib2.Request(url)  
+            if method != "DELETE":
+                request.add_header("Content-Type",'application/json')  
+            request.add_header("Accept", 'application/json')
+            #request.add_header("Content-Type",'application/json')
+            base64string = base64.b64encode('%s:%s' % (self.user, self.passwd))
+            request.add_header("Authorization", "Basic %s" % base64string) 
+            request.get_method = lambda: method 
+            if jsondata != '':
+                request.add_data(jsondata)   
+            ret = urllib2.urlopen(request)
+            return ret, True
+        except urllib2.HTTPError, e:
+            if e.code == 400 and e.reason == "Bad Request":
+                error_message = e.read()
+                print error_message
+                return error_message, False
+    
+    def get_policy(self, service_name, policy_name):
+        url = 'http://' + self.host + ':' + self.port + '/service/public/v2/api/service/' + \
+            service_name +'/policy/' + policy_name
+        return self._send_request(url, 'GET')
+    
+    def update_policy(self, service_name, policy_name, policy_info):
+        url = 'http://' + self.host + ':' + self.port + '/service/public/v2/api/service/' + \
+            service_name +'/policy/' + policy_name
+        return self._send_request(url, 'PUT', policy_info)
+    
+    def create_policy(self, policy_info):
+        url = 'http://' + self.host + ':' + self.port + '/service/public/v2/api/policy'
+        return self._send_request(url, 'POST', policy_info)
+    
+    def delete_policy(self, service_name, policy_name):
+        
+        url = 'http://' + self.host + ':' + self.port + \
+              '/service/public/v2/api/policy?servicename=' + \
+              service_name +'&policyname=' + policy_name
+        return self._send_request(url, 'DELETE')
+    
+    def get_user(self):
+        url = 'http://' + self.host + ':' + self.port + '/service/users'
+        return self._send_request(url, 'GET')
+    
+    # create secure user may not work currently
+    def create_secure_user(self, user_info):
+        url = 'http://' + self.host+ ':' + self.port + '/service/xusers/secure/users'
+        return self._send_request(url, 'POST', user_info)
+    
+    def create_user_without_login(self, user_info):
+        url = 'http://' + self.host+ ':' + self.port + '/service/xusers/users'
+        return self._send_request(url, 'POST', user_info)
+
+    def delete_user(self, user):
+        url = 'http://' + self.host+ ':' + self.port + '/service/xusers/users'
+        return self._send_request(url, 'DELETE')

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/rangeruser.py
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/rangeruser.py b/src/test/feature/Ranger/rangeruser.py
new file mode 100644
index 0000000..b1970a1
--- /dev/null
+++ b/src/test/feature/Ranger/rangeruser.py
@@ -0,0 +1,117 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import sys
+import urllib2, base64
+import json
+
+from optparse import OptionParser
+from rangerrest import RangerRestHelper
+
+
+def foo_callback(option, opt, value, parser):
+  setattr(parser.values, option.dest, value.split(','))
+
+def option_parser():
+    '''option parser'''
+    parser = OptionParser()
+    parser.remove_option('-h')
+    parser.add_option('-?', '--help', action='help')
+    parser.add_option('-h', '--host', dest="host", help='host of the ranger server', \
+                      default='localhost')
+    parser.add_option('-p', '--port', dest="port", \
+                      help='port of the ranger server', type='int', default=6080)
+    parser.add_option('-U', '--rangeruser', dest="rangerusername", default='admin', \
+                      help='ranger username')
+    parser.add_option('-w', '--rangerpassword', dest="rangerpassword", \
+                      default='admin', help='ranger password')
+    parser.add_option('-f', '--full', action="store_true", dest="fullprivilege", \
+                      default=False, help='also add full privilege for user')
+    parser.add_option('-u', '--user', dest="users", type='string',\
+                      action='callback', callback=foo_callback, \
+                      help='the ranger user list to be added')
+    parser.add_option('-d', '--deteleuser', dest="deleteduserame",\
+                      type='string', action='callback', \
+                      callback=foo_callback, help='delete a user in ranger')
+    return parser
+
+
+def delete_user(uname, rangerhelper):
+    rangerhelper.delete_user_without_login(uname);
+    
+def add_user(uname, rangerhelper):
+    userSuper = json.dumps({ "name":uname, "firstName":"super", \
+                            "lastName": "", "loginId": uname, \
+                            "emailAddress" : None, "description" : uname\
+                            , "password" : uname, "groupIdList":[2,12], \
+                            "status":1, "isVisible":1, "userRoleList": \
+                            ["ROLE_SYS_ADMIN"], "userSource": 1 }) 
+    rangerhelper.create_user_without_login(userSuper);
+    
+def add_full_privilege_for_user(uname, policy_names, rangerhelper):
+    
+    service_name = 'hawq'
+    for policy_name in policy_names:
+        response, is_success = rangerhelper.get_policy(service_name, policy_name);
+        response_dict = json.load(response)
+        for pitem in response_dict["policyItems"]:
+            pitem['users'].append(uname)
+        rangerhelper.update_policy(service_name, policy_name, \
+                                json.dumps(response_dict));
+    return True
+
+if __name__ == '__main__':
+    parser = option_parser()
+
+    (options, args) = parser.parse_args()
+
+
+    rangeruser = options.rangerusername
+    rangerpasswd= options.rangerpassword
+    host = options.host
+    port = str(options.port)
+    add_full_privilege = options.fullprivilege
+
+    schema_policy_name = urllib2.quote('all - database, schema, function')
+    table_policy_name = urllib2.quote('all - database, schema, table')
+    language_policy_name = urllib2.quote('all - database, language')
+    protocol_policy_name = urllib2.quote('all - protocol')
+    sequence_policy_name = urllib2.quote('all - database, schema, sequence')
+    tablespae_policy_name = urllib2.quote('all - tablespace')
+    policy_names = [schema_policy_name, table_policy_name, \
+                    language_policy_name, protocol_policy_name, \
+                    sequence_policy_name, tablespae_policy_name]
+    
+    helper = RangerRestHelper(host, port, rangeruser, rangerpasswd);
+    #unames = ["super", "superuser"]
+    unames = options.users
+    deletedunames = options.deleteduserame
+    if deletedunames:
+        for user in deletedunames:
+            delete_user(user, helper)
+            print 'user {} is added'.format(user)
+    elif add_full_privilege:
+        for user in unames:
+            add_user(user, helper)
+            add_full_privilege_for_user(user, policy_names, helper)
+            print 'user {} complete'.format(user)
+    else:
+        for user in unames:
+            add_user(user, helper)
+            print 'user {} is added'.format(user)
+        

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/1.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/1.sql b/src/test/feature/Ranger/sql/admin/1.sql
new file mode 100644
index 0000000..a508bec
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/1.sql
@@ -0,0 +1,2 @@
+create table a(i int);
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/10.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/10.sql b/src/test/feature/Ranger/sql/admin/10.sql
new file mode 100644
index 0000000..ab831f1
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/10.sql
@@ -0,0 +1,2 @@
+CREATE OR REPLACE FUNCTION si_same(text, text) RETURNS int AS $$ BEGIN IF normalize_si($1) < normalize_si($2) THEN RETURN -1; END IF; END; $$ LANGUAGE 'plpgsql' IMMUTABLE;
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/11.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/11.sql b/src/test/feature/Ranger/sql/admin/11.sql
new file mode 100644
index 0000000..490fd37
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/11.sql
@@ -0,0 +1,2 @@
+CREATE OPERATOR CLASS sva_special_ops FOR TYPE text USING btree AS OPERATOR 1 <#, FUNCTION 1 si_same(text, text);
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/12.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/12.sql b/src/test/feature/Ranger/sql/admin/12.sql
new file mode 100644
index 0000000..8c5798f
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/12.sql
@@ -0,0 +1,2 @@
+drop OPERATOR CLASS sva_special_ops USING btree;
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/13.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/13.sql b/src/test/feature/Ranger/sql/admin/13.sql
new file mode 100644
index 0000000..2e0c9fe
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/13.sql
@@ -0,0 +1,2 @@
+drop OPERATOR <# (text,text) CASCADE;
+

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/12089267/src/test/feature/Ranger/sql/admin/14.sql
----------------------------------------------------------------------
diff --git a/src/test/feature/Ranger/sql/admin/14.sql b/src/test/feature/Ranger/sql/admin/14.sql
new file mode 100644
index 0000000..6218b4a
--- /dev/null
+++ b/src/test/feature/Ranger/sql/admin/14.sql
@@ -0,0 +1,2 @@
+drop FUNCTION si_same(text, text);
+



Mime
View raw message