1 package org.wamblee.usermgt.jpa;
3 import java.sql.Connection;
4 import java.sql.ResultSet;
6 import org.junit.After;
7 import org.junit.Before;
8 import org.wamblee.support.persistence.JpaTester;
9 import org.wamblee.support.persistence.TransactionProxyFactory;
10 import org.wamblee.support.persistence.DatabaseUtils.JdbcUnitOfWork;
11 import org.wamblee.usermgt.GroupSet;
12 import org.wamblee.usermgt.InMemoryGroupSetTest;
15 public class JpaGroupSetTest extends InMemoryGroupSetTest {
17 private static final String GROUP_TABLE = "SEC_GROUP";
19 private static final String GROUP_QUERY = "select * from " + GROUP_TABLE +
22 private JpaTester jpaTester;
25 public void setUp() throws Exception {
26 jpaTester = new JpaTester(new SecurityPersistenceUnit());
29 // Superclass setup will call createGroupSet so requires initialized JPA.
34 public void tearDown() throws Exception {
40 protected void checkGroupCount(int aSize) throws Exception {
41 super.checkGroupCount(aSize);
42 assertEquals(aSize, jpaTester.getDbUtils().getTableSize(GROUP_TABLE));
46 protected void checkGroupExists(String aGroup) throws Exception {
47 super.checkGroupExists(aGroup);
48 assertTrue(groupExists(aGroup));
51 private boolean groupExists(final String aGroup) throws Exception {
52 return jpaTester.getDbUtils().executeInTransaction(
53 new JdbcUnitOfWork<Boolean>() {
55 public Boolean execute(Connection aConnection) throws Exception {
56 ResultSet res = jpaTester.getDbUtils().executeQuery(
57 aConnection, GROUP_QUERY, aGroup);
64 protected void checkGroupNotExists(String aGroup) throws Exception {
65 super.checkGroupNotExists(aGroup);
66 assertFalse(groupExists(aGroup));
70 protected GroupSet createGroupSet() {
71 TransactionProxyFactory<GroupSet> factory = new TransactionProxyFactory<GroupSet>(
72 jpaTester.getJpaBuilder(), GroupSet.class);
73 GroupSet groupset = new JpaGroupSet(factory.getTransactionScopedEntityManager());
74 GroupSet proxy = factory.getProxy(groupset);