@Override
public void runTestAsSubject() throws Exception {
String requestorUserName = ADMIN_USER;
Set<String> requestorUserGroupNames = Sets.newHashSet(ADMIN_GROUP);
String roleName = "admin_testdb";
String groupName = "group1";
setLocalGroupMapping(requestorUserName, requestorUserGroupNames);
writePolicyFile();
client.dropRoleIfExists(requestorUserName, roleName);
client.createRole(requestorUserName, roleName);
Set<TSentryRole> roles = client.listRoles(requestorUserName);
assertEquals("Incorrect number of roles", 1, roles.size());
client.grantRoleToGroup(requestorUserName, groupName, roleName);
Set<TSentryRole> groupRoles = client.listRolesByGroupName(requestorUserName, groupName);
assertTrue(groupRoles.size() == 1);
for (TSentryRole role:groupRoles) {
assertTrue(role.getRoleName(), role.getRoleName().equalsIgnoreCase(roleName));
assertTrue(role.getGroups().size() == 1);
for (TSentryGroup group :role.getGroups()) {
assertTrue(group.getGroupName(), group.getGroupName().equalsIgnoreCase(groupName));
}
}
client.dropRole(requestorUserName, roleName);
}});
}