killbill-aplcache

Uniformization of test setup Fix broken beatrix test-- that

2/21/2013 10:03:29 PM

Changes

Details

diff --git a/account/src/test/java/com/ning/billing/account/AccountTestSuiteNoDB.java b/account/src/test/java/com/ning/billing/account/AccountTestSuiteNoDB.java
index 285e46c..f246c08 100644
--- a/account/src/test/java/com/ning/billing/account/AccountTestSuiteNoDB.java
+++ b/account/src/test/java/com/ning/billing/account/AccountTestSuiteNoDB.java
@@ -66,18 +66,18 @@ public abstract class AccountTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected NonEntityDao nonEntityDao;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestAccountModuleNoDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
         bus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() throws Exception {
         bus.stop();
     }
 }
diff --git a/account/src/test/java/com/ning/billing/account/AccountTestSuiteWithEmbeddedDB.java b/account/src/test/java/com/ning/billing/account/AccountTestSuiteWithEmbeddedDB.java
index f784c0f..8bf7352 100644
--- a/account/src/test/java/com/ning/billing/account/AccountTestSuiteWithEmbeddedDB.java
+++ b/account/src/test/java/com/ning/billing/account/AccountTestSuiteWithEmbeddedDB.java
@@ -66,18 +66,19 @@ public abstract class AccountTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     protected NonEntityDao nonEntityDao;
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestAccountModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         bus.start();
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() {
+    public void afterMethod() throws Exception {
         bus.stop();
     }
 }
diff --git a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteNoDB.java b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteNoDB.java
index c31930e..7dc70dd 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteNoDB.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteNoDB.java
@@ -122,18 +122,18 @@ public abstract class AnalyticsTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB 
     protected BusinessTagDao tagDao;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestAnalyticsModuleNoDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
         bus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() throws Exception {
         bus.stop();
     }
 }
diff --git a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteWithEmbeddedDB.java b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteWithEmbeddedDB.java
index 6541125..6060dcd 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteWithEmbeddedDB.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestSuiteWithEmbeddedDB.java
@@ -125,19 +125,20 @@ public abstract class AnalyticsTestSuiteWithEmbeddedDB extends GuicyKillbillTest
     protected BusinessTagDao tagDao;
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestAnalyticsModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         bus.start();
         restartAnalyticsService();
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         bus.stop();
         stopAnalyticsService();
     }
diff --git a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
index 7166f74..ace0c73 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
@@ -93,7 +93,8 @@ public class TestAnalyticsService extends AnalyticsTestSuiteWithEmbeddedDB {
     private PaymentInfoInternalEvent paymentInfoNotification;
 
     @BeforeMethod(groups = "slow")
-    public void createMocks() throws AccountApiException {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         Mockito.when(catalogService.getFullCatalog()).thenReturn(new MockCatalog());
 
         final PaymentMethod paymentMethod = Mockito.mock(PaymentMethod.class);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/dao/TestAnalyticsDao.java b/analytics/src/test/java/com/ning/billing/analytics/dao/TestAnalyticsDao.java
index 58e6d46..0219eac 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/dao/TestAnalyticsDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/dao/TestAnalyticsDao.java
@@ -67,7 +67,8 @@ public class TestAnalyticsDao extends AnalyticsTestSuiteWithEmbeddedDB {
     private final Catalog catalog = Mockito.mock(Catalog.class);
 
     @BeforeClass(groups = "slow")
-    public void setupMocks() throws IOException, ClassNotFoundException, SQLException, CatalogApiException {
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         Mockito.when(catalog.findPlan(Mockito.anyString(), Mockito.<DateTime>any())).thenReturn(plan);
         Mockito.when(catalog.findPlan(Mockito.anyString(), Mockito.<DateTime>any(), Mockito.<DateTime>any())).thenReturn(plan);
         Mockito.when(catalog.findPhase(Mockito.anyString(), Mockito.<DateTime>any(), Mockito.<DateTime>any())).thenReturn(phase);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
index 7ea70a2..9bff5c7 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessAccount.java
@@ -32,7 +32,8 @@ public class TestBusinessAccount extends AnalyticsTestSuiteNoDB {
     private BusinessAccountModelDao account;
 
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         account = new BusinessAccountModelDao(UUID.randomUUID(), "pierre", UUID.randomUUID().toString(), BigDecimal.ONE, clock.getUTCToday(),
                                               BigDecimal.TEN, "ERROR_NOT_ENOUGH_FUNDS", "CreditCard", "Visa", "", UUID.randomUUID().toString(),
                                               clock.getUTCNow(), clock.getUTCNow());
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscription.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscription.java
index 14a4fc9..f69c32a 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscription.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscription.java
@@ -116,8 +116,11 @@ public class TestBusinessSubscription extends AnalyticsTestSuiteNoDB {
 
     private final Catalog catalog = Mockito.mock(Catalog.class);
 
+
+    @Override
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         product = new MockProduct("platinium", "subscription", ProductCategory.BASE);
         plan = new MockPlan("platinum-monthly", product);
         phase = new MockPhase(PhaseType.EVERGREEN, plan, MockDuration.UNLIMITED(), 25.95);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionEvent.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionEvent.java
index 7b85925..2608fe4 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionEvent.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionEvent.java
@@ -45,8 +45,10 @@ public class TestBusinessSubscriptionEvent extends AnalyticsTestSuiteNoDB {
 
     private final Catalog catalog = Mockito.mock(Catalog.class);
 
+    @Override
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         product = new MockProduct("platinium", "subscription", ProductCategory.BASE);
         plan = new MockPlan("platinum-monthly", product);
         phase = new MockPhase(PhaseType.EVERGREEN, plan, MockDuration.UNLIMITED(), 25.95);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransition.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransition.java
index 1440516..716a189 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransition.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransition.java
@@ -57,8 +57,10 @@ public class TestBusinessSubscriptionTransition extends AnalyticsTestSuiteNoDB {
 
     private final Catalog catalog = Mockito.mock(Catalog.class);
 
-    @BeforeMethod(alwaysRun = true)
-    public void setUp() throws Exception {
+    @Override
+    @BeforeMethod(groups = "fast")
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final Product product = new MockProduct("platinium", "subscription", ProductCategory.BASE);
         final Plan plan = new MockPlan("platinum-monthly", product);
         final PlanPhase phase = new MockPhase(PhaseType.EVERGREEN, plan, MockDuration.UNLIMITED(), 25.95);
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestBasicOSGIWithTestBundle.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestBasicOSGIWithTestBundle.java
index bac5205..3c3f975 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestBasicOSGIWithTestBundle.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestBasicOSGIWithTestBundle.java
@@ -65,7 +65,7 @@ public class TestBasicOSGIWithTestBundle extends TestOSGIBase {
     private OSGIServiceRegistration<PaymentPluginApi> paymentPluginApiOSGIServiceRegistration;
 
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
 
         final String jdbcConnection = getDBTestingHelper().getJdbcConnectionString();
         final String userName = DBTestingHelper.USERNAME;
@@ -76,7 +76,7 @@ public class TestBasicOSGIWithTestBundle extends TestOSGIBase {
         System.setProperty(OSGIDataSourceConfig.DATA_SOURCE_PROP_PREFIX + "jdbc.password", userPwd);
 
         // OSGIDataSourceConfig
-        super.setup();
+        super.beforeClass();
 
         // This is extracted from surefire system configuration-- needs to be added explicitly in IntelliJ for correct running
         final String killbillVersion = System.getProperty("killbill.version");
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
index a3e0b6a..a15bcd0 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueBase.java
@@ -70,8 +70,10 @@ public abstract class TestOverdueBase extends TestIntegrationBase {
         }
     };
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupOverdue() throws Exception {
+    public void beforeMethod( ) throws Exception {
+        super.beforeMethod();
         final String configXml = getOverdueConfig();
         final InputStream is = new ByteArrayInputStream(configXml.getBytes());
         final OverdueConfig config = XMLLoader.getObjectFromStreamNoValidation(is, OverdueConfig.class);
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestAnalytics.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestAnalytics.java
index 9caa951..f6863b4 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestAnalytics.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestAnalytics.java
@@ -71,8 +71,10 @@ public class TestAnalytics extends TestIntegrationBase {
 
     private Plan subscriptionPlan;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setUpAnalyticsHandler() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final String configXml = "<overdueConfig>" +
                                  "   <bundleOverdueStates>" +
                                  "       <state name=\"OD3\">" +
@@ -128,8 +130,10 @@ public class TestAnalytics extends TestIntegrationBase {
         account = verifyAccountCreation(initialDate.plusDays(30).getDayOfMonth());
     }
 
+    @Override
     @AfterMethod(groups = "slow")
-    public void tearDownAnalyticsHandler() throws Exception {
+    public void afterMethod() throws Exception {
+        super.afterMethod();
         busService.getBus().unregister(analyticsListener);
         // Reset the payment plugin for other tests
         paymentPlugin.clear();
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
index b7817af..7b50732 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
@@ -355,23 +355,23 @@ public class TestIntegration extends TestIntegrationBase {
         final int maxIterations = 100;
         for (int curIteration = 0; curIteration < maxIterations; curIteration++) {
             if (curIteration != 0) {
-                setupTest();
+                beforeMethod();
             }
 
             log.info("################################  ITERATION " + curIteration + "  #########################");
-            cleanupTest();
-            setupTest();
+            afterMethod();
+            beforeMethod();
             testBasePlanCompleteWithBillingDayInPast();
             Thread.sleep(1000);
-            cleanupTest();
-            setupTest();
+            afterMethod();
+            beforeMethod();
             testBasePlanCompleteWithBillingDayAlignedWithTrial();
             Thread.sleep(1000);
-            cleanupTest();
-            setupTest();
+            afterMethod();
+            beforeMethod();
             testBasePlanCompleteWithBillingDayInFuture();
             if (curIteration < maxIterations - 1) {
-                cleanupTest();
+                afterMethod();
                 Thread.sleep(1000);
             }
         }
@@ -383,11 +383,11 @@ public class TestIntegration extends TestIntegrationBase {
         for (int curIteration = 0; curIteration < maxIterations; curIteration++) {
             log.info("################################  ITERATION " + curIteration + "  #########################");
             if (curIteration != 0) {
-                setupTest();
+                beforeMethod();
             }
             testAddonsWithMultipleAlignments();
             if (curIteration < maxIterations - 1) {
-                cleanupTest();
+                afterMethod();
                 Thread.sleep(1000);
             }
         }
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
index bd6730b..0e19854 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
@@ -223,7 +223,7 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
     }
 
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
         final Injector g = Guice.createInjector(Stage.PRODUCTION, new BeatrixIntegrationModule());
         g.injectMembers(this);
         busHandler = new TestApiListener(this);
@@ -235,7 +235,9 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
 
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+
+        super.beforeMethod();
         log.warn("\n");
         log.warn("RESET TEST FRAMEWORK\n\n");
 
@@ -252,7 +254,7 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         lifecycle.fireShutdownSequencePriorEventUnRegistration();
         busService.getBus().unregister(busHandler);
         lifecycle.fireShutdownSequencePostEventUnRegistration();
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
index d79e09c..fa14d21 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java
@@ -62,9 +62,10 @@ public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
     private BillingPeriod term;
     private String planSetName;
 
+    @Override
     @BeforeMethod(groups = {"slow"})
-    public void setupBeforeTest() throws Exception {
-
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         account = createAccountWithPaymentMethod(getAccountData(25));
         assertNotNull(account);
 
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
index 07c48e4..bd07214 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java
@@ -69,9 +69,10 @@ public class TestIntegrationWithAutoPayOff extends TestIntegrationBase {
     private String planSetName;
 
 
+    @Override
     @BeforeMethod(groups = {"slow"})
-    public void setupBeforeTest() throws Exception {
-
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         account = createAccountWithPaymentMethod(getAccountData(25));
         assertNotNull(account);
 
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPaymentRefund.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPaymentRefund.java
index f2ead6a..4afd2b8 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPaymentRefund.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPaymentRefund.java
@@ -59,16 +59,18 @@ public class TestPaymentRefund extends TestIntegrationBase {
     private DateTime initialCreationDate;
     private int invoiceItemCount;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         invoiceItemCount = 1;
         setupRefundTest();
     }
 
     @Test(groups = "slow")
     public void testRefundWithNoAdjustments() throws Exception {
-        refundPaymentAndCheckForCompletion(account, payment);
+        // Although we don't adjust the invoice, the invoicing system sends an event because invoice balance changes and overdue system-- in particular-- needs to know about it.
+        refundPaymentAndCheckForCompletion(account, payment, NextEvent.INVOICE_ADJUSTMENT);
         refundChecker.checkRefund(payment.getId(), callContext, new ExpectedRefundCheck(payment.getId(), false, new BigDecimal("233.83"), Currency.USD, initialCreationDate.toLocalDate()));
     }
 
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
index 37800f0..db26e0c 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestPublicBus.java
@@ -51,7 +51,8 @@ public class TestPublicBus extends TestIntegrationBase {
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
 
         publicListener = new PublicListener();
 
diff --git a/catalog/src/test/java/com/ning/billing/catalog/CatalogTestSuiteNoDB.java b/catalog/src/test/java/com/ning/billing/catalog/CatalogTestSuiteNoDB.java
index 3687ad1..1c7df9a 100644
--- a/catalog/src/test/java/com/ning/billing/catalog/CatalogTestSuiteNoDB.java
+++ b/catalog/src/test/java/com/ning/billing/catalog/CatalogTestSuiteNoDB.java
@@ -32,7 +32,7 @@ public abstract class CatalogTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected VersionedCatalogLoader loader;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestCatalogModuleNoDB());
         injector.injectMembers(this);
     }
diff --git a/catalog/src/test/java/com/ning/billing/catalog/rules/TestPlanRules.java b/catalog/src/test/java/com/ning/billing/catalog/rules/TestPlanRules.java
index 58152dc..3bae0a7 100644
--- a/catalog/src/test/java/com/ning/billing/catalog/rules/TestPlanRules.java
+++ b/catalog/src/test/java/com/ning/billing/catalog/rules/TestPlanRules.java
@@ -17,6 +17,7 @@
 package com.ning.billing.catalog.rules;
 
 import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
@@ -39,8 +40,8 @@ public class TestPlanRules extends CatalogTestSuiteNoDB {
 
     private MockCatalog cat = null;
 
-    @BeforeTest(groups = "fast")
-    public void setupTest() {
+    @BeforeMethod(groups = "fast")
+    public void beforeMethod() {
         cat = new MockCatalog();
 
         final DefaultPriceList priceList2 = cat.getPriceLists().getChildPriceLists()[0];
diff --git a/catalog/src/test/java/com/ning/billing/catalog/TestLimits.java b/catalog/src/test/java/com/ning/billing/catalog/TestLimits.java
index 1e6f760..61b4d6b 100644
--- a/catalog/src/test/java/com/ning/billing/catalog/TestLimits.java
+++ b/catalog/src/test/java/com/ning/billing/catalog/TestLimits.java
@@ -28,7 +28,8 @@ public class TestLimits extends CatalogTestSuiteNoDB {
     private VersionedCatalog catalog;
     
     @BeforeClass(groups = "fast")
-    public void setUp() throws ServiceException {
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         catalog = loader.load(Resources.getResource("WeaponsHireSmall.xml").toString());
     }
 
diff --git a/catalog/src/test/java/com/ning/billing/catalog/TestVersionedCatalog.java b/catalog/src/test/java/com/ning/billing/catalog/TestVersionedCatalog.java
index 31c4782..f008c10 100644
--- a/catalog/src/test/java/com/ning/billing/catalog/TestVersionedCatalog.java
+++ b/catalog/src/test/java/com/ning/billing/catalog/TestVersionedCatalog.java
@@ -44,7 +44,8 @@ public class TestVersionedCatalog extends CatalogTestSuiteNoDB {
     private VersionedCatalog vc;
 
     @BeforeClass(groups = "fast")
-    public void setUp() throws ServiceException {
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         vc = loader.load(Resources.getResource("versionedCatalog").toString());
     }
 
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/alignment/TestPlanAligner.java b/entitlement/src/test/java/com/ning/billing/entitlement/alignment/TestPlanAligner.java
index 5528d7c..16deb9d 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/alignment/TestPlanAligner.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/alignment/TestPlanAligner.java
@@ -57,8 +57,10 @@ public class TestPlanAligner extends EntitlementTestSuiteNoDB {
     private DefaultCatalogService catalogService;
     private PlanAligner planAligner;
 
+    @Override
     @BeforeClass(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         final VersionedCatalogLoader versionedCatalogLoader = new VersionedCatalogLoader(clock);
         final CatalogConfig config = new ConfigurationObjectFactory(new ConfigSource() {
             final Map<String, String> properties = ImmutableMap.<String, String>of("killbill.catalog.uri", "file:src/test/resources/testInput.xml");
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
index ee50c23..6773d3f 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
@@ -52,9 +52,10 @@ public class TestRepairWithError extends EntitlementTestSuiteNoDB {
     private TestWithException test;
     private Subscription baseSubscription;
 
+    @Override
     @BeforeMethod(alwaysRun = true)
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         test = new TestWithException();
         final DateTime startDate = clock.getUTCNow();
         baseSubscription = testUtil.createSubscription(bundle, baseProduct, BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestDefaultEntitlementTransferApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestDefaultEntitlementTransferApi.java
index bd18ac9..237a21d 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestDefaultEntitlementTransferApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/transfer/TestDefaultEntitlementTransferApi.java
@@ -56,8 +56,10 @@ public class TestDefaultEntitlementTransferApi extends EntitlementTestSuiteNoDB 
 
     private DefaultEntitlementTransferApi transferApi;
 
+    @Override
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final NonEntityDao nonEntityDao = Mockito.mock(NonEntityDao.class);
         final EntitlementDao dao = Mockito.mock(EntitlementDao.class);
         final CatalogService catalogService = new MockCatalogService(new MockCatalog());
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteNoDB.java b/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteNoDB.java
index 2348176..371a119 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteNoDB.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteNoDB.java
@@ -93,14 +93,14 @@ public class EntitlementTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected SubscriptionBundle bundle;
 
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
         DefaultEntitlementTestInitializer.loadSystemPropertiesFromClasspath("/entitlement.properties");
         final Injector g = Guice.createInjector(Stage.PRODUCTION, new TestEngineModuleNoDB());
         g.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
 
         // CLEANUP ALL DB TABLES OR IN MEMORY STRUCTURES
         ((MockEntitlementDaoMemory) dao).reset();
@@ -113,7 +113,7 @@ public class EntitlementTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         entitlementTestInitializer.stopTestFramework(testListener, busService, entitlementService);
     }
 
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteWithEmbeddedDB.java b/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteWithEmbeddedDB.java
index c64dd1a..459eb80 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteWithEmbeddedDB.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/EntitlementTestSuiteWithEmbeddedDB.java
@@ -91,14 +91,16 @@ public class EntitlementTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuiteWi
     protected SubscriptionBundle bundle;
 
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
         DefaultEntitlementTestInitializer.loadSystemPropertiesFromClasspath("/entitlement.properties");
         final Injector g = Guice.createInjector(Stage.PRODUCTION, new TestEngineModuleWithEmbeddedDB());
         g.injectMembers(this);
     }
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         entitlementTestInitializer.startTestFamework(testListener, testListenerStatus, clock, busService, entitlementService);
 
         this.catalog = entitlementTestInitializer.initCatalog(catalogService);
@@ -107,7 +109,7 @@ public class EntitlementTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuiteWi
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         entitlementTestInitializer.stopTestFramework(testListener, busService, entitlementService);
     }
 
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
index 85cd2e9..8e665f1 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
@@ -51,9 +51,10 @@ public class TestDefaultInvoiceMigrationApi extends InvoiceTestSuiteWithEmbedded
     private static final BigDecimal MIGRATION_INVOICE_AMOUNT = new BigDecimal("100.00");
     private static final Currency MIGRATION_INVOICE_CURRENCY = Currency.USD;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         date_migrated = clock.getUTCToday().minusYears(1);
         date_regular = clock.getUTCNow();
 
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
index 647437a..33d66ba 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/user/TestDefaultInvoiceUserApi.java
@@ -45,9 +45,10 @@ public class TestDefaultInvoiceUserApi extends InvoiceTestSuiteWithEmbeddedDB {
     private UUID accountId;
     private UUID invoiceId;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final Account account = invoiceUtil.createAccount();
         accountId = account.getId();
         invoiceId = invoiceUtil.generateRegularInvoice(account, clock.getUTCNow());
diff --git a/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteNoDB.java b/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteNoDB.java
index 98597ab..3194359 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteNoDB.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteNoDB.java
@@ -91,7 +91,7 @@ public abstract class InvoiceTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
 
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
 
         loadSystemPropertiesFromClasspath("/resource.properties");
 
@@ -100,12 +100,12 @@ public abstract class InvoiceTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() {
         bus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() {
         bus.stop();
     }
 
diff --git a/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteWithEmbeddedDB.java b/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteWithEmbeddedDB.java
index 2783174..71bb132 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteWithEmbeddedDB.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/InvoiceTestSuiteWithEmbeddedDB.java
@@ -107,16 +107,17 @@ public abstract class InvoiceTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
 
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
-
+    protected void beforeClass() throws Exception {
         loadSystemPropertiesFromClasspath("/resource.properties");
 
         final Injector injector = Guice.createInjector(new TestInvoiceModuleWithEmbeddedDb());
         injector.injectMembers(this);
     }
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         bus.start();
         restartInvoiceService(invoiceService);
     }
@@ -133,7 +134,7 @@ public abstract class InvoiceTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         bus.stop();
         stopInvoiceService(invoiceService);
     }
diff --git a/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceFormatter.java b/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceFormatter.java
index fbe8e5c..7998d77 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceFormatter.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceFormatter.java
@@ -51,8 +51,8 @@ public class TestDefaultInvoiceFormatter extends InvoiceTestSuiteNoDB {
     private MustacheTemplateEngine templateEngine;
 
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         config = new ConfigurationObjectFactory(System.getProperties()).build(TranslatorConfig.class);
         templateEngine = new MustacheTemplateEngine();
     }
diff --git a/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceItemFormatter.java b/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceItemFormatter.java
index 85604e7..e9ce70e 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceItemFormatter.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/template/formatters/TestDefaultInvoiceItemFormatter.java
@@ -44,9 +44,10 @@ public class TestDefaultInvoiceItemFormatter extends InvoiceTestSuiteNoDB {
     private TranslatorConfig config;
     private MustacheTemplateEngine templateEngine;
 
+    @Override
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         config = new ConfigurationObjectFactory(System.getProperties()).build(TranslatorConfig.class);
         templateEngine = new MustacheTemplateEngine();
     }
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java b/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
index a17dd6d..fd00f39 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestHtmlInvoiceGenerator.java
@@ -46,9 +46,10 @@ public class TestHtmlInvoiceGenerator extends InvoiceTestSuiteNoDB {
 
     private HtmlInvoiceGenerator g;
 
+    @Override
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         final TranslatorConfig config = new ConfigurationObjectFactory(System.getProperties()).build(TranslatorConfig.class);
         final TemplateEngine templateEngine = new MustacheTemplateEngine();
         final InvoiceFormatterFactory factory = new DefaultInvoiceFormatterFactory();
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
index bea73f8..a4f7b92 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
@@ -61,9 +61,10 @@ public class TestInvoiceDispatcher extends InvoiceTestSuiteWithEmbeddedDB {
     private Account account;
     private Subscription subscription;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         account = invoiceUtil.createAccount();
         subscription = invoiceUtil.createSubscription();
     }
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/JaxrsTestSuiteNoDB.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/JaxrsTestSuiteNoDB.java
index a40ec50..f1b3400 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/JaxrsTestSuiteNoDB.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/JaxrsTestSuiteNoDB.java
@@ -32,7 +32,7 @@ public abstract class JaxrsTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected ObjectMapper mapper;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestJaxrsModuleNoDB());
         injector.injectMembers(this);
     }
diff --git a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
index af0d587..5998311 100644
--- a/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/api/blocking/TestBlockingApi.java
@@ -33,7 +33,8 @@ import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
 public class TestBlockingApi extends JunctionTestSuiteWithEmbeddedDB {
 
     @BeforeMethod(groups = "slow")
-    public void clean() {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         clock.resetDeltaFromReality();
     }
 
diff --git a/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java b/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
index 39a01ec..8e4ced1 100644
--- a/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
+++ b/junction/src/test/java/com/ning/billing/junction/blocking/TestBlockingChecker.java
@@ -43,7 +43,8 @@ public class TestBlockingChecker extends JunctionTestSuiteNoDB {
     private Subscription subscription;
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final UUID accountId = UUID.randomUUID();
         account = Mockito.mock(Account.class);
         Mockito.when(account.getId()).thenReturn(accountId);
diff --git a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteNoDB.java b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteNoDB.java
index 65df1f5..0972b2a 100644
--- a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteNoDB.java
+++ b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteNoDB.java
@@ -72,18 +72,18 @@ public abstract class JunctionTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected TagInternalApi tagInternalApi;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestJunctionModuleNoDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
         bus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() {
         bus.stop();
     }
 }
diff --git a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java
index ebd19a7..874ed47 100644
--- a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java
+++ b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java
@@ -68,19 +68,20 @@ public abstract class JunctionTestSuiteWithEmbeddedDB extends GuicyKillbillTestS
     @Inject
     protected TagInternalApi tagInternalApi;
 
-    @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    @BeforeClass(groups = "slow")
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestJunctionModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
-    @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    @BeforeMethod(groups = "slow")
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         bus.start();
     }
 
-    @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    @AfterMethod(groups = "slow")
+    public void afterMethod() {
         bus.stop();
     }
 }
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
index 6c27161..9d339b9 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillingApi.java
@@ -82,7 +82,8 @@ public class TestBillingApi extends JunctionTestSuiteNoDB {
     private MockCatalog catalog;
 
     @BeforeMethod(groups = "fast")
-    public void setupEveryTime() throws EntitlementUserApiException {
+    public void beforeMethod() throws Exception  {
+        super.beforeMethod();
         final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
         Mockito.when(bundle.getId()).thenReturn(bunId);
         final List<SubscriptionBundle> bundles = ImmutableList.<SubscriptionBundle>of(bundle);
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
index c435d42..9b56a46 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBlockingCalculator.java
@@ -70,7 +70,8 @@ public class TestBlockingCalculator extends JunctionTestSuiteNoDB {
     private Subscription subscription4;
 
     @BeforeMethod(groups = "fast")
-    public void setUpTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         account = Mockito.mock(Account.class);
         subscription1 = Mockito.mock(Subscription.class);
         subscription2 = Mockito.mock(Subscription.class);
diff --git a/overdue/src/test/java/com/ning/billing/ovedue/notification/TestDefaultOverdueCheckPoster.java b/overdue/src/test/java/com/ning/billing/ovedue/notification/TestDefaultOverdueCheckPoster.java
index 30e8d83..6130ddd 100644
--- a/overdue/src/test/java/com/ning/billing/ovedue/notification/TestDefaultOverdueCheckPoster.java
+++ b/overdue/src/test/java/com/ning/billing/ovedue/notification/TestDefaultOverdueCheckPoster.java
@@ -47,8 +47,10 @@ public class TestDefaultOverdueCheckPoster extends OverdueTestSuiteWithEmbeddedD
     private NotificationQueue overdueQueue;
     private DateTime testReferenceTime;
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         entitySqlDaoTransactionalJdbiWrapper = new EntitySqlDaoTransactionalJdbiWrapper(getDBI(), clock, cacheControllerDispatcher, nonEntityDao);
 
         overdueQueue = notificationQueueService.getNotificationQueue(DefaultOverdueService.OVERDUE_SERVICE_NAME,
diff --git a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
index 9d904f0..4d134d6 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/calculator/TestBillingStateCalculator.java
@@ -42,8 +42,10 @@ public class TestBillingStateCalculator extends OverdueTestSuiteNoDB {
 
     protected LocalDate now;
 
+    @Override
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final Account account = Mockito.mock(Account.class);
         Mockito.when(account.getTimeZone()).thenReturn(DateTimeZone.UTC);
         Mockito.when(accountApi.getAccountById(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(account);
diff --git a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
index b59d41c..47cdddc 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/notification/TestOverdueCheckNotifier.java
@@ -71,7 +71,8 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        //super.beforeMethod();
         // We override the parent method on purpose, because we want to register a different DefaultOverdueCheckNotifier
 
         final Account account = Mockito.mock(Account.class);
@@ -83,16 +84,15 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
         mockListener = new OverdueListenerMock(internalCallContextFactory);
         notifierForMock = new DefaultOverdueCheckNotifier(notificationQueueService, overdueProperties, mockListener);
 
-        bus.start();
         notifierForMock.initialize();
         notifierForMock.start();
     }
 
     @Override
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         notifierForMock.stop();
-        bus.stop();
+        super.afterMethod();
     }
 
     @Test(groups = "slow")
diff --git a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteNoDB.java b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteNoDB.java
index 73ff92f..5db2ff7 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteNoDB.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteNoDB.java
@@ -84,28 +84,22 @@ public abstract class OverdueTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected TestOverdueHelper testOverdueHelper;
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestOverdueModuleNoDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
         bus.start();
 
         service.registerForBus();
-        try {
             service.initialize();
-        } catch (RuntimeException e) {
-            if (!(e.getCause() instanceof NotificationQueueAlreadyExists)) {
-                throw e;
-            }
-        }
         service.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() {
         service.stop();
         bus.stop();
     }
diff --git a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteWithEmbeddedDB.java b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteWithEmbeddedDB.java
index b7ab466..9f5777e 100644
--- a/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteWithEmbeddedDB.java
+++ b/overdue/src/test/java/com/ning/billing/overdue/OverdueTestSuiteWithEmbeddedDB.java
@@ -89,13 +89,14 @@ public abstract class OverdueTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     protected TestOverdueHelper testOverdueHelper;
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestOverdueModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         bus.register(listener);
         bus.start();
 
@@ -106,7 +107,7 @@ public abstract class OverdueTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         service.stop();
         bus.stop();
     }
diff --git a/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java b/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
index 17b82d4..d6e1e59 100644
--- a/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
+++ b/payment/src/test/java/com/ning/billing/payment/api/TestPaymentApi.java
@@ -51,14 +51,14 @@ public class TestPaymentApi extends PaymentTestSuiteNoDB {
     private Account account;
 
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         account = testHelper.createTestAccount("yoyo.yahoo.com", false);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         final PaymentMethodPlugin paymentMethodInfo = new DefaultNoOpPaymentMethodPlugin(UUID.randomUUID().toString(), true, null);
         testHelper.addTestPaymentMethod(account, paymentMethodInfo);
     }
diff --git a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java
index 672ee07..df47692 100644
--- a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java
@@ -72,7 +72,7 @@ public abstract class PaymentTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
 
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
 
         loadSystemPropertiesFromClasspath("/resource.properties");
 
@@ -81,12 +81,12 @@ public abstract class PaymentTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
         eventBus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest()throws Exception  {
+    public void afterMethod()throws Exception  {
         eventBus.stop();
     }
 
diff --git a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java
index 81bddf7..0a94367 100644
--- a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java
@@ -73,7 +73,7 @@ public abstract class PaymentTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     protected TestPaymentHelper testHelper;
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
 
         loadSystemPropertiesFromClasspath("/resource.properties");
 
@@ -82,12 +82,13 @@ public abstract class PaymentTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
     }
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         eventBus.start();
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest()throws Exception  {
+    public void afterMethod()throws Exception  {
         eventBus.stop();
     }
 
diff --git a/payment/src/test/java/com/ning/billing/payment/provider/TestExternalPaymentProviderPlugin.java b/payment/src/test/java/com/ning/billing/payment/provider/TestExternalPaymentProviderPlugin.java
index 45c36e5..bd2bc91 100644
--- a/payment/src/test/java/com/ning/billing/payment/provider/TestExternalPaymentProviderPlugin.java
+++ b/payment/src/test/java/com/ning/billing/payment/provider/TestExternalPaymentProviderPlugin.java
@@ -38,8 +38,10 @@ public class TestExternalPaymentProviderPlugin extends PaymentTestSuiteNoDB {
     private final Clock clock = new ClockMock();
     private ExternalPaymentProviderPlugin plugin;
 
+    @Override
     @BeforeMethod(groups = "fast")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         plugin = new ExternalPaymentProviderPlugin(clock);
     }
 
diff --git a/payment/src/test/java/com/ning/billing/payment/TestRetryService.java b/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
index 56d4946..f7cbd7a 100644
--- a/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
+++ b/payment/src/test/java/com/ning/billing/payment/TestRetryService.java
@@ -51,8 +51,8 @@ public class TestRetryService extends PaymentTestSuiteNoDB {
 
     @Override
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         pluginRetryService.initialize(DefaultPaymentService.SERVICE_NAME);
         pluginRetryService.start();
 
@@ -65,8 +65,8 @@ public class TestRetryService extends PaymentTestSuiteNoDB {
 
     @Override
     @AfterMethod(groups = "fast")
-    public void cleanupTest() throws Exception {
-        super.cleanupTest();
+    public void afterMethod() throws Exception {
+        super.afterMethod();
         retryService.stop();
         pluginRetryService.stop();
     }
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
index 9eb93c3..31b7879 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -200,14 +200,15 @@ public class TestJaxrsBase extends KillbillClient {
     }
 
     @BeforeMethod(groups = "slow")
-    public void cleanupBeforeMethod() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         busHandler.reset();
         clock.reset();
         clock.setDay(new LocalDate(2012, 8, 25));
     }
 
     @BeforeClass(groups = "slow")
-    public void setupClass() throws Exception {
+    public void beforeClass() throws Exception {
         loadConfig();
 
 
@@ -235,7 +236,8 @@ public class TestJaxrsBase extends KillbillClient {
     }
 
     @BeforeSuite(groups = "slow")
-    public void setup() throws Exception {
+    public void beforeSuite() throws Exception {
+        super.beforeSuite();
         loadSystemPropertiesFromClasspath("/killbill.properties");
         loadConfig();
 
@@ -263,7 +265,7 @@ public class TestJaxrsBase extends KillbillClient {
     }
 
     @AfterSuite(groups = "slow")
-    public void tearDown() {
+    public void afterSuite() {
         try {
             server.stop();
         } catch (final Exception ignored) {
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestPlugin.java b/server/src/test/java/com/ning/billing/jaxrs/TestPlugin.java
index edd5333..87befef 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestPlugin.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestPlugin.java
@@ -51,8 +51,10 @@ public class TestPlugin extends TestJaxrsBase {
     private final AtomicBoolean requestDELETEMarker = new AtomicBoolean(false);
     private final AtomicBoolean requestOPTIONSMarker = new AtomicBoolean(false);
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setUp() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         setupOSGIPlugin();
         resetAllMarkers();
     }
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestPushNotification.java b/server/src/test/java/com/ning/billing/jaxrs/TestPushNotification.java
index eacaf5e..83ab8cf 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestPushNotification.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestPushNotification.java
@@ -51,8 +51,10 @@ public class TestPushNotification extends TestJaxrsBase {
     private volatile boolean callbackCompletedWithError;
 
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void startServer() throws Exception {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         callbackServer = new CallbackServer(this, SERVER_PORT, CALLBACK_ENDPPOINT);
         callbackCompleted = false;
         callbackCompletedWithError = false;
@@ -60,7 +62,7 @@ public class TestPushNotification extends TestJaxrsBase {
     }
 
     @AfterMethod(groups = "slow")
-    public void stopServer() throws Exception {
+    public void afterMethod() throws Exception {
         callbackServer.stopServer();
     }
 
diff --git a/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java b/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
index f89cf16..8f353f8 100644
--- a/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
+++ b/server/src/test/java/com/ning/billing/server/security/TestKillbillJdbcRealm.java
@@ -46,9 +46,9 @@ public class TestKillbillJdbcRealm extends TestJaxrsBase {
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void cleanupBeforeMethod() throws Exception {
+    public void beforeMethod() throws Exception {
 
-        super.cleanupBeforeMethod();
+        super.beforeMethod();
 
         // Create the tenant
         final CacheControllerDispatcher controllerDispatcher = new CacheControllerDispatcher();
diff --git a/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java b/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
index e10b69e..26dd469 100644
--- a/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
+++ b/tenant/src/test/java/com/ning/billing/tenant/dao/TestDefaultTenantDao.java
@@ -23,6 +23,7 @@ import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
 import org.apache.shiro.authc.UsernamePasswordToken;
 import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import com.ning.billing.tenant.TenantTestSuiteWithEmbeddedDb;
diff --git a/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteNoDB.java b/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteNoDB.java
index 0e12ad0..4f0f6fa 100644
--- a/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteNoDB.java
+++ b/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteNoDB.java
@@ -16,9 +16,7 @@
 
 package com.ning.billing.tenant;
 
-import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
 
 import com.ning.billing.GuicyKillbillTestSuiteNoDB;
 import com.ning.billing.tenant.glue.TestTenantModuleNoDB;
@@ -29,16 +27,8 @@ import com.google.inject.Injector;
 public class TenantTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestTenantModuleNoDB());
         injector.injectMembers(this);
     }
-
-    @BeforeMethod(groups = "fast")
-    public void setupTest() {
-    }
-
-    @AfterMethod(groups = "fast")
-    public void cleanupTest() {
-    }
 }
diff --git a/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteWithEmbeddedDb.java b/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteWithEmbeddedDb.java
index 18f36a1..f1adbd1 100644
--- a/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteWithEmbeddedDb.java
+++ b/tenant/src/test/java/com/ning/billing/tenant/TenantTestSuiteWithEmbeddedDb.java
@@ -34,16 +34,17 @@ public class TenantTestSuiteWithEmbeddedDb extends GuicyKillbillTestSuiteWithEmb
     protected DefaultTenantDao tenantDao;
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestTenantModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "slow")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() {
+    public void afterMethod() {
     }
 }
diff --git a/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteNoDB.java b/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteNoDB.java
index 0721f7a..23ba2b9 100644
--- a/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteNoDB.java
+++ b/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteNoDB.java
@@ -29,16 +29,16 @@ import com.google.inject.Injector;
 public class UsageTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
 
     @BeforeClass(groups = "fast")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestUsageModuleNoDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() {
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() {
     }
 }
diff --git a/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteWithEmbeddedDB.java b/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteWithEmbeddedDB.java
index 28ee828..7b92aa3 100644
--- a/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteWithEmbeddedDB.java
+++ b/usage/src/test/java/com/ning/billing/usage/UsageTestSuiteWithEmbeddedDB.java
@@ -29,16 +29,16 @@ import com.google.inject.Injector;
 public class UsageTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuiteWithEmbeddedDB {
 
     @BeforeClass(groups = "slow")
-    protected void setup() throws Exception {
+    protected void beforeClass() throws Exception {
         final Injector injector = Guice.createInjector(new TestUsageModuleWithEmbeddedDB());
         injector.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() {
+    public void beforeMethod() throws Exception {
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() {
+    public void afterMethod() {
     }
 }
diff --git a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
index 86ab3ce..0605d36 100644
--- a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
+++ b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
@@ -55,14 +55,14 @@ public class GuicyKillbillTestSuite {
     }
 
     @BeforeMethod(alwaysRun = true)
-    public void startTestSuite(final Method method) throws Exception {
+    public void beforeMethodAlwaysRun(final Method method) throws Exception {
         log.info("***************************************************************************************************");
         log.info("*** Starting test {}:{}", method.getDeclaringClass().getName(), method.getName());
         log.info("***************************************************************************************************");
     }
 
     @AfterMethod(alwaysRun = true)
-    public void endTestSuite(final Method method, final ITestResult result) throws Exception {
+    public void afterMethodAlwaysRun(final Method method, final ITestResult result) throws Exception {
         log.info("***************************************************************************************************");
         log.info("***   Ending test {}:{} {} ({} s.)", new Object[]{method.getDeclaringClass().getName(), method.getName(),
                 result.isSuccess() ? "SUCCESS" : "!!! FAILURE !!!",
diff --git a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
index 8ec407e..cfc6f22 100644
--- a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
+++ b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuiteWithEmbeddedDB.java
@@ -16,10 +16,6 @@
 
 package com.ning.billing;
 
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.sql.SQLException;
-
 import javax.inject.Inject;
 
 import org.skife.jdbi.v2.IDBI;
@@ -30,8 +26,6 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeSuite;
 
 import com.ning.billing.dbi.DBTestingHelper;
-import com.ning.billing.dbi.H2TestingHelper;
-import com.ning.billing.dbi.MysqlTestingHelper;
 
 public class GuicyKillbillTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite {
 
@@ -49,15 +43,14 @@ public class GuicyKillbillTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite
     }
 
     @BeforeSuite(groups = {"slow", "mysql"})
-    public void startMysqlBeforeTestSuite() throws IOException, ClassNotFoundException, SQLException, URISyntaxException {
-
+    public void beforeSuite() throws Exception {
         GuicyKillbillTestWithEmbeddedDBModule.getDBTestingHelper().start();
         GuicyKillbillTestWithEmbeddedDBModule.getDBTestingHelper().initDb();
         GuicyKillbillTestWithEmbeddedDBModule.getDBTestingHelper().cleanupAllTables();
     }
 
     @BeforeMethod(groups = {"slow", "mysql"})
-    public void cleanupTablesBetweenMethods() {
+    public void beforeMethod() throws Exception {
         try {
             GuicyKillbillTestWithEmbeddedDBModule.getDBTestingHelper().cleanupAllTables();
         } catch (Exception ignored) {
@@ -65,7 +58,7 @@ public class GuicyKillbillTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite
     }
 
     @AfterSuite(groups = {"slow", "mysql"})
-    public void shutdownMysqlAfterTestSuite() throws IOException, ClassNotFoundException, SQLException, URISyntaxException {
+    public void afterSuite() throws Exception {
         if (hasFailed()) {
             log.error("**********************************************************************************************");
             log.error("*** TESTS HAVE FAILED - LEAVING DB RUNNING FOR DEBUGGING - MAKE SURE TO KILL IT ONCE DONE ****");
diff --git a/util/src/test/java/com/ning/billing/util/audit/api/TestDefaultAuditUserApi.java b/util/src/test/java/com/ning/billing/util/audit/api/TestDefaultAuditUserApi.java
index 955653f..9f14e5b 100644
--- a/util/src/test/java/com/ning/billing/util/audit/api/TestDefaultAuditUserApi.java
+++ b/util/src/test/java/com/ning/billing/util/audit/api/TestDefaultAuditUserApi.java
@@ -58,11 +58,13 @@ public class TestDefaultAuditUserApi extends AuditLogsTestBase {
 
     @Override
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         auditLogs = ImmutableList.<AuditLog>of(createAuditLog(), createAuditLog(), createAuditLog(), createAuditLog());
         objectIds = ImmutableList.<UUID>of(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID());
-        super.setup();
+
+//        super.setup();
+
         for (final TableName tableName : TableName.values()) {
             for (final UUID objectId : objectIds) {
                 for (final AuditLog auditLog : auditLogs) {
diff --git a/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java b/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
index 79533d8..d411843 100644
--- a/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
+++ b/util/src/test/java/com/ning/billing/util/bus/TestEventBus.java
@@ -27,8 +27,8 @@ public class TestEventBus extends UtilTestSuiteNoDB {
 
     @Override
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         testEventBusBase = new TestEventBusBase(eventBus, internalCallContext);
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/bus/TestPersistentEventBus.java b/util/src/test/java/com/ning/billing/util/bus/TestPersistentEventBus.java
index 6e339f5..c9a6c60 100644
--- a/util/src/test/java/com/ning/billing/util/bus/TestPersistentEventBus.java
+++ b/util/src/test/java/com/ning/billing/util/bus/TestPersistentEventBus.java
@@ -28,8 +28,8 @@ public class TestPersistentEventBus extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         testEventBusBase = new TestEventBusBase(eventBus, internalCallContext);
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/dao/TestStringTemplateInheritance.java b/util/src/test/java/com/ning/billing/util/dao/TestStringTemplateInheritance.java
index 17399c3..4daf73a 100644
--- a/util/src/test/java/com/ning/billing/util/dao/TestStringTemplateInheritance.java
+++ b/util/src/test/java/com/ning/billing/util/dao/TestStringTemplateInheritance.java
@@ -36,16 +36,16 @@ public class TestStringTemplateInheritance extends UtilTestSuiteNoDB {
 
     @Override
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         entityStream = this.getClass().getResourceAsStream("/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg");
         kombuchaStream = this.getClass().getResourceAsStream("/com/ning/billing/util/dao/Kombucha.sql.stg");
     }
 
     @Override
     @AfterMethod(groups = "fast")
-    public void cleanupTest() throws Exception {
-        super.cleanupTest();
+    public void afterMethod() throws Exception {
+        super.afterMethod();
         if (entityStream != null) {
             entityStream.close();
         }
diff --git a/util/src/test/java/com/ning/billing/util/email/DefaultCatalogTranslationTest.java b/util/src/test/java/com/ning/billing/util/email/DefaultCatalogTranslationTest.java
index a5e0d08..d7f3ed4 100644
--- a/util/src/test/java/com/ning/billing/util/email/DefaultCatalogTranslationTest.java
+++ b/util/src/test/java/com/ning/billing/util/email/DefaultCatalogTranslationTest.java
@@ -37,8 +37,8 @@ public class DefaultCatalogTranslationTest extends UtilTestSuiteNoDB {
 
     @Override
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         final ConfigSource configSource = new ConfigSource() {
             private final Map<String, String> properties = ImmutableMap.<String, String>of("killbill.template.invoiceFormatterFactoryClass",
                                                                                            "com.ning.billing.mock.MockInvoiceFormatterFactory");
diff --git a/util/src/test/java/com/ning/billing/util/email/EmailSenderTest.java b/util/src/test/java/com/ning/billing/util/email/EmailSenderTest.java
index 367ffd1..2ac6509 100644
--- a/util/src/test/java/com/ning/billing/util/email/EmailSenderTest.java
+++ b/util/src/test/java/com/ning/billing/util/email/EmailSenderTest.java
@@ -29,7 +29,8 @@ public class EmailSenderTest extends UtilTestSuiteNoDB {
     private EmailConfig config;
 
     @BeforeClass
-    public void setup() {
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         config = new ConfigurationObjectFactory(System.getProperties()).build(EmailConfig.class);
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/notificationq/dao/TestNotificationSqlDao.java b/util/src/test/java/com/ning/billing/util/notificationq/dao/TestNotificationSqlDao.java
index 7bab177..866b711 100644
--- a/util/src/test/java/com/ning/billing/util/notificationq/dao/TestNotificationSqlDao.java
+++ b/util/src/test/java/com/ning/billing/util/notificationq/dao/TestNotificationSqlDao.java
@@ -44,8 +44,8 @@ public class TestNotificationSqlDao extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         dao = getDBI().onDemand(NotificationSqlDao.class);
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/notificationq/TestNotificationQueue.java b/util/src/test/java/com/ning/billing/util/notificationq/TestNotificationQueue.java
index 3018299..71a03f4 100644
--- a/util/src/test/java/com/ning/billing/util/notificationq/TestNotificationQueue.java
+++ b/util/src/test/java/com/ning/billing/util/notificationq/TestNotificationQueue.java
@@ -85,15 +85,15 @@ public class TestNotificationQueue extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         entitySqlDaoTransactionalJdbiWrapper = new EntitySqlDaoTransactionalJdbiWrapper(getDBI(), clock, cacheControllerDispatcher, nonEntityDao);
     }
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
 
         // Reset time to real value
         clock.resetDeltaFromReality();
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
index 2d238ea..e1c95b0 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDao.java
@@ -60,17 +60,17 @@ public class TestDefaultTagDao extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         eventsListener = new TestApiListener(null);
         eventBus.register(eventsListener);
     }
 
     @Override
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         eventBus.unregister(eventsListener);
-        super.cleanupTest();
+        super.afterMethod();
     }
 
     @Test(groups = "slow")
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
index b63e883..6ea6e0c 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/TestDefaultTagDefinitionDao.java
@@ -40,17 +40,17 @@ public class TestDefaultTagDefinitionDao extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception {
-        super.setupTest();
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
         eventsListener = new TestApiListener(null);
         eventBus.register(eventsListener);
     }
 
     @Override
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         eventBus.unregister(eventsListener);
-        super.cleanupTest();
+        super.afterMethod();
     }
 
 
diff --git a/util/src/test/java/com/ning/billing/util/UtilTestSuiteNoDB.java b/util/src/test/java/com/ning/billing/util/UtilTestSuiteNoDB.java
index 64fa9df..8a707a4 100644
--- a/util/src/test/java/com/ning/billing/util/UtilTestSuiteNoDB.java
+++ b/util/src/test/java/com/ning/billing/util/UtilTestSuiteNoDB.java
@@ -54,18 +54,18 @@ public class UtilTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
     protected AuditUserApi auditUserApi;
 
     @BeforeClass(groups = "fast")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
         final Injector g = Guice.createInjector(Stage.PRODUCTION, new TestUtilModuleNoDB());
         g.injectMembers(this);
     }
 
     @BeforeMethod(groups = "fast")
-    public void setupTest() throws Exception {
+    public void beforeMethod() throws Exception {
         eventBus.start();
     }
 
     @AfterMethod(groups = "fast")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         eventBus.stop();
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/UtilTestSuiteWithEmbeddedDB.java b/util/src/test/java/com/ning/billing/util/UtilTestSuiteWithEmbeddedDB.java
index 617eaef..ed154d0 100644
--- a/util/src/test/java/com/ning/billing/util/UtilTestSuiteWithEmbeddedDB.java
+++ b/util/src/test/java/com/ning/billing/util/UtilTestSuiteWithEmbeddedDB.java
@@ -71,18 +71,20 @@ public abstract class UtilTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite
     protected AuditDao auditDao;
 
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
+    public void beforeClass() throws Exception {
         final Injector g = Guice.createInjector(Stage.PRODUCTION, new TestUtilModuleWithEmbeddedDB());
         g.injectMembers(this);
     }
 
+    @Override
     @BeforeMethod(groups = "slow")
-    public void setupTest() throws Exception  {
+    public void beforeMethod() throws Exception  {
+        super.beforeMethod();
         eventBus.start();
     }
 
     @AfterMethod(groups = "slow")
-    public void cleanupTest() throws Exception {
+    public void afterMethod() throws Exception {
         eventBus.stop();
     }
 
diff --git a/util/src/test/java/com/ning/billing/util/validation/TestValidationManager.java b/util/src/test/java/com/ning/billing/util/validation/TestValidationManager.java
index 0faa814..c7c8803 100644
--- a/util/src/test/java/com/ning/billing/util/validation/TestValidationManager.java
+++ b/util/src/test/java/com/ning/billing/util/validation/TestValidationManager.java
@@ -39,8 +39,8 @@ public class TestValidationManager extends UtilTestSuiteWithEmbeddedDB {
 
     @Override
     @BeforeClass(groups = "slow")
-    public void setup() throws Exception {
-        super.setup();
+    public void beforeClass() throws Exception {
+        super.beforeClass();
         final DatabaseSchemaDao dao = new DatabaseSchemaDao(getDBI());
         vm = new ValidationManager(dao);
         vm.loadSchemaInformation(helper.getDbName());