killbill-memoizeit

junction: update tests setup * Add logging around each test *

7/7/2012 9:31:26 PM

Details

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 9174f80..de56229 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
@@ -16,67 +16,39 @@
 
 package com.ning.billing.junction.api.blocking;
 
-import java.io.IOException;
 import java.util.SortedSet;
 import java.util.UUID;
 
 import org.mockito.Mockito;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Guice;
 import org.testng.annotations.Test;
 
 import com.google.inject.Inject;
-import com.ning.billing.dbi.MysqlTestingHelper;
 import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.junction.JunctionTestSuiteWithEmbeddedDB;
 import com.ning.billing.junction.MockModule;
 import com.ning.billing.junction.api.Blockable;
 import com.ning.billing.junction.api.BlockingApi;
 import com.ning.billing.junction.api.BlockingState;
 import com.ning.billing.junction.api.DefaultBlockingState;
-import com.ning.billing.junction.dao.TestBlockingDao;
 import com.ning.billing.mock.glue.MockEntitlementModule;
 import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.io.IOUtils;
 
 @Guice(modules = {MockModule.class, MockEntitlementModule.class})
-public class TestBlockingApi {
-    private final Logger log = LoggerFactory.getLogger(TestBlockingDao.class);
-
-    @Inject
-    private MysqlTestingHelper helper;
-
+public class TestBlockingApi extends JunctionTestSuiteWithEmbeddedDB {
     @Inject
     private BlockingApi api;
 
     @Inject
     private ClockMock clock;
 
-    @BeforeClass(groups = "slow")
-    public void setup() throws IOException {
-        log.info("Starting set up TestBlockingApi");
-
-        final String utilDdl = IOUtils.toString(TestBlockingDao.class.getResourceAsStream("/com/ning/billing/junction/ddl.sql"));
-
-        helper.startMysql();
-        helper.initDb(utilDdl);
-    }
-
     @BeforeMethod(groups = "slow")
     public void clean() {
-        helper.cleanupTable("blocking_states");
         clock.resetDeltaFromReality();
     }
 
-    @AfterClass(groups = "slow")
-    public void stopMysql() {
-        helper.stopMysql();
-    }
-
     @Test(groups = "slow")
     public void testApi() {
         final UUID uuid = UUID.randomUUID();
diff --git a/junction/src/test/java/com/ning/billing/junction/blocking/MockBlockingChecker.java b/junction/src/test/java/com/ning/billing/junction/blocking/MockBlockingChecker.java
index ccf372b..0fa2e8c 100644
--- a/junction/src/test/java/com/ning/billing/junction/blocking/MockBlockingChecker.java
+++ b/junction/src/test/java/com/ning/billing/junction/blocking/MockBlockingChecker.java
@@ -24,11 +24,9 @@ import com.ning.billing.junction.api.BlockingApiException;
 import com.ning.billing.junction.block.BlockingChecker;
 
 public class MockBlockingChecker implements BlockingChecker {
-
     @Override
     public void checkBlockedChange(final Blockable blockable) throws BlockingApiException {
         // Intentionally blank
-
     }
 
     @Override
@@ -55,5 +53,4 @@ public class MockBlockingChecker implements BlockingChecker {
     public void checkBlockedBilling(final UUID bundleId, final Type type) throws BlockingApiException {
         // Intentionally blank
     }
-
 }
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 f2248d4..9959583 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
@@ -32,6 +32,7 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.Subscription;
 import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.junction.JunctionTestSuite;
 import com.ning.billing.junction.api.Blockable;
 import com.ning.billing.junction.api.BlockingApiException;
 import com.ning.billing.junction.api.BlockingState;
@@ -41,7 +42,7 @@ import com.ning.billing.junction.block.DefaultBlockingChecker;
 import com.ning.billing.junction.dao.BlockingStateDao;
 import com.ning.billing.util.clock.Clock;
 
-public class TestBlockingChecker {
+public class TestBlockingChecker extends JunctionTestSuite {
     private BlockingState bundleState;
     private BlockingState subscriptionState;
     private BlockingState accountState;
diff --git a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
index 6a29ad0..17c7f18 100644
--- a/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
+++ b/junction/src/test/java/com/ning/billing/junction/dao/TestBlockingDao.java
@@ -16,57 +16,29 @@
 
 package com.ning.billing.junction.dao;
 
-import java.io.IOException;
 import java.util.SortedSet;
 import java.util.UUID;
 
 import org.mockito.Mockito;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Guice;
 import org.testng.annotations.Test;
 
 import com.google.inject.Inject;
-import com.ning.billing.dbi.MysqlTestingHelper;
 import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.junction.JunctionTestSuiteWithEmbeddedDB;
 import com.ning.billing.junction.MockModule;
 import com.ning.billing.junction.api.Blockable;
 import com.ning.billing.junction.api.BlockingState;
 import com.ning.billing.junction.api.DefaultBlockingState;
 import com.ning.billing.mock.glue.MockEntitlementModule;
 import com.ning.billing.util.clock.ClockMock;
-import com.ning.billing.util.io.IOUtils;
 
 @Guice(modules = {MockModule.class, MockEntitlementModule.class})
-public class TestBlockingDao {
-    private final Logger log = LoggerFactory.getLogger(TestBlockingDao.class);
-
-    @Inject
-    private MysqlTestingHelper helper;
-
+public class TestBlockingDao extends JunctionTestSuiteWithEmbeddedDB {
     @Inject
     private BlockingStateDao dao;
 
-    @BeforeClass(groups = "slow")
-    public void setup() throws IOException {
-        log.info("Starting set up TestBlockingDao");
-
-        final String utilDdl = IOUtils.toString(TestBlockingDao.class.getResourceAsStream("/com/ning/billing/junction/ddl.sql"));
-
-        helper.startMysql();
-        helper.initDb(utilDdl);
-    }
-
-    @AfterClass(groups = "slow")
-    public void stopMysql() {
-        if (helper != null) {
-            helper.stopMysql();
-        }
-    }
-
     @Test(groups = "slow")
     public void testDao() {
         final ClockMock clock = new ClockMock();
diff --git a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuite.java b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuite.java
new file mode 100644
index 0000000..69d5ebf
--- /dev/null
+++ b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuite.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2010-2012 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.junction;
+
+import com.ning.billing.KillbillTestSuite;
+
+public abstract class JunctionTestSuite extends KillbillTestSuite {
+}
diff --git a/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java
new file mode 100644
index 0000000..3089ee7
--- /dev/null
+++ b/junction/src/test/java/com/ning/billing/junction/JunctionTestSuiteWithEmbeddedDB.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2010-2012 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at:
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.junction;
+
+import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
+
+public abstract class JunctionTestSuiteWithEmbeddedDB extends KillbillTestSuiteWithEmbeddedDB {
+}
diff --git a/junction/src/test/java/com/ning/billing/junction/MockModule.java b/junction/src/test/java/com/ning/billing/junction/MockModule.java
index 1291437..7865bcd 100644
--- a/junction/src/test/java/com/ning/billing/junction/MockModule.java
+++ b/junction/src/test/java/com/ning/billing/junction/MockModule.java
@@ -22,10 +22,7 @@ import com.ning.billing.mock.glue.MockClockModule;
 import com.ning.billing.mock.glue.MockDbHelperModule;
 import com.ning.billing.util.glue.CallContextModule;
 
-
 public class MockModule extends DefaultJunctionModule {
-    public static final String PLUGIN_NAME = "Booboo";
-
     @Override
     protected void configure() {
         super.configure();
@@ -38,13 +35,10 @@ public class MockModule extends DefaultJunctionModule {
 
     @Override
     public void installBillingApi() {
-        // no billinggApi
+        // no billing Api
     }
 
     @Override
     public void installAccountUserApi() {
-
     }
-
-
 }
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 bc77e17..ad6522c 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
@@ -60,6 +60,7 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.Subscription;
 import com.ning.billing.entitlement.api.user.Subscription.SubscriptionState;
 import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+import com.ning.billing.junction.JunctionTestSuite;
 import com.ning.billing.junction.api.BillingApi;
 import com.ning.billing.junction.api.BillingEventSet;
 import com.ning.billing.junction.api.Blockable;
@@ -84,7 +85,7 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
-public class TestBillingApi {
+public class TestBillingApi extends JunctionTestSuite {
     class MockPrice implements InternationalPrice {
         private final BigDecimal price;
 
@@ -110,7 +111,6 @@ public class TestBillingApi {
                         public BigDecimal getValue() throws CurrencyValueNull {
                             return price;
                         }
-
                     }
             };
         }
@@ -136,9 +136,7 @@ public class TestBillingApi {
     private final BlockingCalculator blockCalculator = new BlockingCalculator(null) {
         @Override
         public void insertBlockingEvents(final SortedSet<BillingEvent> billingEvents) {
-
         }
-
     };
 
     private Clock clock;
@@ -147,13 +145,13 @@ public class TestBillingApi {
     private Plan subscriptionPlan;
     private TagUserApi tagApi;
 
-    @BeforeSuite(groups = {"fast", "slow"})
+    @BeforeSuite(groups = "fast")
     public void setup() throws ServiceException {
         catalogService = new MockCatalogService(new MockCatalog());
         clock = new ClockMock();
     }
 
-    @BeforeMethod(groups = {"fast", "slow"})
+    @BeforeMethod(groups = "fast")
     public void setupEveryTime() throws EntitlementUserApiException {
         final List<SubscriptionBundle> bundles = new ArrayList<SubscriptionBundle>();
         final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
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 4eb6773..f17f681 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
@@ -45,6 +45,7 @@ import com.ning.billing.entitlement.api.SubscriptionTransitionType;
 import com.ning.billing.entitlement.api.billing.BillingEvent;
 import com.ning.billing.entitlement.api.billing.BillingModeType;
 import com.ning.billing.entitlement.api.user.Subscription;
+import com.ning.billing.junction.JunctionTestSuite;
 import com.ning.billing.junction.api.Blockable;
 import com.ning.billing.junction.api.Blockable.Type;
 import com.ning.billing.junction.api.BlockingApi;
@@ -59,7 +60,7 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertNull;
 
-public class TestBlockingCalculator {
+public class TestBlockingCalculator extends JunctionTestSuite {
     private static final String DISABLED_BUNDLE = "disabled-bundle";
     private static final String CLEAR_BUNDLE = "clear-bundle";
 
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
index c52d033..6f8ea89 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultBillingEvent.java
@@ -42,8 +42,9 @@ import com.ning.billing.entitlement.api.SubscriptionTransitionType;
 import com.ning.billing.entitlement.api.billing.BillingEvent;
 import com.ning.billing.entitlement.api.billing.BillingModeType;
 import com.ning.billing.entitlement.api.user.Subscription;
+import com.ning.billing.junction.JunctionTestSuite;
 
-public class TestDefaultBillingEvent {
+public class TestDefaultBillingEvent extends JunctionTestSuite {
     public static final UUID ID_ZERO = new UUID(0L, 0L);
     public static final UUID ID_ONE = new UUID(0L, 1L);
     public static final UUID ID_TWO = new UUID(0L, 2L);
diff --git a/util/src/test/java/com/ning/billing/mock/glue/MockDbHelperModule.java b/util/src/test/java/com/ning/billing/mock/glue/MockDbHelperModule.java
index be1ade6..d1b8027 100644
--- a/util/src/test/java/com/ning/billing/mock/glue/MockDbHelperModule.java
+++ b/util/src/test/java/com/ning/billing/mock/glue/MockDbHelperModule.java
@@ -20,21 +20,19 @@ import org.skife.config.ConfigurationObjectFactory;
 import org.skife.jdbi.v2.IDBI;
 
 import com.google.inject.AbstractModule;
+import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
 import com.ning.billing.dbi.DBIProvider;
 import com.ning.billing.dbi.DbiConfig;
 import com.ning.billing.dbi.MysqlTestingHelper;
 
 public class MockDbHelperModule extends AbstractModule {
-
-
     @Override
     protected void configure() {
         installMysqlTestingHelper();
     }
 
     public void installMysqlTestingHelper() {
-
-        final MysqlTestingHelper helper = new MysqlTestingHelper();
+        final MysqlTestingHelper helper = KillbillTestSuiteWithEmbeddedDB.getMysqlTestingHelper();
         bind(MysqlTestingHelper.class).toInstance(helper);
         if (helper.isUsingLocalInstance()) {
             bind(IDBI.class).toProvider(DBIProvider.class).asEagerSingleton();
@@ -44,7 +42,5 @@ public class MockDbHelperModule extends AbstractModule {
             final IDBI dbi = helper.getDBI();
             bind(IDBI.class).toInstance(dbi);
         }
-
     }
-
 }