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

Merge branch 's1711' of /srv/cadc/git/wopencadc into s1711

parents d64d22ff dd38d8db
No related branches found
No related tags found
No related merge requests found
...@@ -132,17 +132,17 @@ ...@@ -132,17 +132,17 @@
</copy> </copy>
</target> </target>
<target name="test" depends="compile,compile-test,resources"> <!--<target name="test" depends="compile,compile-test,resources">-->
<echo message="Running test suite..." /> <!--<echo message="Running test suite..." />-->
<junit printsummary="yes" haltonfailure="yes" fork="yes"> <!--<junit printsummary="yes" haltonfailure="yes" fork="yes">-->
<classpath> <!--<classpath>-->
<pathelement path="${build}/class"/> <!--<pathelement path="${build}/class"/>-->
<pathelement path="${build}/test/class"/> <!--<pathelement path="${build}/test/class"/>-->
<pathelement path="${testingJars}"/> <!--<pathelement path="${testingJars}"/>-->
</classpath> <!--</classpath>-->
<test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" /> <!--<test name="ca.nrc.cadc.ac.server.ldap.LdapGroupDAOTest" />-->
<formatter type="plain" usefile="false" /> <!--<formatter type="plain" usefile="false" />-->
</junit> <!--</junit>-->
</target> <!--</target>-->
</project> </project>
...@@ -320,7 +320,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO ...@@ -320,7 +320,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
{ {
try try
{ {
Filter filter = Filter.createEqualityFilter("cn", "*"); Filter filter = Filter.createPresenceFilter("cn");
String [] attributes = new String[] {"cn", "nsaccountlock"}; String [] attributes = new String[] {"cn", "nsaccountlock"};
SearchRequest searchRequest = SearchRequest searchRequest =
...@@ -336,8 +336,8 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO ...@@ -336,8 +336,8 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
{ {
if (e.getResultCode() == ResultCode.NO_SUCH_OBJECT) if (e.getResultCode() == ResultCode.NO_SUCH_OBJECT)
{ {
logger.debug("Count not find groups root", e); logger.debug("Could not find groups root", e);
throw new IllegalStateException("Count not find groups root"); throw new IllegalStateException("Could not find groups root");
} }
} }
...@@ -345,7 +345,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO ...@@ -345,7 +345,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
List<String> groupNames = new ArrayList<String>(); List<String> groupNames = new ArrayList<String>();
for (SearchResultEntry next : searchResult.getSearchEntries()) for (SearchResultEntry next : searchResult.getSearchEntries())
{ {
groupNames.add(next.getAttributeValue("cn")); if (!next.hasAttribute("nsaccountlock"))
{
groupNames.add(next.getAttributeValue("cn"));
}
} }
return groupNames; return groupNames;
...@@ -608,7 +611,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO ...@@ -608,7 +611,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
for (Group gr : group.getGroupAdmins()) for (Group gr : group.getGroupAdmins())
{ {
DN grDN = getGroupDN(gr.getID()); DN grDN = getGroupDN(gr.getID());
newMembers.add(grDN.toNormalizedString()); newAdmins.add(grDN.toNormalizedString());
} }
mods.add(new Modification(ModificationType.REPLACE, "uniquemember", mods.add(new Modification(ModificationType.REPLACE, "uniquemember",
...@@ -783,9 +786,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO ...@@ -783,9 +786,10 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
} }
catch (GroupNotFoundException e) catch (GroupNotFoundException e)
{ {
throw new IllegalStateException( final String message = "BUG: group " + groupDN + " not found but " +
"BUG: group " + groupDN + " not found but " + "membership exists (" + userID + ")";
"membership exists (" + userID + ")"); logger.error(message);
//throw new IllegalStateException(message);
} }
} }
} }
......
...@@ -184,12 +184,24 @@ public class LdapGroupDAOTest ...@@ -184,12 +184,24 @@ public class LdapGroupDAOTest
expectGroup.getGroupMembers().remove(otherGroup); expectGroup.getGroupMembers().remove(otherGroup);
actualGroup = getGroupDAO().modifyGroup(expectGroup); actualGroup = getGroupDAO().modifyGroup(expectGroup);
assertGroupsEqual(expectGroup, actualGroup); assertGroupsEqual(expectGroup, actualGroup);
// delete the group
expectGroup.description = "Happy testing"; expectGroup.description = "Happy testing";
expectGroup.getUserMembers().add(daoTestUser2); expectGroup.getUserMembers().add(daoTestUser2);
expectGroup.getGroupMembers().add(otherGroup); 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()); getGroupDAO().deleteGroup(expectGroup.getID());
try try
{ {
...@@ -501,7 +513,7 @@ public class LdapGroupDAOTest ...@@ -501,7 +513,7 @@ public class LdapGroupDAOTest
} }
}); });
Subject.doAs(daoTestUser2Subject, new PrivilegedExceptionAction<Object>() Subject.doAs(daoTestUser1Subject, new PrivilegedExceptionAction<Object>()
{ {
public Object run() throws Exception public Object run() throws Exception
{ {
...@@ -863,12 +875,14 @@ public class LdapGroupDAOTest ...@@ -863,12 +875,14 @@ public class LdapGroupDAOTest
assertEquals(gr1.getID(), gr2.getID()); assertEquals(gr1.getID(), gr2.getID());
assertEquals(gr1.description, gr2.description); assertEquals(gr1.description, gr2.description);
assertEquals(gr1.getOwner(), gr2.getOwner()); assertEquals(gr1.getOwner(), gr2.getOwner());
assertEquals(gr1.getGroupMembers(), gr2.getGroupMembers()); assertEquals(gr1.getGroupMembers(), gr2.getGroupMembers());
assertEquals(gr1.getGroupMembers().size(), gr2.getGroupMembers().size()); assertEquals(gr1.getGroupMembers().size(), gr2.getGroupMembers().size());
for (Group gr : gr1.getGroupMembers()) for (Group gr : gr1.getGroupMembers())
{ {
assertTrue(gr2.getGroupMembers().contains(gr)); assertTrue(gr2.getGroupMembers().contains(gr));
} }
assertEquals(gr1.getUserMembers(), gr2.getUserMembers()); assertEquals(gr1.getUserMembers(), gr2.getUserMembers());
assertEquals(gr1.getUserMembers().size(), gr2.getUserMembers() assertEquals(gr1.getUserMembers().size(), gr2.getUserMembers()
.size()); .size());
...@@ -876,6 +890,22 @@ public class LdapGroupDAOTest ...@@ -876,6 +890,22 @@ public class LdapGroupDAOTest
{ {
assertTrue(gr2.getUserMembers().contains(user)); 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()); assertEquals(gr1.getProperties(), gr2.getProperties());
for (GroupProperty prop : gr1.getProperties()) for (GroupProperty prop : gr1.getProperties())
{ {
......
...@@ -235,7 +235,7 @@ public class GMSClient ...@@ -235,7 +235,7 @@ public class GMSClient
String retXML = transfer.getResponseBody(); String retXML = transfer.getResponseBody();
try try
{ {
log.debug("createGroup returned: " + groupXML); log.debug("createGroup returned: " + retXML);
return GroupReader.read(retXML); return GroupReader.read(retXML);
} }
catch (Exception bug) catch (Exception bug)
...@@ -435,7 +435,7 @@ public class GMSClient ...@@ -435,7 +435,7 @@ public class GMSClient
String retXML = transfer.getResponseBody(); String retXML = transfer.getResponseBody();
try try
{ {
log.debug("updateGroup returned: " + groupXML); log.debug("updateGroup returned: " + retXML);
return GroupReader.read(retXML); return GroupReader.read(retXML);
} }
catch (Exception bug) catch (Exception bug)
......
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