Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromCoordParentIdJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromCoordParentIdJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromCoordParentIdJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromCoordParentIdJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -41,7 +41,6 @@ public class TestWorkflowJobsCountNotFor
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -38,7 +38,6 @@ public class TestWorkflowJobsCountNotFor
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsDeleteJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsDeleteJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsDeleteJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsDeleteJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -46,7 +46,6 @@ public class TestWorkflowJobsDeleteJPAEx
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -50,7 +50,6 @@ public class TestWorkflowJobsGetForPurge
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromCoordParentIdJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromCoordParentIdJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromCoordParentIdJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromCoordParentIdJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -46,7 +46,6 @@ public class TestWorkflowJobsGetFromCoor
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromWorkflowParentIdJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromWorkflowParentIdJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromWorkflowParentIdJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetFromWorkflowParentIdJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -46,7 +46,6 @@ public class TestWorkflowJobsGetFromWork
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -39,7 +39,6 @@ public class TestWorkflowsJobGetJPAExecu
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/jms/TestHCatMessageHandler.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/jms/TestHCatMessageHandler.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/jms/TestHCatMessageHandler.java 
(original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/jms/TestHCatMessageHandler.java 
Mon Oct 28 18:43:27 2013
@@ -69,7 +69,6 @@ public class TestHCatMessageHandler exte
         conn = connFac.createConnection();
         conn.start();
         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        cleanUpDBTables();
     }
 
     @After

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java
 Mon Oct 28 18:43:27 2013
@@ -67,7 +67,6 @@ public class TestActionCheckerService ex
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
         
services.get(ActionService.class).register(ForTestingActionExecutor.class);
     }
 

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java
 Mon Oct 28 18:43:27 2013
@@ -95,7 +95,6 @@ public class TestAuthorizationService ex
         
services.getConf().setBoolean(AuthorizationService.CONF_SECURITY_ENABLED, true);
         services.get(AuthorizationService.class).init(services);
         
services.get(ActionService.class).register(ForTestingActionExecutor.class);
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestCoordMaterializeTriggerService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestCoordMaterializeTriggerService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestCoordMaterializeTriggerService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestCoordMaterializeTriggerService.java
 Mon Oct 28 18:43:27 2013
@@ -47,7 +47,6 @@ public class TestCoordMaterializeTrigger
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java
 Mon Oct 28 18:43:27 2013
@@ -51,7 +51,6 @@ public class TestPauseTransitService ext
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java
 Mon Oct 28 18:43:27 2013
@@ -89,7 +89,6 @@ public class TestRecoveryService extends
         setSystemProperty(SchemaService.WF_CONF_EXT_SCHEMAS, 
"wf-ext-schema.xsd");
         services = new Services();
         services.init();
-        cleanUpDBTables();
         
services.get(ActionService.class).register(ForTestingActionExecutor.class);
 
     }

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java
 Mon Oct 28 18:43:27 2013
@@ -70,7 +70,6 @@ public class TestStatusTransitService ex
         services = new Services();
         setClassesToBeExcluded(services.getConf(), excludedServices);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestBulkMonitorWebServiceAPI.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestBulkMonitorWebServiceAPI.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestBulkMonitorWebServiceAPI.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestBulkMonitorWebServiceAPI.java
 Mon Oct 28 18:43:27 2013
@@ -68,7 +68,6 @@ public class TestBulkMonitorWebServiceAP
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
         LocalOozie.start();
         jpaService = Services.get().get(JPAService.class);
         addRecordsForBulkMonitor();

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -52,7 +52,6 @@ public class TestSLACalculationJPAExecut
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
         cal = Calendar.getInstance();
     }
 

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
 Mon Oct 28 18:43:27 2013
