diff --git a/test/unit/org/apache/cassandra/auth/GrantAndRevokeTest.java b/test/unit/org/apache/cassandra/auth/GrantAndRevokeTest.java index 7b8a4cfb7777..44abc7080588 100644 --- a/test/unit/org/apache/cassandra/auth/GrantAndRevokeTest.java +++ b/test/unit/org/apache/cassandra/auth/GrantAndRevokeTest.java @@ -577,6 +577,46 @@ public void testGrantOnVirtualKeyspaces() throws Throwable executeNet(ProtocolVersion.CURRENT, format("REVOKE SELECT PERMISSION ON KEYSPACE system_views FROM %s", user)); } + @Test + public void testCheckPermissionsAfterAuthorize() throws Throwable + { + useSuperUser(); + + executeNet("CREATE KEYSPACE check_permissions WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}"); + executeNet("CREATE TABLE check_permissions.t1 (k int PRIMARY KEY)"); + executeNet("INSERT INTO check_permissions.t1 (k) VALUES (1)"); + + executeNet(String.format("CREATE ROLE %s WITH LOGIN = TRUE AND password='%s'", user, pass)); + + final String simple_user = "simple_user"; + executeNet(String.format("CREATE ROLE %s WITH LOGIN = TRUE AND password='%s'", simple_user, simple_user)); + executeNet("GRANT AUTHORIZE ON check_permissions.t1 TO " + simple_user); + + useUser(user, pass); + assertUnauthorizedQuery("User user has no SELECT permission on