* 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.security.authentication.jpa;
import java.sql.Connection;
import org.wamblee.security.authentication.Group;
import org.wamblee.security.authentication.GroupSet;
import org.wamblee.security.authentication.InMemoryUserSetTest;
+import org.wamblee.security.authentication.Md5HexMessageDigester;
+import org.wamblee.security.authentication.MessageDigester;
import org.wamblee.security.authentication.NameValidator;
import org.wamblee.security.authentication.RegexpNameValidator;
import org.wamblee.security.authentication.User;
import org.wamblee.security.authentication.UserSet;
-import org.wamblee.security.authentication.jpa.JpaGroupSet;
-import org.wamblee.security.authentication.jpa.JpaUserSet;
-import org.wamblee.security.encryption.Md5HexMessageDigester;
-import org.wamblee.security.encryption.MessageDigester;
-import org.wamblee.support.persistence.JpaTester;
-import org.wamblee.support.persistence.TransactionProxyFactory;
-import org.wamblee.support.persistence.DatabaseUtils.JdbcUnitOfWork;
+import org.wamblee.test.persistence.JpaTester;
+import org.wamblee.test.persistence.DatabaseUtils.JdbcUnitOfWork;
+import org.wamblee.test.transactions.TransactionProxyFactory;
/**
* Tests for {@link org.wamblee.usermgt.hibernate.HibernateGroupSet}
private EhCache<String, User> userCache;
- private JpaTester jpaTester;
+ private JpaTester jpaTester;
/*
* (non-Javadoc)
jpaTester = new JpaTester(new SecurityPersistenceUnit());
jpaTester.start();
- userCache = new EhCache<String, User>(
- new ClassPathResource("properties/org.wamblee.security.ehcache.xml"), "users");
-
+ userCache = new EhCache<String, User>(new ClassPathResource(
+ "properties/org.wamblee.security.ehcache.xml"), "users");
+
userset = createUserSetImpl();
groupset = createGroupSetImpl();
-
+
clearUserCache();
super.setUp();
}
-
+
private UserSet createUserSetImpl() {
- NameValidator passwordValidator = new RegexpNameValidator(
- ".{5,}", "INVALID_PASSWORD", "Password must have at least 5 characters");
-
+ NameValidator passwordValidator = new RegexpNameValidator(".{5,}",
+ "INVALID_PASSWORD", "Password must have at least 5 characters");
+
MessageDigester passwordDigester = new Md5HexMessageDigester();
TransactionProxyFactory<UserSet> factory = new TransactionProxyFactory<UserSet>(
jpaTester.getJpaBuilder(), UserSet.class);
- UserSet jpaUserset = new JpaUserSet(userCache, passwordValidator, passwordDigester,
- factory.getTransactionScopedEntityManager());
+ UserSet jpaUserset = new JpaUserSet(userCache, passwordValidator,
+ passwordDigester, factory.getTransactionScopedEntityManager());
return factory.getProxy(jpaUserset);
}
-
+
private GroupSet createGroupSetImpl() {
TransactionProxyFactory<GroupSet> factory = new TransactionProxyFactory<GroupSet>(
jpaTester.getJpaBuilder(), GroupSet.class);
- GroupSet groupset = new JpaGroupSet(factory.getTransactionScopedEntityManager());
- GroupSet proxy = factory.getProxy(groupset);
+ GroupSet groups = new JpaGroupSet(factory
+ .getTransactionScopedEntityManager());
+ GroupSet proxy = factory.getProxy(groups);
return proxy;
}
}
private int countUser(final String aUser) throws Exception {
- int count = jpaTester.getDbUtils().executeInTransaction(new JdbcUnitOfWork<Integer>() {
- @Override
- public Integer execute(Connection aConnection) throws Exception {
- ResultSet res = jpaTester.getDbUtils().executeQuery(aConnection, USER_QUERY, aUser);
- return jpaTester.getDbUtils().countResultSet(res);
- }
- });
+ int count = jpaTester.getDbUtils().executeInTransaction(
+ new JdbcUnitOfWork<Integer>() {
+ @Override
+ public Integer execute(Connection aConnection) throws Exception {
+ ResultSet res = jpaTester.getDbUtils().executeQuery(
+ aConnection, USER_QUERY, aUser);
+ return jpaTester.getDbUtils().countResultSet(res);
+ }
+ });
return count;
}
protected void checkGroupCount(int aSize) throws Exception {
assertEquals(aSize, jpaTester.getDbUtils().getTableSize(GROUP_TABLE));
}
-
+
private int countGroup(final String aGroup) throws Exception {
- int count = jpaTester.getDbUtils().executeInTransaction(new JdbcUnitOfWork<Integer>() {
- @Override
- public Integer execute(Connection aConnection) throws Exception {
- ResultSet res = jpaTester.getDbUtils().executeQuery(aConnection, GROUP_QUERY, aGroup);
- return jpaTester.getDbUtils().countResultSet(res);
- }
- });
+ int count = jpaTester.getDbUtils().executeInTransaction(
+ new JdbcUnitOfWork<Integer>() {
+ @Override
+ public Integer execute(Connection aConnection) throws Exception {
+ ResultSet res = jpaTester.getDbUtils().executeQuery(
+ aConnection, GROUP_QUERY, aGroup);
+ return jpaTester.getDbUtils().countResultSet(res);
+ }
+ });
return count;
}
*
*/
public void testVerifyAddRemove() throws Exception {
- jpaTester.getDbUtils().cleanDatabase(); // super class setup always creates one group.
-
+ jpaTester.getDbUtils().cleanDatabase(new SecurityTables()); // super
+ // class
+ // setup
+ // always
+ // creates
+ // one
+ // group.
+
GroupSet groups = getGroups();
assertEquals(0, groups.size());
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"));