X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fusermgt%2Fhibernate%2FHibernateUserSetTest.java;h=81106a5a95d91ca248b250222e273eb3bb623ebe;hb=ddd261f331280640c5b53c7128230b629ebcd268;hp=9d5e80b6f82d42408eb73b5eaae4b956becfd352;hpb=532f7219273021ef3652e0abe1326b7aeed1f30a;p=utils diff --git a/security/src/test/java/org/wamblee/usermgt/hibernate/HibernateUserSetTest.java b/security/src/test/java/org/wamblee/usermgt/hibernate/HibernateUserSetTest.java index 9d5e80b6..81106a5a 100644 --- a/security/src/test/java/org/wamblee/usermgt/hibernate/HibernateUserSetTest.java +++ b/security/src/test/java/org/wamblee/usermgt/hibernate/HibernateUserSetTest.java @@ -1,184 +1,370 @@ /* * 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 { - + /** + * 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); - } - - /* (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 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 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(); + } + + /** + * 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 aUserCache) { + userCache = aUserCache; + } + + /** + * DOCUMENT ME! + * + * @param aDatabaseTester DOCUMENT ME! + */ + public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) { + databaseTester = aDatabaseTester; } /** - * Clears the user cache. + * DOCUMENT ME! + * + * @throws Exception DOCUMENT ME! + */ + @Override + protected void tearDown() throws Exception { + container.stop(scope); + super.tearDown(); + } + + /** + * 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 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()); } - }