@Override public void runTestAsSubject() throws Exception { String requestorUserName = ADMIN_USER; Set<String> requestorUserGroupNames = Sets.newHashSet(ADMIN_GROUP); setLocalGroupMapping(requestorUserName, requestorUserGroupNames); writePolicyFile(); String roleName = "admin_r1"; client.createRole(requestorUserName, roleName, SOLR); TSentryPrivilege queryPrivilege = new TSentryPrivilege(SOLR, "service1", fromAuthorizable(Arrays.asList(new Collection("c1"), new Field("f1"))), SolrConstants.QUERY); client.grantPrivilege(requestorUserName, roleName, SOLR, queryPrivilege); assertEquals(1, client.listPrivilegesByRoleName(requestorUserName, roleName, SOLR, "service1", Arrays.asList(new Collection("c1"), new Field("f1"))).size()); assertEquals(0, client.listPrivilegesByRoleName(requestorUserName, roleName, SOLR, "service1", Arrays.asList(new Collection("c2"), new Field("f2"))).size()); client.renamePrivilege(requestorUserName, SOLR, "service1", Arrays.asList(new Collection("c1"), new Field("f1")), Arrays.asList(new Collection("c2"), new Field("f2"))); assertEquals(0, client.listPrivilegesByRoleName(requestorUserName, roleName, SOLR, "service1", Arrays.asList(new Collection("c1"), new Field("f1"))).size()); assertEquals(1, client.listPrivilegesByRoleName(requestorUserName, roleName, SOLR, "service1", Arrays.asList(new Collection("c2"), new Field("f2"))).size()); TSentryPrivilege dropPrivilege = new TSentryPrivilege(SOLR, "service1", fromAuthorizable(Arrays.asList(new Collection("c2"), new Field("f2"))), SolrConstants.QUERY); client.dropPrivilege(requestorUserName, SOLR, dropPrivilege); assertEquals(0, client.listPrivilegesByRoleName(requestorUserName, roleName, SOLR, "service1", Arrays.asList(new Collection("c2"), new Field("f2"))).size()); }}); }