Skip to content
Snippets Groups Projects
Commit f242ef77 authored by Adrian Damian's avatar Adrian Damian
Browse files

Filter out deleted groups from members or admins in getGroup

parent ba4efbce
No related branches found
No related tags found
No related merge requests found
......@@ -535,8 +535,18 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
else if (memberDN.isDescendantOf(config.getGroupsDN(),
false))
{
ldapGroup.getGroupMembers().add(new Group(
memberDN.getRDNString().replace("cn=", "")));
try
{
String memberGroupID =
memberDN.getRDNString().replace("cn=", "");
ldapGroup.getGroupMembers().
add(getGroup(memberGroupID));
}
catch(GroupNotFoundException e)
{
// ignore as we are not cleaning up
// deleted groups from the group members
}
}
else
{
......
......@@ -266,8 +266,24 @@ public class LdapGroupDAOTest extends AbstractLdapDAOTest
actualGroup = getGroupDAO().getGroup(expectGroup.getID());
assertGroupsEqual(expectGroup, actualGroup);
// create another group and make expected group
// member of that group. Delete expected group after
Group expectGroup2 = new Group(getGroupID(), daoTestUser1);
expectGroup2.getGroupAdmins().add(expectGroup);
expectGroup2.getGroupMembers().add(expectGroup);
Group actualGroup2 = getGroupDAO().addGroup(expectGroup2);
log.debug("addGroup: " + expectGroup2.getID());
assertGroupsEqual(expectGroup2, actualGroup2);
// delete the group
getGroupDAO().deleteGroup(expectGroup.getID());
// now expectGroup should not be member of admin of
// expectGroup2
expectGroup2.getGroupAdmins().remove(expectGroup);
expectGroup2.getGroupMembers().remove(expectGroup);
actualGroup2 = getGroupDAO().getGroup(expectGroup2.getID());
log.debug("addGroup: " + expectGroup2.getID());
assertGroupsEqual(expectGroup2, actualGroup2);
return null;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment