Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +12 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +12 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading