Skip to content
Snippets Groups Projects
Commit 2939acdb authored by Dustin Jenkins's avatar Dustin Jenkins
Browse files

Story 1734: Fix tests.

parent 2eebbfb7
No related branches found
No related tags found
No related merge requests found
......@@ -113,16 +113,19 @@
</target>
<!-- JAR files needed to run the test suite -->
<property name="json" value="${ext.lib}/json.jar"/>
<property name="easyMock" value="${ext.dev}/easymock.jar"/>
<property name="junit" value="${ext.dev}/junit.jar"/>
<property name="xmlunit" value="${ext.dev}/xmlunit.jar"/>
<property name="cglib" value="${ext.dev}/cglib.jar"/>
<property name="objenesis" value="${ext.dev}/objenesis.jar"/>
<property name="asm" value="${ext.dev}/asm.jar"/>
<property name="dev.junit" value="${ext.dev}/junit.jar"/>
<property name="dev.httpunit" value="${ext.dev}/httpunit.jar"/>
<property name="dev.easyMock" value="${ext.dev}/easymock.jar"/>
<property name="dev.objenesis" value="${ext.dev}/objenesis.jar"/>
<property name="dev.selenium.server"
value="${ext.dev}/selenium-server-standalone.jar" />
<property name="lib.js" value="${ext.lib}/js.jar"/>
<property name="lib.nekoHTML" value="${ext.lib}/nekohtml.jar"/>
<property name="lib.xerces" value="${ext.lib}/xerces.jar"/>
<property name="lib.commons-logging"
value="${ext.lib}/commons-logging.jar"/>
<property name="testingJars"
value="${jars}:${json}:${easyMock}:${junit}:${xmlunit}:${cglib}:${asm}:${objenesis}"/>
value="${lib.commons-logging}:${dev.junit}:${dev.httpunit}:${dev.easyMock}:${dev.selenium.server}:${dev.objenesis}:${lib.js}:${lib.nekoHTML}:${lib.xerces}"/>
<target name="setup-test">
<echo>******************</echo>
......
......@@ -268,7 +268,7 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
AddRequest addRequest = new AddRequest(userDN, attributes);
LDAPResult result = getConnection().add(addRequest);
LdapDAO.checkLdapResult(result.getResultCode());
// AD: Search results sometimes come incomplete if
// connection is not reset - not sure why.
getConnection().reconnect();
......@@ -307,6 +307,8 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
return getUser(userID, config.getUsersDN());
}
/**
* Get the user specified by userID.
*
......@@ -338,9 +340,12 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
new SearchRequest(usersDN, SearchScope.SUB,
searchField, userAttribs);
searchRequest.addControl(
new ProxiedAuthorizationV2RequestControl(
"dn:" + getSubjectDN().toNormalizedString()));
if (isSecure(usersDN))
{
searchRequest.addControl(
new ProxiedAuthorizationV2RequestControl(
"dn:" + getSubjectDN().toNormalizedString()));
}
searchResult = getConnection().searchForEntry(searchRequest);
}
......@@ -381,7 +386,18 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO
return user;
}
/**
* Obtain whether the given DN tree requires authentication.
*
* @param usersDN The usersDN to check.
* @return True if requires authentication, False otherwise.
*/
private boolean isSecure(final String usersDN)
{
return !usersDN.equals(config.getUserRequestsDN());
}
/**
* Get all group names.
*
......
......@@ -3,7 +3,7 @@ server = proc5-03.cadc.dao.nrc.ca
port = 636
proxyUser = webproxy
usersDn = ou=Users,ou=ds,dc=canfar,dc=net
userRequestsDN = ou=UserRequests,ou=ds,dc=canfar,dc=net
userRequestsDN = ou=UserRequests,ou=ds,dc=testcanfar
newUsersDn = ou=NewUsers,ou=ds,dc=canfar,dc=net
groupsDn = ou=Groups,ou=ds,dc=canfar,dc=net
adminGroupsDn = ou=adminGroups,ou=ds,dc=canfar,dc=net
\ No newline at end of file
......@@ -134,29 +134,14 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest
expected.getIdentities().add(new HttpPrincipal(getUserID()));
expected.details.add(new PersonalDetails("foo", "bar"));
final UserRequest userRequest = new UserRequest(expected, "123456");
final UserRequest<HttpPrincipal> userRequest =
new UserRequest<HttpPrincipal>(expected, "123456");
Subject subject = new Subject();
subject.getPrincipals().add(testUser.getUserID());
// do everything as owner
Subject.doAs(subject, new PrivilegedExceptionAction<Object>()
{
public Object run() throws Exception
{
try
{
User<? extends Principal> actual = getUserDAO().addUser(userRequest);
check(expected, actual);
return null;
}
catch (Exception e)
{
throw new Exception("Problems", e);
}
}
});
User<HttpPrincipal> actual = getUserDAO().addUser(userRequest);
check(expected, actual);
}
/**
......
......@@ -75,7 +75,8 @@ import ca.nrc.cadc.util.Log4jInit;
import java.security.Principal;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.easymock.EasyMock;
import static org.easymock.EasyMock.*;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
......@@ -103,12 +104,12 @@ public class AddGroupMemberActionTest
Group member = new Group("member", null);
group.getGroupMembers().add(member);
final GroupPersistence groupPersistence = EasyMock.createMock(GroupPersistence.class);
EasyMock.expect(groupPersistence.getGroup("group")).andReturn(group);
EasyMock.expect(groupPersistence.getGroup("member")).andReturn(member);
EasyMock.replay(groupPersistence);
final GroupPersistence groupPersistence = createMock(GroupPersistence.class);
expect(groupPersistence.getGroup("group")).andReturn(group);
expect(groupPersistence.getGroup("member")).andReturn(member);
replay(groupPersistence);
GroupLogInfo logInfo = EasyMock.createMock(GroupLogInfo.class);
GroupLogInfo logInfo = createMock(GroupLogInfo.class);
AddGroupMemberAction action = new AddGroupMemberAction(logInfo, "group", "member")
{
......@@ -142,15 +143,17 @@ public class AddGroupMemberActionTest
Group member = new Group("member", null);
Group modified = new Group("group", null);
modified.getGroupMembers().add(member);
final GroupPersistence groupPersistence =
createMock(GroupPersistence.class);
expect(groupPersistence.getGroup("group")).andReturn(group);
expect(groupPersistence.getGroup("member")).andReturn(member);
expect(groupPersistence.modifyGroup(group)).andReturn(modified);
replay(groupPersistence);
final GroupPersistence groupPersistence = EasyMock.createMock(GroupPersistence.class);
EasyMock.expect(groupPersistence.getGroup("group")).andReturn(group);
EasyMock.expect(groupPersistence.getGroup("member")).andReturn(member);
EasyMock.expect(groupPersistence.modifyGroup(group)).andReturn(modified);
EasyMock.replay(groupPersistence);
GroupLogInfo logInfo = EasyMock.createMock(GroupLogInfo.class);
GroupLogInfo logInfo = createMock(GroupLogInfo.class);
AddGroupMemberAction action = new AddGroupMemberAction(logInfo, "group", "member")
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment