Removed DOCUMENT ME comments that were generated and applied source code
[utils] / security / src / test / java / org / wamblee / usermgt / hibernate / HibernateUserSetTest.java
index 9d5e80b6f82d42408eb73b5eaae4b956becfd352..6c5e095d4b33951cdeee14dfe24b233fb99f3273 100644 (file)
 /*
  * Copyright 2005 the original author or authors.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
-
+ */
 package org.wamblee.usermgt.hibernate;
 
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Set;
+import org.wamblee.cache.EhCache;
+
+import org.wamblee.system.adapters.DefaultContainer;
+import org.wamblee.system.adapters.ObjectConfiguration;
+import org.wamblee.system.core.Scope;
+import org.wamblee.system.spring.component.DatabaseTesterComponent;
 
-import org.wamblee.cache.Cache;
-import org.wamblee.general.BeanKernel;
 import org.wamblee.usermgt.Group;
 import org.wamblee.usermgt.GroupSet;
 import org.wamblee.usermgt.InMemoryUserSetTest;
 import org.wamblee.usermgt.User;
 import org.wamblee.usermgt.UserMgtException;
 import org.wamblee.usermgt.UserSet;
-import org.wamblee.usermgt.UsermgtHibernateMappingFiles;
-import org.wamblee.usermgt.UsermgtSpringConfigFiles;
+
+import java.io.Serializable;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import java.util.Set;
 
 /**
- * Tests for {@link org.wamblee.usermgt.hibernate.HibernateGroupSet} 
- *
+ * Tests for {@link org.wamblee.usermgt.hibernate.HibernateGroupSet}
+ * 
  * @author Erik Brakkee
  */
 public class HibernateUserSetTest extends InMemoryUserSetTest {
-    
     private static final String USER_TABLE = "USERS";
-    private static final String GROUP_TABLE = "GROUPS"; 
-    
-    private static final String USER_QUERY = "select * from " + USER_TABLE + " where name = ?";
-    private static final String GROUP_QUERY = "select * from " + GROUP_TABLE + " where name = ?"; 
 
-    public HibernateUserSetTest() { 
-        super(UsermgtSpringConfigFiles.class, UsermgtHibernateMappingFiles.class);
-    }
-    
-    /* (non-Javadoc)
+    private static final String GROUP_TABLE = "GROUPS";
+
+    private static final String USER_QUERY = "select * from " + USER_TABLE +
+        " where name = ?";
+
+    private static final String GROUP_QUERY = "select * from " + GROUP_TABLE +
+        " where name = ?";
+
+    private DefaultContainer container;
+
+    private Scope scope;
+
+    private UserSet userset;
+
+    private GroupSet groupset;
+
+    private EhCache<Serializable, Serializable> userCache;
+
+    private DatabaseTesterComponent databaseTester;
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.usermgt.InMemoryUserSetTest#setUp()
      */
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
+        container = new UserMgtRepositoryTestContainer("top");
+
+        ObjectConfiguration config = new ObjectConfiguration(
+            HibernateUserSetTest.class);
+        config.getSetterConfig().clear().add("setUserset").add("setGroupset")
+            .add("setDatabaseTester").add("setUserCache");
+        container.addComponent("testcase", this, config);
+
+        scope = container.start();
+
         clearUserCache();
+        databaseTester.cleanDatabase();
+
+        super.setUp();
+    }
+
+    public void setUserset(UserSet aUserset) {
+        userset = aUserset;
+    }
+
+    public void setGroupset(GroupSet aGroupset) {
+        groupset = aGroupset;
+    }
+
+    public void setUserCache(EhCache<Serializable, Serializable> aUserCache) {
+        userCache = aUserCache;
+    }
+
+    public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
+        databaseTester = aDatabaseTester;
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        container.stop(scope);
+        super.tearDown();
     }
 
     /**
-     * Clears the user cache.  
+     * Clears the user cache.
      */
     private void clearUserCache() {
-        BeanKernel.getBeanFactory().find("userCache", Cache.class).clear();
+        userCache.clear();
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupCount(int)
      */
     @Override
     protected void checkUserCount(int aSize) throws SQLException {
-        super.flush();
+        databaseTester.flush();
         super.checkUserCount(aSize);
-        assertEquals(aSize, getTableSize(USER_TABLE));
+        assertEquals(aSize, databaseTester.getTableSize(USER_TABLE));
     }
-    
-    /* (non-Javadoc)
-     * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String
+     * )
      */
     @Override
     protected void checkUserExists(String aUser) throws SQLException {
-        flush(); 
-        ResultSet result = executeQuery(USER_QUERY, aUser);
-        assertEquals(1, countResultSet(result));
+        databaseTester.flush();
+
+        ResultSet result = databaseTester.executeQuery(USER_QUERY, aUser);
+        assertEquals(1, databaseTester.countResultSet(result));
     }
-    
-    /* (non-Javadoc)
-     * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang
+     * .String)
      */
     @Override
     protected void checkUserNotExists(String aUser) throws SQLException {
-       flush(); 
-       ResultSet result = executeQuery(USER_QUERY, aUser); 
-       assertEquals(0, countResultSet(result));
+        databaseTester.flush();
+
+        ResultSet result = databaseTester.executeQuery(USER_QUERY, aUser);
+        assertEquals(0, databaseTester.countResultSet(result));
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupCount(int)
      */
     @Override
     protected void checkGroupCount(int aSize) throws SQLException {
-        super.flush(); 
-        assertEquals(aSize, getTableSize(GROUP_TABLE));
+        databaseTester.flush();
+        assertEquals(aSize, databaseTester.getTableSize(GROUP_TABLE));
     }
-    
-    /* (non-Javadoc)
-     * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String
+     * )
      */
     @Override
     protected void checkGroupExists(String aGroup) throws SQLException {
-        flush(); 
-       
-        ResultSet result = executeQuery(GROUP_QUERY, aGroup);
-        assertEquals(1, countResultSet(result));
-    }
-    
-    /* (non-Javadoc)
-     * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
+        databaseTester.flush();
+
+        ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
+        assertEquals(1, databaseTester.countResultSet(result));
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang
+     * .String)
      */
     @Override
     protected void checkGroupNotExists(String aGroup) throws SQLException {
-       flush(); 
-       ResultSet result = executeQuery(GROUP_QUERY, aGroup); 
-       assertEquals(0, countResultSet(result));
+        databaseTester.flush();
+
+        ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
+        assertEquals(0, databaseTester.countResultSet(result));
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#createGroupSet()
      */
     @Override
     protected UserSet createUserSet() {
-        return BeanKernel.getBeanFactory().find(UserSet.class); 
+        return userset;
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see org.wamblee.usermgt.InMemoryUserSetTest#createGroupSet()
      */
     @Override
     protected GroupSet createGroupSet() {
-        return BeanKernel.getBeanFactory().find(GroupSet.class);
+        return groupset;
     }
 
     /**
-     * Reproduction of a bug. 
-     * Create a user which is in group1
-     * Add it to a second group group2.
-     * Remove the user from group1.
-     * Verify the user is in group2. 
+     * Reproduction of a bug. Create a user which is in group1 Add it to a
+     * second group group2. Remove the user from group1. Verify the user is in
+     * group2.
+     * 
      */
     public void testVerifyAddRemove() throws SQLException, UserMgtException {
-        cleanDatabase(); // just to be sure.
-        GroupSet groups = getGroups(); 
-        assertEquals(0, groups.size()); 
+        databaseTester.cleanDatabase(); // just to be sure.
+
+        GroupSet groups = getGroups();
+        assertEquals(0, groups.size());
+
         Group group1 = createGroup("group1");
         Group group2 = createGroup("group2");
-        groups.add(group1); 
-        groups.add(group2); 
-        checkGroupExists("group1"); 
+        groups.add(group1);
+        groups.add(group2);
+        checkGroupExists("group1");
         checkGroupExists("group2");
-        
+
         User user = createUser("user", PASSWORD, group1);
-        getUsers().add(user);    
+        getUsers().add(user);
         checkUserExists("user");
-     
+
         addUserToGroup(user, group2);
         getUsers().userModified(user);
-        clearUserCache(); 
+        clearUserCache();
+
         User user2 = getUsers().find("user");
         Set<Group> userGroups = user2.getGroups();
-        assertTrue(user2.isInGroup("group1")); 
+        assertTrue(user2.isInGroup("group1"));
         assertTrue(user2.isInGroup("group2"));
         assertEquals(2, userGroups.size());
-        
-        removeUserFromGroup(user, group1); 
-        getUsers().userModified(user); 
-        clearUserCache(); 
-        user2 = getUsers().find("user"); 
+
+        removeUserFromGroup(user, group1);
+        getUsers().userModified(user);
+        clearUserCache();
+        user2 = getUsers().find("user");
         userGroups = user2.getGroups();
-        assertFalse(user2.isInGroup("group1")); 
+        assertFalse(user2.isInGroup("group1"));
         assertTrue(user2.isInGroup("group2"));
         assertEquals(1, userGroups.size());
     }
-    
 }