Skip to content
LdapUserDAOTest.java 37.7 KiB
Newer Older
        Subject subject = new Subject();
        subject.getPrincipals().add(dnPrincipal);

        // do everything as owner
        Subject.doAs(subject, new PrivilegedExceptionAction<Object>()
        {
            public Object run() throws Exception
            {
                try
                {
                    getUserDAO().addUserRequest(userRequest);
                    getUserDAO().approveUserRequest(userID);
                    return null;
                }
                catch (Exception e)
                {
                    throw new Exception("Problems", e);
                }
            }
        });
    }

    private void deleteUser(final HttpPrincipal userID)
        throws Exception
    {
        DNPrincipal dnPrincipal = new DNPrincipal("uid=" + userID.getName() + "," + 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.deleteUser(userID, false);

                    return null;
                }
                catch (Exception e)
                {
                    throw new Exception("Problems", e);
                }
            }
        });
    }

    protected void testGetOneUserByEmailAddress(final String emailAddress, final String username)
        throws PrivilegedActionException
    {
        // do as servops
        Subject servops = SSLUtil.createSubject(new File(SERVOPS_PEM));
        Subject.doAs(servops, new PrivilegedExceptionAction<Object>()
        {
            public Object run() throws Exception
            {
                try
                {
                    final LdapUserDAO userDAO = getUserDAO();
                    final User user = userDAO.getUserByEmailAddress(emailAddress);
                    assertNotNull(user);
                    PersonalDetails pd =  user.personalDetails;
                    assertEquals(emailAddress, pd.email);
                    String actualName = user.getHttpPrincipal().getName();
                    assertEquals(username, actualName);

                    return null;
                }
                catch (Exception e)
                {
                    throw new Exception("Problems", e);
                }
            }
        });
    }


Jeff Burke's avatar
Jeff Burke committed
}