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);

Reply via email to