Repository: incubator-sentry
Updated Branches:
  refs/heads/master 37d8e8457 -> c7f7fa57a


SENTRY-221: Privilege scope is case sensitive (Sravya Tirukkovalur via Prasad 
Mujumdar)


Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/c7f7fa57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/c7f7fa57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/c7f7fa57

Branch: refs/heads/master
Commit: c7f7fa57aa406cd148f21c09d498b1468c1ce663
Parents: 37d8e84
Author: Prasad Mujumdar <[email protected]>
Authored: Wed May 21 00:51:29 2014 -0700
Committer: Prasad Mujumdar <[email protected]>
Committed: Wed May 21 00:51:29 2014 -0700

----------------------------------------------------------------------
 .../provider/db/service/persistent/SentryStore.java       |  3 ++-
 .../provider/db/service/persistent/TestSentryStore.java   | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c7f7fa57/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
----------------------------------------------------------------------
diff --git 
a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
 
b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
index 604dd64..cd71a58 100644
--- 
a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
+++ 
b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
@@ -401,7 +401,7 @@ public class SentryStore {
 
     // Validate privilege scope
     try {
-      scope = Enum.valueOf(PrivilegeScope.class, 
privilege.getPrivilegeScope());
+      scope = Enum.valueOf(PrivilegeScope.class, 
privilege.getPrivilegeScope().toUpperCase());
     } catch (IllegalArgumentException e) {
       throw new SentryInvalidInputException("Invalid Privilege scope: " +
           privilege.getPrivilegeScope());
@@ -470,6 +470,7 @@ public class SentryStore {
       } else {
         pm.retrieve(sentryRole);
         sentryRole.removePrivileges();
+
         pm.deletePersistent(sentryRole);
       }
       CommitContext commit = commitUpdateTransaction(pm);

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/c7f7fa57/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
----------------------------------------------------------------------
diff --git 
a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
 
b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
index 26bbf97..0d8e24f 100644
--- 
a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
+++ 
b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java
@@ -107,7 +107,15 @@ public class TestSentryStore {
       // expected
     }
   }
-
+  @Test
+  public void testCaseSensitiveScope() throws Exception {
+    String roleName = "role1";
+    String grantor = "g1";
+    long seqId = sentryStore.createSentryRole(roleName, 
grantor).getSequenceId();
+    TSentryPrivilege sentryPrivilege = new TSentryPrivilege("Database", 
"server1", "all");
+    sentryPrivilege.setDbName("db1");
+    assertEquals(seqId + 1, 
sentryStore.alterSentryRoleGrantPrivilege(roleName, 
sentryPrivilege).getSequenceId());
+  }
   @Test
   public void testCreateDropRole() throws Exception {
     String roleName = "test-drop-role";

Reply via email to