@Test
public void testAddDeleteRoleToGroups() throws Exception {
String role1 = "r1", role2 = "r2";
Set<String> twoGroups = Sets.newHashSet("g1", "g2");
Set<String> oneGroup = Sets.newHashSet("g3");
String grantor = "grantor";
sentryStore.createRole(SEARCH, role1, grantor);
sentryStore.createRole(SEARCH, role2, grantor);
sentryStore.alterRoleAddGroups(SEARCH, role1, twoGroups, grantor);
assertEquals(twoGroups, sentryStore.getGroupsByRoles(SEARCH,Sets.newHashSet(role1)));
assertEquals(Sets.newHashSet(role1), sentryStore.getRolesByGroups(SEARCH, twoGroups));
sentryStore.alterRoleAddGroups(SEARCH, role2, oneGroup, grantor);
assertEquals(oneGroup, sentryStore.getGroupsByRoles(SEARCH, Sets.newHashSet(role2)));
sentryStore.alterRoleDeleteGroups(SEARCH, role1, Sets.newHashSet("g1"), grantor);
assertEquals(Sets.newHashSet("g2"), sentryStore.getGroupsByRoles(SEARCH, Sets.newHashSet(role1)));
sentryStore.alterRoleDeleteGroups(SEARCH, role2, oneGroup, grantor);
assertEquals(Sets.newHashSet(), sentryStore.getGroupsByRoles(SEARCH, Sets.newHashSet(role2)));
}