@@ -66,7 +66,6 @@ public class TestSLACalculatorMemory ext
                 + "org.apache.oozie.sla.service.SLAService");
         services.init();
         jpaService = Services.get().get(JPAService.class);
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java 
(original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java 
Mon Oct 28 18:43:27 2013
@@ -112,7 +112,6 @@ public class TestSLAEventGeneration exte
         jpa = services.get(JPAService.class);
         ehs = services.get(EventHandlerService.class);
         cal = Calendar.getInstance();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -39,7 +39,6 @@ public class TestSLARegistrationGetJPAEx
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -37,7 +37,6 @@ public class TestSLARegistrationGetRecor
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java 
(original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java Mon 
Oct 28 18:43:27 2013
@@ -64,7 +64,6 @@ public class TestSLAService extends XDat
         conf.setLong(SLAService.CONF_JOB_EVENT_LATENCY, 0);
         conf.setInt(EventHandlerService.CONF_WORKER_THREADS, 0);
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java
 Mon Oct 28 18:43:27 2013
@@ -42,7 +42,6 @@ public class TestSLASummaryGetOnRestartJ
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
     }
 
     @Override

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestCoordinatorStore.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/store/TestCoordinatorStore.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestCoordinatorStore.java 
(original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestCoordinatorStore.java 
Mon Oct 28 18:43:27 2013
@@ -38,7 +38,6 @@ public class TestCoordinatorStore extend
     protected void setUp() throws Exception {
         super.setUp();
         services = new Services();
-        cleanUpDB(services.getConf());
         services.init();
         store = Services.get().get(CoordinatorStoreService.class).create();
     }

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestDBWorkflowStore.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/store/TestDBWorkflowStore.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestDBWorkflowStore.java 
(original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestDBWorkflowStore.java 
Mon Oct 28 18:43:27 2013
@@ -59,7 +59,6 @@ public class TestDBWorkflowStore extends
     protected void setUp() throws Exception {
         super.setUp();
         services = new Services();
-        cleanUpDB(services.getConf());
         services.init();
         store = Services.get().get(WorkflowStoreService.class).create();
     }

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/store/TestSLAStore.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/store/TestSLAStore.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/store/TestSLAStore.java 
(original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/store/TestSLAStore.java Mon 
Oct 28 18:43:27 2013
@@ -32,7 +32,6 @@ public class TestSLAStore extends XTestC
     protected void setUp() throws Exception {
         super.setUp();
         services = new Services();
-        cleanUpDB(services.getConf());
         services.init();
         store = Services.get().get(SLAStoreService.class).create();
     }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java 
(original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java Mon Oct 
28 18:43:27 2013
@@ -72,9 +72,11 @@ import org.apache.oozie.service.Configur
 import org.apache.oozie.service.HCatAccessorService;
 import org.apache.oozie.service.HadoopAccessorService;
 import org.apache.oozie.service.JMSAccessorService;
+import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.PartitionDependencyManagerService;
 import org.apache.oozie.service.ServiceException;
 import org.apache.oozie.service.Services;
+import org.apache.oozie.service.StoreService;
 import org.apache.oozie.service.URIHandlerService;
 import org.apache.oozie.sla.SLARegistrationBean;
 import org.apache.oozie.sla.SLASummaryBean;
@@ -256,13 +258,30 @@ public abstract class XTestCase extends 
     protected static final String SHELL_COMMAND_SCRIPTFILE_OPTION = 
(Shell.WINDOWS) ? "/c" : "-c";
 
     /**
+     * Minimal set of require Services for cleaning up the database ({@link 
JPAService} and {@link StoreService})
+     */
+    private static final String MINIMAL_SERVICES_FOR_DB_CLEANUP = 
JPAService.class.getName() + "," + StoreService.class.getName();
+
+    /**
      * Initialize the test working directory. <p/> If it does not exist it 
creates it, if it already exists it deletes
-     * all its contents. <p/> The test working directory it is not deleted 
after the test runs. <p/>
+     * all its contents. <p/> The test working directory it is not deleted 
after the test runs. <p/> It will also cleanup the
+     * database tables. <p/>
      *
-     * @throws Exception if the test workflow working directory could not be 
created.
+     * @throws Exception if the test workflow working directory could not be 
created or there was a problem cleaning the database
      */
     @Override
     protected void setUp() throws Exception {
+        setUp(true);
+    }
+
+    /**
+     * Like {@link #setUp()} but allows skipping cleaning up the database 
tables.  Most tests should use the other method, unless
+     * they specifically don't want to (or can't) clean up the database tables.
+     *
+     * @param cleanUpDBTables true if should cleanup the database tables, 
false if not
+     * @throws Exception if the test workflow working directory could not be 
created or there was a problem cleaning the database
+     */
+    protected  void setUp(boolean cleanUpDBTables) throws Exception {
         RUNNING_TESTCASES.incrementAndGet();
         super.setUp();
         String baseDir = System.getProperty(OOZIE_TEST_DIR, new 
File("target/test-data").getAbsolutePath());
@@ -372,6 +391,11 @@ public abstract class XTestCase extends 
         if (System.getProperty("oozie.test.metastore.server", 
"true").equals("true")) {
             setupHCatalogServer();
         }
+
+        // Cleanup any leftover database data to make sure we start each test 
with an empty database
+        if (cleanUpDBTables) {
+            cleanUpDBTables();
+        }
     }
 
     /**
@@ -727,23 +751,37 @@ public abstract class XTestCase extends 
         return hcatServer;
     }
 
-    //TODO Fix this
     /**
-     * Clean up database schema
+     * Cleans up all database tables.  Tests won't typically need to call this 
directly because {@link #setUp()} will automatically
+     * call it before each test.
      *
-     * @param conf
      * @throws Exception
      */
-    protected void cleanUpDB(Configuration conf) throws Exception {
+    protected final void cleanUpDBTables() throws Exception {
+        // If the Services are already loaded, then a test is likely calling 
this for something specific and we shouldn't mess with
+        // the Services; so just cleanup the database
+        if (Services.get() != null) {
+            cleanUpDBTablesInternal();
+        }
+        else {
+            // Otherwise, this is probably being called during setup() and we 
should just load the minimal set of required Services
+            // needed to cleanup the database and shut them down when done; 
the test will likely start its own Services later and
+            // we don't want to interfere
+            try {
+                Services services = new Services();
+                services.getConf().set(Services.CONF_SERVICE_CLASSES, 
MINIMAL_SERVICES_FOR_DB_CLEANUP);
+                services.init();
+                cleanUpDBTablesInternal();
+            }
+            finally {
+                if (Services.get() != null) {
+                    Services.get().destroy();
+                }
+            }
+        }
     }
 
-
-    /**
-     * Clean up tables
-     *
-     * @throws StoreException
-     */
-    protected void cleanUpDBTables() throws StoreException {
+    private void cleanUpDBTablesInternal() throws StoreException {
         CoordinatorStore store = new CoordinatorStore(false);
         EntityManager entityManager = store.getEntityManager();
         store.beginTrx();

Modified: 
oozie/trunk/core/src/test/java/org/apache/oozie/util/TestCoordActionsInDateRange.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/util/TestCoordActionsInDateRange.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/core/src/test/java/org/apache/oozie/util/TestCoordActionsInDateRange.java
 (original)
+++ 
oozie/trunk/core/src/test/java/org/apache/oozie/util/TestCoordActionsInDateRange.java
 Mon Oct 28 18:43:27 2013
@@ -39,7 +39,6 @@ public class TestCoordActionsInDateRange
         super.setUp();
         services = new Services();
         services.init();
-        cleanUpDBTables();
         LocalOozie.start();
     }
 

Modified: oozie/trunk/release-log.txt
URL: 
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Mon Oct 28 18:43:27 2013
@@ -1,5 +1,6 @@
 -- Oozie 4.1.0 release (trunk - unreleased)
 
+OOZIE-1597 Cleanup database before every test (rkanter)
 OOZIE-1589 TestZKLocksService is flakey (rkanter)
 OOZIE-1541 Typo in Oozie HA admin -servers command in documentation (rkanter)
 OOZIE-1596 TestOozieMySqlDBCLI.testCreateMysql fails when tests are executed 
in a different order (rkanter)

Modified: 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieDBCLI.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieDBCLI.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieDBCLI.java 
(original)
+++ oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieDBCLI.java 
Mon Oct 28 18:43:27 2013
@@ -52,7 +52,7 @@ public class TestOozieDBCLI extends XTes
         Connection conn = DriverManager.getConnection(url, "sa", "");
         conn.close();
 
-        super.setUp();
+        super.setUp(false);
 
     }
 

Modified: 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieMySqlDBCLI.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieMySqlDBCLI.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieMySqlDBCLI.java 
(original)
+++ 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieMySqlDBCLI.java 
Mon Oct 28 18:43:27 2013
@@ -47,7 +47,7 @@ public class TestOozieMySqlDBCLI extends
         Connection conn = DriverManager.getConnection(url, "sa", "");
         conn.close();
 
-        super.setUp();
+        super.setUp(false);
 
     }
 

Modified: 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieSharelibCLI.java
URL: 
http://svn.apache.org/viewvc/oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieSharelibCLI.java?rev=1536479&r1=1536478&r2=1536479&view=diff
==============================================================================
--- 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieSharelibCLI.java
 (original)
+++ 
oozie/trunk/tools/src/test/java/org/apache/oozie/tools/TestOozieSharelibCLI.java
 Mon Oct 28 18:43:27 2013
@@ -51,7 +51,7 @@ public class TestOozieSharelibCLI extend
     protected void setUp() throws Exception {
         SECURITY_MANAGER = System.getSecurityManager();
         new LauncherSecurityManager();
-        super.setUp();
+        super.setUp(false);
 
     }
 


Reply via email to