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 @@
</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>
......@@ -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 =
......@@ -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;
}
......@@ -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",
......@@ -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);
}
}
}
......
......@@ -185,11 +185,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
{
......@@ -501,7 +513,7 @@ public class LdapGroupDAOTest
}
});
Subject.doAs(daoTestUser2Subject, new PrivilegedExceptionAction<Object>()
Subject.doAs(daoTestUser1Subject, new PrivilegedExceptionAction<Object>()
{
public Object run() throws Exception
{
......@@ -863,12 +875,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());
......@@ -876,6 +890,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())
{
......
......@@ -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)
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment