source code formatting.
[utils] / security / src / test / java / org / wamblee / usermgt / hibernate / HibernateUserSetTest.java
index 23403cc8f505f2aa429795088dbc63c7ea933b3b..81106a5a95d91ca248b250222e273eb3bb623ebe 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 javax.sql.DataSource;
+import org.wamblee.cache.EhCache;
 
-import org.wamblee.cache.Cache;
-import org.wamblee.general.BeanKernel;
 import org.wamblee.system.adapters.DefaultContainer;
 import org.wamblee.system.adapters.ObjectConfiguration;
-import org.wamblee.system.core.Component;
 import org.wamblee.system.core.Scope;
+import org.wamblee.system.spring.component.DatabaseTesterComponent;
+
 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 {
-    
+    /**
+     * DOCUMENT ME!
+     */
     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);
-    }
-    
-    private DefaultContainer _container;
-    private Scope _scope;
-    
-    private DataSource _datasource; 
-    
-    /* (non-Javadoc)
+
+    /**
+     * DOCUMENT ME!
+     */
+    private static final String GROUP_TABLE = "GROUPS";
+
+    /**
+     * DOCUMENT ME!
+     */
+    private static final String USER_QUERY = "select * from " + USER_TABLE
+        + " where name = ?";
+
+    /**
+     * DOCUMENT ME!
+     */
+    private static final String GROUP_QUERY = "select * from " + GROUP_TABLE
+        + " where name = ?";
+
+    /**
+     * DOCUMENT ME!
+     */
+    private DefaultContainer container;
+
+    /**
+     * DOCUMENT ME!
+     */
+    private Scope scope;
+
+    /**
+     * DOCUMENT ME!
+     */
+    private UserSet userset;
+
+    /**
+     * DOCUMENT ME!
+     */
+    private GroupSet groupset;
+
+    /**
+     * DOCUMENT ME!
+     */
+    private EhCache<Serializable, Serializable> userCache;
+
+    /**
+     * DOCUMENT ME!
+     */
+    private DatabaseTesterComponent databaseTester;
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryUserSetTest#setUp()
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @throws Exception DOCUMENT ME!
+     */
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
-        
-        _container = new DefaultContainer("top");
-        Component ds = new ExternalDatasourceComponent("datasource");
-        _container.addComponent(ds);
-        
-        ObjectConfiguration config = new ObjectConfiguration(HibernateUserSetTest.class); 
-        config.getSetterConfig().clear().add("datasource");
-        _container.addComponent("testcase", this, config);
-        _scope = _container.start();
-        
-        Object my = _scope.getInterfaceImplementation(ds.getProvidedInterfaces()[0], Object.class);
-        
+        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 setDatasource(DataSource aDatasource) { 
-        _datasource = aDatasource; 
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aUserset DOCUMENT ME!
+     */
+    public void setUserset(UserSet aUserset) {
+        userset = aUserset;
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aGroupset DOCUMENT ME!
+     */
+    public void setGroupset(GroupSet aGroupset) {
+        groupset = aGroupset;
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aUserCache DOCUMENT ME!
+     */
+    public void setUserCache(EhCache<Serializable, Serializable> aUserCache) {
+        userCache = aUserCache;
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aDatabaseTester DOCUMENT ME!
+     */
+    public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
+        databaseTester = aDatabaseTester;
     }
-    
-    
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @throws Exception DOCUMENT ME!
+     */
     @Override
     protected void tearDown() throws Exception {
-        _container.stop(_scope);
+        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)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aSize DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @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)
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aUser DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @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)
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aUser DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @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)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aSize DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @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)
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aGroup DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @Override
     protected void checkGroupExists(String aGroup) throws SQLException {
-        flush(); 
-       
-        ResultSet result = executeQuery(GROUP_QUERY, aGroup);
-        assertEquals(1, countResultSet(result));
+        databaseTester.flush();
+
+        ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
+        assertEquals(1, databaseTester.countResultSet(result));
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @param aGroup DOCUMENT ME!
+     *
+     * @throws SQLException DOCUMENT ME!
+     */
     @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()
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
     @Override
     protected UserSet createUserSet() {
-        return BeanKernel.getBeanFactory().find(UserSet.class); 
+        return userset;
     }
-    
-    /* (non-Javadoc)
+
+    /*
+     * (non-Javadoc)
+     *
      * @see org.wamblee.usermgt.InMemoryUserSetTest#createGroupSet()
      */
+    /**
+     * DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
     @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.
+     *
+     * @throws SQLException DOCUMENT ME!
+     * @throws UserMgtException DOCUMENT ME!
      */
     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(); 
-        User user2 = getUsers().find("user");
+        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"); 
-        userGroups = user2.getGroups();
-        assertFalse(user2.isInGroup("group1")); 
+
+        removeUserFromGroup(user, group1);
+        getUsers().userModified(user);
+        clearUserCache();
+        user2          = getUsers().find("user");
+        userGroups     = user2.getGroups();
+        assertFalse(user2.isInGroup("group1"));
         assertTrue(user2.isInGroup("group2"));
         assertEquals(1, userGroups.size());
     }
-    
 }