privileges = sentryClient.listPrivilegesByRoleName(subject, principalName, null); } else { SentryHivePrivilegeObjectDesc privSubjectDesc = toSentryHivePrivilegeObjectDesc(hiveObjectDesc); ImmutableSet.Builder<TSentryPrivilege> pbuilder = new ImmutableSet.Builder<TSentryPrivilege>(); for (List<Authorizable> p : ps) { pbuilder.addAll(sentryClient.listPrivilegesByRoleName(subject, principalName, p)); privileges = sentryClient.listPrivilegesByRoleName(subject, principalName, authorizableHeirarchy);
client.grantTablePrivilege(requestorUserName, roleName2, "server", "db3", "table5", "ALL"); Set<TSentryPrivilege> listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, null); assertEquals("Privilege not assigned to role2 !!", 5, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, new ArrayList<Authorizable>()); assertEquals("Privilege not assigned to role2 !!", 5, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db1"))); assertEquals("Privilege not assigned to role2 !!", 2, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db2"), new Table("table1"))); assertEquals("Privilege not assigned to role2 !!", 0, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db1"), new Table("table1"))); assertEquals("Privilege not assigned to role2 !!", 1, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db3"))); assertEquals("Privilege not assigned to role2 !!", 1, listPrivilegesByRoleName.size());
client.grantTablePrivilege(requestorUserName, roleName2, "server", "db3", "table5", "ALL"); Set<TSentryPrivilege> listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db1"))); assertEquals("Privilege not assigned to role2 !!", 2, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db2"), new Table("table1"))); assertEquals("Privilege not assigned to role2 !!", 0, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db1"), new Table("table1"))); assertEquals("Privilege not assigned to role2 !!", 1, listPrivilegesByRoleName.size()); listPrivilegesByRoleName = client.listPrivilegesByRoleName(requestorUserName, roleName2, Lists.newArrayList(new Server("server"), new Database("db3"))); assertEquals("Privilege not assigned to role2 !!", 1, listPrivilegesByRoleName.size());