Author: ivol37 at gmail.com
Date: Tue Feb 15 09:05:01 2011
New Revision: 784
Log:
[AMDATU-241] Enhanced integration test to verify that when a user is removed,
it is also removed as member of groups it was menber of
Modified:
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/UserAdminStoreTest.java
Modified:
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/UserAdminStoreTest.java
==============================================================================
---
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/UserAdminStoreTest.java
(original)
+++
trunk/integration-tests/src/test/java/org/amdatu/test/integration/tests/UserAdminStoreTest.java
Tue Feb 15 09:05:01 2011
@@ -49,6 +49,14 @@
// See AMDATU-137.
private static int WAIT = 20;
+ private final static String ADMIN_USER = "TestAdministrator";
+ private final static String EDITOR_USER = "TestEditor";
+ private final static String GUEST_USER = "TestGuest";
+
+ private final static String ADMIN_GROUP = "TestAdminUsers";
+ private final static String EDITOR_GROUP = "TestEditUsers";
+ private final static String GUEST_GROUP = "TestGuestUsers";
+
@Inject
private volatile ConfigurationAdmin m_configAdmin;
private volatile UserAdmin m_userAdmin;
@@ -123,8 +131,8 @@
|| m_userAdmin.getRoles(null).length == 0);
// Create three test users and set the credentials
- User adminUser = (User) m_userAdmin.createRole("TestAdministrator",
Role.USER);
- User editorUser = (User) m_userAdmin.createRole("TestEditor",
Role.USER);
+ User adminUser = (User) m_userAdmin.createRole(ADMIN_USER, Role.USER);
+ User editorUser = (User) m_userAdmin.createRole(EDITOR_USER,
Role.USER);
User guestUser = (User) m_userAdmin.createRole("TestGuest", Role.USER);
Assert.assertTrue("All users were removed, but still creating a user
failed since it already exists",
@@ -136,9 +144,9 @@
// Now see if we can find these users from credentials
sleep();
Assert
- .assertTrue("TestAdmin user could not be found",
m_userAdmin.getUser("name", "TestAdministrator") != null);
- Assert.assertTrue("TestEditor user could not be found",
m_userAdmin.getUser("name", "TestEditor") != null);
- Assert.assertTrue("TestGuest user could not be found",
m_userAdmin.getUser("name", "TestGuest") != null);
+ .assertTrue("TestAdmin user could not be found",
m_userAdmin.getUser("name", ADMIN_USER) != null);
+ Assert.assertTrue("TestEditor user could not be found",
m_userAdmin.getUser("name", EDITOR_USER) != null);
+ Assert.assertTrue("TestGuest user could not be found",
m_userAdmin.getUser("name", GUEST_USER) != null);
// Set user properties of admin
adminUser.getProperties().put("firstName", "John".getBytes());
@@ -146,44 +154,44 @@
// And check if they were set correctly
sleep();
- byte[] firstName = (byte[]) m_userAdmin.getUser("name",
"TestAdministrator").getProperties().get("firstName");
+ byte[] firstName = (byte[]) m_userAdmin.getUser("name",
ADMIN_USER).getProperties().get("firstName");
Assert.assertTrue("firstName not properly set", new String(firstName,
"UTF-8").equals("John"));
- byte[] lastName = (byte[]) m_userAdmin.getUser("name",
"TestAdministrator").getProperties().get("lastName");
+ byte[] lastName = (byte[]) m_userAdmin.getUser("name",
ADMIN_USER).getProperties().get("lastName");
Assert.assertTrue("lastName not properly set", new String(lastName,
"UTF-8").equals("Doe"));
// Remove last name
adminUser.getProperties().remove("lastName");
sleep();
- Assert.assertTrue("lastName not properly removed from property set",
m_userAdmin.getUser("name",
- "TestAdministrator").getProperties().get("lastName") == null);
+ Assert.assertTrue("lastName not properly removed from property set",
+ m_userAdmin.getUser("name",
ADMIN_USER).getProperties().get("lastName") == null);
// Now create "Administrator", "Editor" and "Guest" group and do some
assignments
- Group adminGroup = (Group) m_userAdmin.createRole("TestAdminUsers",
Role.GROUP);
- Group editorGroup = (Group) m_userAdmin.createRole("TestEditUsers",
Role.GROUP);
- Group guestGroup = (Group) m_userAdmin.createRole("TestGuestUsers",
Role.GROUP);
+ Group adminGroup = (Group) m_userAdmin.createRole(ADMIN_GROUP,
Role.GROUP);
+ Group editorGroup = (Group) m_userAdmin.createRole(EDITOR_GROUP,
Role.GROUP);
+ Group guestGroup = (Group) m_userAdmin.createRole(GUEST_GROUP,
Role.GROUP);
adminGroup.addMember(adminUser);
adminGroup.addRequiredMember(adminUser);
// Excessive test of TestEditUsers group since this failed before
sleep();
- assertBasicMemberCount("TestEditUsers", 0);
- assertRequiredMemberCount("TestEditUsers", 0);
+ assertBasicMemberCount(EDITOR_GROUP, 0);
+ assertRequiredMemberCount(EDITOR_GROUP, 0);
editorGroup.addMember(adminUser);
sleep();
- assertBasicMemberCount("TestEditUsers", 1);
- assertRequiredMemberCount("TestEditUsers", 0);
+ assertBasicMemberCount(EDITOR_GROUP, 1);
+ assertRequiredMemberCount(EDITOR_GROUP, 0);
editorGroup.addMember(editorUser);
sleep();
- assertBasicMemberCount("TestEditUsers", 2);
- assertRequiredMemberCount("TestEditUsers", 0);
+ assertBasicMemberCount(EDITOR_GROUP, 2);
+ assertRequiredMemberCount(EDITOR_GROUP, 0);
editorGroup.addRequiredMember(adminUser);
sleep();
- assertBasicMemberCount("TestEditUsers", 2);
- assertRequiredMemberCount("TestEditUsers", 1);
+ assertBasicMemberCount(EDITOR_GROUP, 2);
+ assertRequiredMemberCount(EDITOR_GROUP, 1);
editorGroup.addRequiredMember(editorUser);
sleep();
- assertBasicMemberCount("TestEditUsers", 2);
- assertRequiredMemberCount("TestEditUsers", 2);
+ assertBasicMemberCount(EDITOR_GROUP, 2);
+ assertRequiredMemberCount(EDITOR_GROUP, 2);
guestGroup.addMember(adminUser);
sleep();
@@ -192,22 +200,33 @@
guestGroup.addMember(guestUser);
sleep();
- assertBasicMemberCount("TestAdminUsers", 1);
- assertRequiredMemberCount("TestAdminUsers", 1);
- assertBasicMemberCount("TestEditUsers", 2);
- assertRequiredMemberCount("TestEditUsers", 2);
- assertBasicMemberCount("TestGuestUsers", 3);
- assertRequiredMemberCount("TestGuestUsers", 0);
+ assertBasicMemberCount(ADMIN_GROUP, 1);
+ assertRequiredMemberCount(ADMIN_GROUP, 1);
+ assertBasicMemberCount(EDITOR_GROUP, 2);
+ assertRequiredMemberCount(EDITOR_GROUP, 2);
+ assertBasicMemberCount(GUEST_GROUP, 3);
+ assertRequiredMemberCount(GUEST_GROUP, 0);
// Now remove some members
guestGroup.removeMember(adminUser);
sleep();
- assertBasicMemberCount("TestGuestUsers", 2);
+ assertBasicMemberCount(GUEST_GROUP, 2);
// Remove the editor user, is it removed from the admin group?
- m_userAdmin.removeRole("TestEditor");
+ m_userAdmin.removeRole(EDITOR_USER);
sleep();
- Assert.assertTrue("TestEditor should have been removed",
m_userAdmin.getRole("TestEditor") == null);
+ assertBasicMemberCount(EDITOR_GROUP, 1);
+ assertRequiredMemberCount(EDITOR_GROUP, 1);
+ Assert.assertTrue("TestEditor should have been removed",
m_userAdmin.getRole(EDITOR_USER) == null);
+
+ // Now remove a user and verify that it is also removed as member of
all groups it was member of
+ m_userAdmin.removeRole(ADMIN_USER);
+ assertBasicMemberCount(ADMIN_GROUP, 0);
+ assertRequiredMemberCount(ADMIN_GROUP, 0);
+ assertBasicMemberCount(GUEST_GROUP, 1);
+
+ m_userAdmin.removeRole(GUEST_USER);
+ assertBasicMemberCount(GUEST_GROUP, 0);
// Finally, remove all test users and groups
allRoles = m_userAdmin.getRoles(null);