import junit.framework.TestCase;
import org.apache.log4j.Logger;
-import org.wamblee.persistence.hibernate.HibernateMappingFiles;
import org.wamblee.security.encryption.Md5HexMessageDigester;
-import org.wamblee.test.spring.SpringConfigFiles;
-import org.wamblee.test.spring.SpringTestCase;
import org.wamblee.usermgt.UserMgtException.Reason;
/**
private static final String GROUP2 = "runners";
- private UserAdministration _admin;
+ private UserAdministration admin;
/*
@Override
protected void setUp() throws Exception {
super.setUp();
- _admin = createAdmin();
+ admin = createAdmin();
}
protected UserAdministration createAdmin() {
* Constructs the admin, verify it contains no users and no groups.
*/
public void testConstruct() {
- assertEquals(0, _admin.getUsers().size());
- assertEquals(0, _admin.getGroups().size());
- assertEquals(0, _admin.getUserCount());
- assertEquals(0, _admin.getGroupCount());
+ assertEquals(0, admin.getUsers().size());
+ assertEquals(0, admin.getGroups().size());
+ assertEquals(0, admin.getUserCount());
+ assertEquals(0, admin.getGroupCount());
}
/**
*
*/
public void testCreateGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
assertNotNull(group);
assertEquals(GROUP1, group.getName());
- Set<Group> groups = _admin.getGroups();
+ Set<Group> groups = admin.getGroups();
assertEquals(1, groups.size());
- assertEquals(1, _admin.getGroupCount());
+ assertEquals(1, admin.getGroupCount());
assertTrue(groups.contains(group));
}
private void createInvalidGroup(String aUsername) {
try {
- _admin.createGroup(aUsername);
+ admin.createGroup(aUsername);
fail();
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.INVALID_GROUPNAME, e
.getReason());
- assertEquals(0, _admin.getGroupCount());
+ assertEquals(0, admin.getGroupCount());
}
}
*
*/
public void testCreateDuplicateGroup() throws UserMgtException {
- _admin.createGroup(GROUP1);
+ admin.createGroup(GROUP1);
try {
- _admin.createGroup(GROUP1);
+ admin.createGroup(GROUP1);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.DUPLICATE_GROUP, e.getReason());
- assertEquals(1, _admin.getGroupCount());
+ assertEquals(1, admin.getGroupCount());
return;
}
fail();
*
*/
public void testCreateUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
assertNotNull(user);
assertEquals(USER1, user.getName());
user.checkPassword(PASS1);
- Set<User> users = _admin.getUsers();
+ Set<User> users = admin.getUsers();
assertEquals(1, users.size());
- assertEquals(1, _admin.getUserCount());
+ assertEquals(1, admin.getUserCount());
assertTrue(users.contains(user));
}
private void createInvalidUser(String aUsername, Group aGroup) {
try {
- _admin.createUser(aUsername, "pass", aGroup);
+ admin.createUser(aUsername, "pass", aGroup);
fail();
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.INVALID_USERNAME, e
.getReason());
- assertEquals(0, _admin.getUserCount());
+ assertEquals(0, admin.getUserCount());
}
}
*
*/
public void testCreateInvalidUserName() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
createInvalidUser("", group);
createInvalidUser("0abc", group); // should not start with digits
createInvalidUser("a b", group); // should not contain spaces
*
*/
public void testCreateDuplicateUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ admin.createUser(USER1, PASS1, group);
try {
- _admin.createUser(USER1, PASS2, group);
+ admin.createUser(USER1, PASS2, group);
fail();
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.DUPLICATE_USER, e.getReason());
- assertEquals(1, _admin.getUserCount());
+ assertEquals(1, admin.getUserCount());
}
}
*
*/
public void testGetUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
- User user2 = _admin.getUser(USER1);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
+ User user2 = admin.getUser(USER1);
assertTrue(user.equals(user2));
- assertNull(_admin.getUser(USER2));
+ assertNull(admin.getUser(USER2));
}
/**
*
*/
public void testGetGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- Group group2 = _admin.getGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
+ Group group2 = admin.getGroup(GROUP1);
assertTrue(group.equals(group2));
- assertNull(_admin.getGroup(GROUP2));
+ assertNull(admin.getGroup(GROUP2));
}
/**
*/
public void testAddUserToGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
- Group group2 = _admin.createGroup(GROUP2);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
+ Group group2 = admin.createGroup(GROUP2);
assertTrue(user.isInGroup(group));
assertFalse(user.isInGroup(group2));
- _admin.addUserToGroup(user, group2);
+ admin.addUserToGroup(user, group2);
assertTrue(user.isInGroup(group));
assertTrue(user.isInGroup(group2));
- Set<User> users = _admin.getUsers(group2);
+ Set<User> users = admin.getUsers(group2);
assertNotNull(users);
assertEquals(1, users.size());
assertTrue(users.contains(user));
try {
- _admin.addUserToGroup(user, group);
+ admin.addUserToGroup(user, group);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.USER_ALREADY_IN_GROUP, e
.getReason());
*
*/
public void testAddUserToGroupUnknownUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
User user = createUser(USER1, PASS1, group);
try {
- _admin.addUserToGroup(user, group);
+ admin.addUserToGroup(user, group);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_USER, e.getReason());
return;
*
*/
public void testAddUserToGroupUnknownGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
Group group2 = new Group(GROUP2);
try {
- _admin.addUserToGroup(user, group2);
+ admin.addUserToGroup(user, group2);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_GROUP, e.getReason());
return;
* user not part of the group or if the user is only part of one group.
*/
public void testRemoveUserFromGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
- Group group2 = _admin.createGroup(GROUP2);
- _admin.addUserToGroup(user, group2);
+ User user = admin.createUser(USER1, PASS1, group);
+ Group group2 = admin.createGroup(GROUP2);
+ admin.addUserToGroup(user, group2);
Set<Group> groups = user.getGroups();
assertEquals(2, groups.size());
assertTrue(groups.contains(group));
assertTrue(groups.contains(group2));
- _admin.removeUserFromGroup(user, group);
+ admin.removeUserFromGroup(user, group);
groups = user.getGroups();
assertEquals(1, groups.size());
assertTrue(groups.contains(group2));
*
*/
public void testRemoveUserFromGroupUnknownUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
User user = createUser(USER1, GROUP1, group);
try {
- _admin.removeUserFromGroup(user, group);
+ admin.removeUserFromGroup(user, group);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_USER, e.getReason());
}
*
*/
public void testRemoveUserFromGroupUnknownGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
Group group2 = new Group(GROUP2);
try {
- _admin.removeUserFromGroup(user, group2);
+ admin.removeUserFromGroup(user, group2);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_GROUP, e.getReason());
}
* Verifies that an exception is thrown.
*/
public void testRemoveUserFromGroupOnlyGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
try {
- _admin.removeUserFromGroup(user, group);
+ admin.removeUserFromGroup(user, group);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.USER_MUST_BE_IN_A_GROUP, e
.getReason());
*
*/
public void testGetUsersAndGroups() throws UserMgtException {
- Group group1 = _admin.createGroup(GROUP1);
- Group group2 = _admin.createGroup(GROUP2);
+ Group group1 = admin.createGroup(GROUP1);
+ Group group2 = admin.createGroup(GROUP2);
- User user1 = _admin.createUser(USER1, PASS1, group1);
- _admin.addUserToGroup(user1, group2);
- User user2 = _admin.createUser(USER2, PASS2, group2);
+ User user1 = admin.createUser(USER1, PASS1, group1);
+ admin.addUserToGroup(user1, group2);
+ User user2 = admin.createUser(USER2, PASS2, group2);
- Set<User> users = _admin.getUsers();
+ Set<User> users = admin.getUsers();
assertEquals(2, users.size());
assertTrue(users.contains(user1));
assertTrue(users.contains(user2));
- Set<Group> groups = _admin.getGroups();
+ Set<Group> groups = admin.getGroups();
assertEquals(2, groups.size());
assertTrue(groups.contains(group1));
assertTrue(groups.contains(group2));
*
*/
public void testRenameUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user1 = _admin.createUser(USER1, PASS1, group);
- _admin.renameUser(user1, USER2);
+ Group group = admin.createGroup(GROUP1);
+ User user1 = admin.createUser(USER1, PASS1, group);
+ admin.renameUser(user1, USER2);
assertEquals(USER2, user1.getName());
- assertEquals(user1, _admin.getUser(USER2));
+ assertEquals(user1, admin.getUser(USER2));
- _admin.createUser(USER1, PASS1, group);
+ admin.createUser(USER1, PASS1, group);
try {
- _admin.renameUser(user1, USER1);
+ admin.renameUser(user1, USER1);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.DUPLICATE_USER, e.getReason());
// do a trivial reanem
try {
- _admin.renameUser(user1, user1.getName());
+ admin.renameUser(user1, user1.getName());
} catch (UserMgtException e2) {
assertEquals(UserMgtException.Reason.TRIVIAL_RENAME, e2
.getReason());
*
*/
public void testRenameUserInvalidUsername() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user1 = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user1 = admin.createUser(USER1, PASS1, group);
try {
- _admin.renameUser(user1, USER2);
+ admin.renameUser(user1, USER2);
} catch (UserMgtException e) {
assertEquals(e.getReason(), Reason.INVALID_USERNAME);
}
*
*/
public void testRenameGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- _admin.renameGroup(group, GROUP2);
+ Group group = admin.createGroup(GROUP1);
+ admin.renameGroup(group, GROUP2);
assertEquals(GROUP2, group.getName());
- assertEquals(group, _admin.getGroup(GROUP2));
+ assertEquals(group, admin.getGroup(GROUP2));
- _admin.createGroup(GROUP1);
+ admin.createGroup(GROUP1);
try {
- _admin.renameGroup(group, GROUP1);
+ admin.renameGroup(group, GROUP1);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.DUPLICATE_GROUP, e.getReason());
// do a trivial reanem
try {
- _admin.renameGroup(group, group.getName());
+ admin.renameGroup(group, group.getName());
} catch (UserMgtException e2) {
assertEquals(UserMgtException.Reason.TRIVIAL_RENAME, e2
.getReason());
*
*/
public void testRenameGroupInvalidGroupname() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
try {
- _admin.renameGroup(group, "a b");
+ admin.renameGroup(group, "a b");
} catch (UserMgtException e) {
assertEquals(e.getReason(), Reason.INVALID_GROUPNAME);
}
*
*/
public void testRemoveUser() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
- assertEquals(1, _admin.getUserCount());
- _admin.removeUser(user);
- assertEquals(0, _admin.getUserCount());
+ assertEquals(1, admin.getUserCount());
+ admin.removeUser(user);
+ assertEquals(0, admin.getUserCount());
- _admin.createUser(USER1, PASS1, group);
- assertEquals(1, _admin.getUserCount());
+ admin.createUser(USER1, PASS1, group);
+ assertEquals(1, admin.getUserCount());
User user2 = createUser(USER2, PASS2, group);
try {
- _admin.removeUser(user2);
+ admin.removeUser(user2);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_USER, e.getReason());
}
*
*/
public void testRemoveGroup() throws UserMgtException {
- Group group1 = _admin.createGroup(GROUP1);
- assertEquals(1, _admin.getGroupCount());
- _admin.removeGroup(group1);
- assertEquals(0, _admin.getGroupCount());
- group1 = _admin.createGroup(GROUP1);
+ Group group1 = admin.createGroup(GROUP1);
+ assertEquals(1, admin.getGroupCount());
+ admin.removeGroup(group1);
+ assertEquals(0, admin.getGroupCount());
+ group1 = admin.createGroup(GROUP1);
- _admin.createUser(USER1, PASS1, group1);
+ admin.createUser(USER1, PASS1, group1);
try {
- _admin.removeGroup(group1);
+ admin.removeGroup(group1);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.GROUP_STILL_OCCUPIED, e
.getReason());
*
*/
public void testRemoveGroupUnknownGroup() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
+ Group group = admin.createGroup(GROUP1);
Group group2 = new Group(GROUP2);
try {
- _admin.removeGroup(group2);
+ admin.removeGroup(group2);
} catch (UserMgtException e) {
assertEquals(UserMgtException.Reason.UNKNOWN_GROUP, e.getReason());
}
* @throws UserMgtException
*/
public void testChangePassword() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- User user = _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ User user = admin.createUser(USER1, PASS1, group);
user.changePassword(PASS1, PASS2);
// retrieve the user and verifies the password hasn't changed.
- User user2 = _admin.getUser(USER1);
+ User user2 = admin.getUser(USER1);
try {
user2.checkPassword(PASS2);
fail(); // password should not have changed already.
}
// now notify the admin of the change in the user
- _admin.userModified(user);
+ admin.userModified(user);
- user2 = _admin.getUser(USER1);
+ user2 = admin.getUser(USER1);
user2.checkPassword(PASS2); // this time it should succeed.
}
*
*/
public void testPerformanceFindUserByName() throws UserMgtException {
- Group group = _admin.createGroup(GROUP1);
- _admin.createUser(USER1, PASS1, group);
+ Group group = admin.createGroup(GROUP1);
+ admin.createUser(USER1, PASS1, group);
int n = 1000;
long time = System.currentTimeMillis();
for (int i = 0; i < n; i++) {
- _admin.getUser(USER1);
+ admin.getUser(USER1);
}
LOGGER.info("Looked up a user " + n + " times in "
+ (float) (System.currentTimeMillis() - time) / 1000.0);