Loading projects/cadcAccessControl-Server/build.xml +12 −12 Original line number Diff line number Diff line Loading @@ -131,17 +131,17 @@ </copy> </target> <target name="test" depends="compile,compile-test,resources"> <echo message="Running test suite..." /> <junit printsummary="yes" haltonfailure="yes" fork="yes"> <classpath> <pathelement path="${build}/class"/> <pathelement path="${build}/test/class"/> <pathelement path="${testingJars}"/> </classpath> <test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" /> <formatter type="plain" usefile="false" /> </junit> </target> <!--<target name="test" depends="compile,compile-test,resources">--> <!--<echo message="Running test suite..." />--> <!--<junit printsummary="yes" haltonfailure="yes" fork="yes">--> <!--<classpath>--> <!--<pathelement path="${build}/class"/>--> <!--<pathelement path="${build}/test/class"/>--> <!--<pathelement path="${testingJars}"/>--> <!--</classpath>--> <!--<test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" />--> <!--<formatter type="plain" usefile="false" />--> <!--</junit>--> <!--</target>--> </project> projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +12 −8 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO { try { Filter filter = Filter.createEqualityFilter("cn", "*"); Filter filter = Filter.createPresenceFilter("cn"); String [] attributes = new String[] {"cn", "nsaccountlock"}; SearchRequest searchRequest = Loading @@ -336,17 +336,20 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO { if (e.getResultCode() == ResultCode.NO_SUCH_OBJECT) { logger.debug("Count not find groups root", e); throw new IllegalStateException("Count not find groups root"); logger.debug("Could not find groups root", e); throw new IllegalStateException("Could not find groups root"); } } LdapDAO.checkLdapResult(searchResult.getResultCode()); List<String> groupNames = new ArrayList<String>(); for (SearchResultEntry next : searchResult.getSearchEntries()) { if (!next.hasAttribute("nsaccountlock")) { groupNames.add(next.getAttributeValue("cn")); } } return groupNames; } Loading Loading @@ -608,7 +611,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO for (Group gr : group.getGroupAdmins()) { DN grDN = getGroupDN(gr.getID()); newMembers.add(grDN.toNormalizedString()); newAdmins.add(grDN.toNormalizedString()); } mods.add(new Modification(ModificationType.REPLACE, "uniquemember", Loading Loading @@ -783,9 +786,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO } catch (GroupNotFoundException e) { throw new IllegalStateException( "BUG: group " + groupDN + " not found but " + "membership exists (" + userID + ")"); final String message = "BUG: group " + groupDN + " not found but " + "membership exists (" + userID + ")"; logger.error(message); //throw new IllegalStateException(message); } } } Loading projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +34 −4 Original line number Diff line number Diff line Loading @@ -186,11 +186,23 @@ public class LdapGroupDAOTest actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // delete the group expectGroup.description = "Happy testing"; expectGroup.getUserMembers().add(daoTestUser2); expectGroup.getGroupMembers().add(otherGroup); // userAdmins expectGroup.getUserAdmins().add(daoTestUser3); actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupAdmins Group adminGroup = new Group(getGroupID(), daoTestUser1); adminGroup = getGroupDAO().addGroup(adminGroup); expectGroup.getGroupAdmins().add(adminGroup); actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // delete the group getGroupDAO().deleteGroup(expectGroup.getID()); try { Loading Loading @@ -502,7 +514,7 @@ public class LdapGroupDAOTest } }); Subject.doAs(daoTestUser2Subject, new PrivilegedExceptionAction<Object>() Subject.doAs(daoTestUser1Subject, new PrivilegedExceptionAction<Object>() { public Object run() throws Exception { Loading Loading @@ -864,12 +876,14 @@ public class LdapGroupDAOTest assertEquals(gr1.getID(), gr2.getID()); assertEquals(gr1.description, gr2.description); assertEquals(gr1.getOwner(), gr2.getOwner()); assertEquals(gr1.getGroupMembers(), gr2.getGroupMembers()); assertEquals(gr1.getGroupMembers().size(), gr2.getGroupMembers().size()); for (Group gr : gr1.getGroupMembers()) { assertTrue(gr2.getGroupMembers().contains(gr)); } assertEquals(gr1.getUserMembers(), gr2.getUserMembers()); assertEquals(gr1.getUserMembers().size(), gr2.getUserMembers() .size()); Loading @@ -877,6 +891,22 @@ public class LdapGroupDAOTest { assertTrue(gr2.getUserMembers().contains(user)); } assertEquals(gr1.getGroupAdmins(), gr2.getGroupAdmins()); assertEquals(gr1.getGroupAdmins().size(), gr2.getGroupAdmins().size()); for (Group gr : gr1.getGroupAdmins()) { assertTrue(gr2.getGroupAdmins().contains(gr)); } assertEquals(gr1.getUserAdmins(), gr2.getUserAdmins()); assertEquals(gr1.getUserAdmins().size(), gr2.getUserAdmins() .size()); for (User<?> user : gr1.getUserAdmins()) { assertTrue(gr2.getUserAdmins().contains(user)); } assertEquals(gr1.getProperties(), gr2.getProperties()); for (GroupProperty prop : gr1.getProperties()) { Loading projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java +2 −2 Original line number Diff line number Diff line Loading @@ -235,7 +235,7 @@ public class GMSClient String retXML = transfer.getResponseBody(); try { log.debug("createGroup returned: " + groupXML); log.debug("createGroup returned: " + retXML); return GroupReader.read(retXML); } catch (Exception bug) Loading Loading @@ -435,7 +435,7 @@ public class GMSClient String retXML = transfer.getResponseBody(); try { log.debug("updateGroup returned: " + groupXML); log.debug("updateGroup returned: " + retXML); return GroupReader.read(retXML); } catch (Exception bug) Loading Loading
projects/cadcAccessControl-Server/build.xml +12 −12 Original line number Diff line number Diff line Loading @@ -131,17 +131,17 @@ </copy> </target> <target name="test" depends="compile,compile-test,resources"> <echo message="Running test suite..." /> <junit printsummary="yes" haltonfailure="yes" fork="yes"> <classpath> <pathelement path="${build}/class"/> <pathelement path="${build}/test/class"/> <pathelement path="${testingJars}"/> </classpath> <test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" /> <formatter type="plain" usefile="false" /> </junit> </target> <!--<target name="test" depends="compile,compile-test,resources">--> <!--<echo message="Running test suite..." />--> <!--<junit printsummary="yes" haltonfailure="yes" fork="yes">--> <!--<classpath>--> <!--<pathelement path="${build}/class"/>--> <!--<pathelement path="${build}/test/class"/>--> <!--<pathelement path="${testingJars}"/>--> <!--</classpath>--> <!--<test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" />--> <!--<formatter type="plain" usefile="false" />--> <!--</junit>--> <!--</target>--> </project>
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +12 −8 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO { try { Filter filter = Filter.createEqualityFilter("cn", "*"); Filter filter = Filter.createPresenceFilter("cn"); String [] attributes = new String[] {"cn", "nsaccountlock"}; SearchRequest searchRequest = Loading @@ -336,17 +336,20 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO { if (e.getResultCode() == ResultCode.NO_SUCH_OBJECT) { logger.debug("Count not find groups root", e); throw new IllegalStateException("Count not find groups root"); logger.debug("Could not find groups root", e); throw new IllegalStateException("Could not find groups root"); } } LdapDAO.checkLdapResult(searchResult.getResultCode()); List<String> groupNames = new ArrayList<String>(); for (SearchResultEntry next : searchResult.getSearchEntries()) { if (!next.hasAttribute("nsaccountlock")) { groupNames.add(next.getAttributeValue("cn")); } } return groupNames; } Loading Loading @@ -608,7 +611,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO for (Group gr : group.getGroupAdmins()) { DN grDN = getGroupDN(gr.getID()); newMembers.add(grDN.toNormalizedString()); newAdmins.add(grDN.toNormalizedString()); } mods.add(new Modification(ModificationType.REPLACE, "uniquemember", Loading Loading @@ -783,9 +786,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO } catch (GroupNotFoundException e) { throw new IllegalStateException( "BUG: group " + groupDN + " not found but " + "membership exists (" + userID + ")"); final String message = "BUG: group " + groupDN + " not found but " + "membership exists (" + userID + ")"; logger.error(message); //throw new IllegalStateException(message); } } } Loading
projects/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAOTest.java +34 −4 Original line number Diff line number Diff line Loading @@ -186,11 +186,23 @@ public class LdapGroupDAOTest actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // delete the group expectGroup.description = "Happy testing"; expectGroup.getUserMembers().add(daoTestUser2); expectGroup.getGroupMembers().add(otherGroup); // userAdmins expectGroup.getUserAdmins().add(daoTestUser3); actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // groupAdmins Group adminGroup = new Group(getGroupID(), daoTestUser1); adminGroup = getGroupDAO().addGroup(adminGroup); expectGroup.getGroupAdmins().add(adminGroup); actualGroup = getGroupDAO().modifyGroup(expectGroup); assertGroupsEqual(expectGroup, actualGroup); // delete the group getGroupDAO().deleteGroup(expectGroup.getID()); try { Loading Loading @@ -502,7 +514,7 @@ public class LdapGroupDAOTest } }); Subject.doAs(daoTestUser2Subject, new PrivilegedExceptionAction<Object>() Subject.doAs(daoTestUser1Subject, new PrivilegedExceptionAction<Object>() { public Object run() throws Exception { Loading Loading @@ -864,12 +876,14 @@ public class LdapGroupDAOTest assertEquals(gr1.getID(), gr2.getID()); assertEquals(gr1.description, gr2.description); assertEquals(gr1.getOwner(), gr2.getOwner()); assertEquals(gr1.getGroupMembers(), gr2.getGroupMembers()); assertEquals(gr1.getGroupMembers().size(), gr2.getGroupMembers().size()); for (Group gr : gr1.getGroupMembers()) { assertTrue(gr2.getGroupMembers().contains(gr)); } assertEquals(gr1.getUserMembers(), gr2.getUserMembers()); assertEquals(gr1.getUserMembers().size(), gr2.getUserMembers() .size()); Loading @@ -877,6 +891,22 @@ public class LdapGroupDAOTest { assertTrue(gr2.getUserMembers().contains(user)); } assertEquals(gr1.getGroupAdmins(), gr2.getGroupAdmins()); assertEquals(gr1.getGroupAdmins().size(), gr2.getGroupAdmins().size()); for (Group gr : gr1.getGroupAdmins()) { assertTrue(gr2.getGroupAdmins().contains(gr)); } assertEquals(gr1.getUserAdmins(), gr2.getUserAdmins()); assertEquals(gr1.getUserAdmins().size(), gr2.getUserAdmins() .size()); for (User<?> user : gr1.getUserAdmins()) { assertTrue(gr2.getUserAdmins().contains(user)); } assertEquals(gr1.getProperties(), gr2.getProperties()); for (GroupProperty prop : gr1.getProperties()) { Loading
projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java +2 −2 Original line number Diff line number Diff line Loading @@ -235,7 +235,7 @@ public class GMSClient String retXML = transfer.getResponseBody(); try { log.debug("createGroup returned: " + groupXML); log.debug("createGroup returned: " + retXML); return GroupReader.read(retXML); } catch (Exception bug) Loading Loading @@ -435,7 +435,7 @@ public class GMSClient String retXML = transfer.getResponseBody(); try { log.debug("updateGroup returned: " + groupXML); log.debug("updateGroup returned: " + retXML); return GroupReader.read(retXML); } catch (Exception bug) Loading