/** * */ package org.jboss.test.cluster.web.persistent; import junit.extensions.TestSetup; import junit.framework.Test; import junit.framework.TestSuite; import org.jboss.test.cluster.testutil.DBSetup; import org.jboss.test.cluster.testutil.DBSetupDelegate; import org.jboss.web.tomcat.service.session.persistent.PersistentStore; /** * Extends {@link DBSetup} by using a {@link PersistentStoreTableSetupDelegate} to * set up the storage table for use by the {@link PersistentStore}. * * @author Brian Stansberry * * @version $Revision: $ */ public class SimplePersistentStoreTestSetup extends TestSetup { private final DBSetupDelegate dbDelegate; private final PersistentStoreSetupDelegate tableDelegate; /** * @param test * @param jarNames * @throws Exception */ public SimplePersistentStoreTestSetup(Test test) throws Exception { super(test); this.dbDelegate = new DBSetupDelegate(); this.tableDelegate = new PersistentStoreSetupDelegate(); } /** * @param test * @param jarNames * @throws Exception */ public SimplePersistentStoreTestSetup(Test test, String dbAddress, int port) throws Exception { super(test); this.dbDelegate = new DBSetupDelegate(dbAddress, port); this.tableDelegate = new PersistentStoreSetupDelegate(dbAddress, port); } public static Test getDeploySetup(final Test test) throws Exception { return new SimplePersistentStoreTestSetup(test); } public static Test getDeploySetup(final Class<?> clazz) throws Exception { TestSuite suite = new TestSuite(); suite.addTest(new TestSuite(clazz)); return getDeploySetup(suite); } public static Test getDeploySetup(final Test test, String dbAddress, int port) throws Exception { return new SimplePersistentStoreTestSetup(test, dbAddress, port); } public static Test getDeploySetup(final Class<?> clazz, String dbAddress, int port) throws Exception { TestSuite suite = new TestSuite(); suite.addTest(new TestSuite(clazz)); return getDeploySetup(suite, dbAddress, port); } protected void setUp() throws Exception { dbDelegate.setUp(); tableDelegate.setUp(); super.setUp(); } protected void tearDown() throws Exception { try { super.tearDown(); } finally { try { tableDelegate.tearDown(); } finally { dbDelegate.tearDown(); } } } }