/*
- * Copyright 2005 the original author or authors.
+ * Copyright 2005-2010 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.
* 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.io.Serializable;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Set;
-
-import javax.sql.DataSource;
-
-import org.wamblee.cache.Cache;
import org.wamblee.cache.EhCache;
-import org.wamblee.general.BeanKernel;
+
import org.wamblee.system.adapters.DefaultContainer;
import org.wamblee.system.adapters.ObjectConfiguration;
import org.wamblee.system.core.Scope;
-import org.wamblee.system.spring.DatabaseTesterComponent;
+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}
* @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 = ?";
+ private static final String USER_QUERY = "select * from " + USER_TABLE +
+ " where name = ?";
- public HibernateUserSetTest() {
- super(UsermgtSpringConfigFiles.class,
- UsermgtHibernateMappingFiles.class);
- }
+ private static final String GROUP_QUERY = "select * from " + GROUP_TABLE +
+ " where name = ?";
+
+ private DefaultContainer container;
+
+ private Scope scope;
+
+ private UserSet userset;
- private DefaultContainer _container;
- private Scope _scope;
+ private GroupSet groupset;
- private DataSource _datasource;
- private UserSet _userset;
- private GroupSet _groupset;
- private EhCache<Serializable, Serializable> _userCache;
- private DatabaseTesterComponent _databaseTester;
+ private EhCache<Serializable, Serializable> userCache;
+
+ private DatabaseTesterComponent databaseTester;
/*
* (non-Javadoc)
*/
@Override
protected void setUp() throws Exception {
+ container = new UserMgtRepositoryTestContainer("top");
- _container = new UserMgtRepositoryTestContainer("top");
-
ObjectConfiguration config = new ObjectConfiguration(
- HibernateUserSetTest.class);
- config.getSetterConfig().clear().add("datasource").add("userset").add(
- "groupset").add("databaseTester").add("userCache");
- _container.addComponent("testcase", this, config);
+ HibernateUserSetTest.class);
+ config.getSetterConfig().clear().add("setUserset").add("setGroupset")
+ .add("setDatabaseTester").add("setUserCache");
+ container.addComponent("testcase", this, config);
- _scope = _container.start();
+ scope = container.start();
clearUserCache();
- _databaseTester.cleanDatabase();
-
- super.setUp();
- }
+ databaseTester.cleanDatabase();
- public void setDatasource(DataSource aDatasource) {
- _datasource = aDatasource;
+ super.setUp();
}
public void setUserset(UserSet aUserset) {
- _userset = aUserset;
+ userset = aUserset;
}
public void setGroupset(GroupSet aGroupset) {
- _groupset = aGroupset;
+ groupset = aGroupset;
}
public void setUserCache(EhCache<Serializable, Serializable> aUserCache) {
- _userCache = aUserCache;
+ userCache = aUserCache;
}
public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
- _databaseTester = aDatabaseTester;
+ databaseTester = aDatabaseTester;
}
@Override
protected void tearDown() throws Exception {
- _container.stop(_scope);
+ container.stop(scope);
super.tearDown();
}
* Clears the user cache.
*/
private void clearUserCache() {
- _userCache.clear();
+ userCache.clear();
}
/*
*/
@Override
protected void checkUserCount(int aSize) throws SQLException {
- _databaseTester.flush();
+ databaseTester.flush();
super.checkUserCount(aSize);
- assertEquals(aSize, _databaseTester.getTableSize(USER_TABLE));
+ assertEquals(aSize, databaseTester.getTableSize(USER_TABLE));
}
/*
* (non-Javadoc)
*
- * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
+ * @see
+ * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String
+ * )
*/
@Override
protected void checkUserExists(String aUser) throws SQLException {
- _databaseTester.flush();
- ResultSet result = _databaseTester.executeQuery(USER_QUERY, aUser);
- assertEquals(1, _databaseTester.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)
+ * @see
+ * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang
+ * .String)
*/
@Override
protected void checkUserNotExists(String aUser) throws SQLException {
- _databaseTester.flush();
- ResultSet result = _databaseTester.executeQuery(USER_QUERY, aUser);
- assertEquals(0, _databaseTester.countResultSet(result));
+ databaseTester.flush();
+
+ ResultSet result = databaseTester.executeQuery(USER_QUERY, aUser);
+ assertEquals(0, databaseTester.countResultSet(result));
}
/*
*/
@Override
protected void checkGroupCount(int aSize) throws SQLException {
- _databaseTester.flush();
- assertEquals(aSize, _databaseTester.getTableSize(GROUP_TABLE));
+ databaseTester.flush();
+ assertEquals(aSize, databaseTester.getTableSize(GROUP_TABLE));
}
/*
* (non-Javadoc)
*
- * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
+ * @see
+ * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String
+ * )
*/
@Override
protected void checkGroupExists(String aGroup) throws SQLException {
- _databaseTester.flush();
+ databaseTester.flush();
- ResultSet result = _databaseTester.executeQuery(GROUP_QUERY, aGroup);
- assertEquals(1, _databaseTester.countResultSet(result));
+ ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
+ assertEquals(1, databaseTester.countResultSet(result));
}
/*
* (non-Javadoc)
*
- * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
+ * @see
+ * org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang
+ * .String)
*/
@Override
protected void checkGroupNotExists(String aGroup) throws SQLException {
- _databaseTester.flush();
- ResultSet result = _databaseTester.executeQuery(GROUP_QUERY, aGroup);
- assertEquals(0, _databaseTester.countResultSet(result));
+ databaseTester.flush();
+
+ ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
+ assertEquals(0, databaseTester.countResultSet(result));
}
/*
*/
@Override
protected UserSet createUserSet() {
- return _userset;
+ return userset;
}
/*
*/
@Override
protected GroupSet createGroupSet() {
- return _groupset;
+ 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.
+ *
*/
public void testVerifyAddRemove() throws SQLException, UserMgtException {
- _databaseTester.cleanDatabase(); // just to be sure.
+ databaseTester.cleanDatabase(); // just to be sure.
+
GroupSet groups = getGroups();
assertEquals(0, groups.size());
+
Group group1 = createGroup("group1");
Group group2 = createGroup("group2");
groups.add(group1);
addUserToGroup(user, group2);
getUsers().userModified(user);
clearUserCache();
+
User user2 = getUsers().find("user");
Set<Group> userGroups = user2.getGroups();
assertTrue(user2.isInGroup("group1"));
assertTrue(user2.isInGroup("group2"));
assertEquals(1, userGroups.size());
}
-
}