Skip to content
Snippets Groups Projects
Commit 619d1774 authored by Jeff Burke's avatar Jeff Burke
Browse files

t73024: added unit-test to try adding an existing user to userRequests

parent eaab184d
Branches
Tags
No related merge requests found
...@@ -131,52 +131,6 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest ...@@ -131,52 +131,6 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest
catch (IllegalArgumentException expected) {} catch (IllegalArgumentException expected) {}
} }
/**
* Test of addUser method, of class LdapUserDAO.
*/
@Test
public void testAddUserRequest() throws Exception
{
// add user using HttpPrincipal
String username = createUsername();
final HttpPrincipal userID = new HttpPrincipal(username);
final User testUser = new User();
testUser.getIdentities().add(userID);
testUser.personalDetails = new PersonalDetails("foo", "bar");
testUser.personalDetails.email = username + "@canada.ca";
final UserRequest userRequest = new UserRequest(testUser, "password".toCharArray());
DNPrincipal dnPrincipal = new DNPrincipal("uid=" + username + "," + config.getUsersDN());
Subject subject = new Subject();
subject.getPrincipals().add(dnPrincipal);
// do everything as owner
Subject.doAs(subject, new PrivilegedExceptionAction<Object>()
{
public Object run()
throws Exception
{
try
{
final LdapUserDAO userDAO = getUserDAO();
userDAO.addUserRequest(userRequest);
final User actual = userDAO.getUserRequest(userID);
check(testUser, actual);
return null;
}
catch (Exception e)
{
throw new Exception("Problems", e);
}
}
});
}
@Test @Test
public void testAddUser() throws Exception public void testAddUser() throws Exception
{ {
...@@ -220,23 +174,23 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest ...@@ -220,23 +174,23 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest
* Test of addUserRequest method, of class LdapUserDAO. * Test of addUserRequest method, of class LdapUserDAO.
*/ */
@Test @Test
public void testAddPendingUser() throws Exception public void testAddUserRequest() throws Exception
{ {
// add user using HttpPrincipal // add user using HttpPrincipal
final String username = createUsername(); final String username = createUsername();
final HttpPrincipal userID = new HttpPrincipal(username); final HttpPrincipal userID = new HttpPrincipal(username);
final User httpExpected = new User(); final User expectedUser = new User();
httpExpected.getIdentities().add(userID); expectedUser.getIdentities().add(userID);
PersonalDetails pd = new PersonalDetails("foo", "bar"); expectedUser.personalDetails = new PersonalDetails("foo", "bar");
pd.email = username + "@canada.ca"; expectedUser.personalDetails.email = username + "@canada.ca";
httpExpected.personalDetails = pd;
UserRequest userRequest = new UserRequest(httpExpected, "123456".toCharArray()); UserRequest userRequest = new UserRequest(expectedUser, "123456".toCharArray());
final LdapUserDAO httpUserDAO = getUserDAO(); // Adding a new user is done anonymously
httpUserDAO.addUserRequest(userRequest); final LdapUserDAO userDAO = getUserDAO();
userDAO.addUserRequest(userRequest);
DNPrincipal dnPrincipal = new DNPrincipal("uid=" + username + "," + config.getUserRequestsDN()); DNPrincipal dnPrincipal = new DNPrincipal("uid=" + username + "," + config.getUserRequestsDN());
Subject subject = new Subject(); Subject subject = new Subject();
...@@ -250,8 +204,8 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest ...@@ -250,8 +204,8 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest
{ {
try try
{ {
final User actual = httpUserDAO.getUserRequest(userID); final User actualUser = userDAO.getUserRequest(userID);
check(httpExpected, actual); check(expectedUser, actualUser);
return null; return null;
} }
...@@ -261,9 +215,48 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest ...@@ -261,9 +215,48 @@ public class LdapUserDAOTest extends AbstractLdapDAOTest
} }
} }
}); });
// try and add another user with the same username
final User dupUsername = new User();
dupUsername.getIdentities().add(userID);
dupUsername.personalDetails = new PersonalDetails("foo", "bar");
dupUsername.personalDetails.email = username + "@foo.com";
UserRequest dupUsernameRequest = new UserRequest(dupUsername, "123456".toCharArray());
try
{
userDAO.addUserRequest(dupUsernameRequest);
fail("adding a duplicate user should throw a UserAlreadyExistsException");
}
catch (UserAlreadyExistsException expected)
{
log.debug("expected exception: " + expected.getMessage());
} }
// TODO testAddUser for an existing user // try and add another user with the same email address
final String username2 = createUsername();
final HttpPrincipal userID2 = new HttpPrincipal(username);
final User dupEmail = new User();
dupEmail.getIdentities().add(userID2);
dupEmail.personalDetails = new PersonalDetails("foo", "bar");
dupEmail.personalDetails.email = username + "@canada.ca";
UserRequest dupEmailRequest = new UserRequest(dupEmail, "123456".toCharArray());
try
{
userDAO.addUserRequest(dupEmailRequest);
fail("adding a user with an existing email address should throw a UserAlreadyExistsException");
}
catch (UserAlreadyExistsException expected)
{
log.debug("expected exception: " + expected.getMessage());
}
}
/** /**
* Test of getUser method, of class LdapUserDAO. * Test of getUser method, of class LdapUserDAO.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment