killbill-memoizeit
Changes
beatrix/pom.xml 5(+5 -0)
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestBillingAlignment.java 1(+0 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java 1(+0 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithOverdueEnforcementOffTag.java 1(+0 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java 1(+0 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoInvoiceOffTag.java 1(+0 -1)
beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationWithAutoPayOff.java 1(+0 -1)
invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java 3(+1 -2)
payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginModule.java 9(+7 -2)
Details
beatrix/pom.xml 5(+5 -0)
diff --git a/beatrix/pom.xml b/beatrix/pom.xml
index ec8bbac..5ccf002 100644
--- a/beatrix/pom.xml
+++ b/beatrix/pom.xml
@@ -90,6 +90,11 @@
</dependency>
<!-- TEST SCOPE -->
<dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/BeatrixTestSuiteWithEmbeddedDB.java b/beatrix/src/test/java/com/ning/billing/beatrix/BeatrixTestSuiteWithEmbeddedDB.java
index 0fb5713..f6cd068 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/BeatrixTestSuiteWithEmbeddedDB.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/BeatrixTestSuiteWithEmbeddedDB.java
@@ -16,7 +16,7 @@
package com.ning.billing.beatrix;
-import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
+import com.ning.billing.GuicyKillbillTestSuiteWithEmbeddedDB;
-public abstract class BeatrixTestSuiteWithEmbeddedDB extends KillbillTestSuiteWithEmbeddedDB {
+public abstract class BeatrixTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuiteWithEmbeddedDB {
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixIntegrationModule.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixIntegrationModule.java
index 076e883..35acacf 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixIntegrationModule.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/BeatrixIntegrationModule.java
@@ -20,10 +20,7 @@ import java.io.IOException;
import java.net.URL;
import java.util.Set;
-import org.skife.config.ConfigurationObjectFactory;
-import org.skife.jdbi.v2.IDBI;
-
-import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
+import com.ning.billing.GuicyKillbillTestWithEmbeddedDBModule;
import com.ning.billing.account.api.AccountService;
import com.ning.billing.account.glue.DefaultAccountModule;
import com.ning.billing.analytics.setup.AnalyticsModule;
@@ -42,9 +39,6 @@ import com.ning.billing.beatrix.util.PaymentChecker;
import com.ning.billing.beatrix.util.RefundChecker;
import com.ning.billing.catalog.api.CatalogService;
import com.ning.billing.catalog.glue.CatalogModule;
-import com.ning.billing.dbi.DBIProvider;
-import com.ning.billing.dbi.DBTestingHelper;
-import com.ning.billing.dbi.DbiConfig;
import com.ning.billing.entitlement.api.EntitlementService;
import com.ning.billing.entitlement.glue.DefaultEntitlementModule;
import com.ning.billing.invoice.api.InvoiceService;
@@ -59,18 +53,16 @@ import com.ning.billing.payment.glue.PaymentModule;
import com.ning.billing.payment.provider.MockPaymentProviderPluginModule;
import com.ning.billing.tenant.glue.TenantModule;
import com.ning.billing.usage.glue.UsageModule;
-import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.config.PaymentConfig;
import com.ning.billing.util.email.EmailModule;
import com.ning.billing.util.email.templates.TemplateModule;
-import com.ning.billing.util.globallocker.TestGlobalLockerModule;
import com.ning.billing.util.glue.AuditModule;
import com.ning.billing.util.glue.BusModule;
import com.ning.billing.util.glue.CacheModule;
import com.ning.billing.util.glue.CallContextModule;
import com.ning.billing.util.glue.CustomFieldModule;
import com.ning.billing.util.glue.ExportModule;
+import com.ning.billing.util.glue.GlobalLockerModule;
import com.ning.billing.util.glue.NonEntityDaoModule;
import com.ning.billing.util.glue.NotificationQueueModule;
import com.ning.billing.util.glue.TagStoreModule;
@@ -92,25 +84,14 @@ public class BeatrixIntegrationModule extends AbstractModule {
loadSystemPropertiesFromClasspath("/resource.properties");
- bind(Clock.class).to(ClockMock.class).asEagerSingleton();
- bind(ClockMock.class).asEagerSingleton();
bind(Lifecycle.class).to(SubsetDefaultLifecycle.class).asEagerSingleton();
- final DBTestingHelper helper = KillbillTestSuiteWithEmbeddedDB.getDBTestingHelper();
- final IDBI dbi;
- if (helper.isUsingLocalInstance()) {
- final DbiConfig config = new ConfigurationObjectFactory(System.getProperties()).build(DbiConfig.class);
- final DBIProvider provider = new DBIProvider(config);
- dbi = provider.get();
- } else {
- dbi = helper.getDBI();
- }
- bind(IDBI.class).toInstance(dbi);
+ install(new GuicyKillbillTestWithEmbeddedDBModule());
+ install(new GlobalLockerModule());
install(new CacheModule());
install(new EmailModule());
install(new CallContextModule());
- install(new TestGlobalLockerModule(helper));
install(new BusModule());
install(new NotificationQueueModule());
install(new TagStoreModule());
@@ -151,7 +132,7 @@ public class BeatrixIntegrationModule extends AbstractModule {
@Override
protected void installPaymentProviderPlugins(final PaymentConfig config) {
- install(new MockPaymentProviderPluginModule(PLUGIN_NAME));
+ install(new MockPaymentProviderPluginModule(PLUGIN_NAME, TestIntegrationBase.getClock()));
}
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestOSGIIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestOSGIIntegration.java
index 98fced0..2be1879 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestOSGIIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/osgi/TestOSGIIntegration.java
@@ -21,7 +21,6 @@ import org.testng.annotations.Test;
import com.ning.billing.beatrix.integration.BeatrixIntegrationModule;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestOSGIIntegration extends TestOSGIBase {
@Test(groups = "slow")
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestBillingAlignment.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestBillingAlignment.java
index 9177afc..c4984c9 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestBillingAlignment.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestBillingAlignment.java
@@ -33,7 +33,6 @@ import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.invoice.api.InvoiceItemType;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestBillingAlignment extends TestIntegrationBase {
// TODO test fails as it should not create a proration when the chnage to annual occurs. Instaed we should restart from the data of the chnage
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
index 74d8e53..b66e107 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueIntegration.java
@@ -45,7 +45,6 @@ import static org.testng.Assert.assertTrue;
@Test(groups = "slow")
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestOverdueIntegration extends TestOverdueBase {
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithOverdueEnforcementOffTag.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithOverdueEnforcementOffTag.java
index c3bc728..687a476 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithOverdueEnforcementOffTag.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithOverdueEnforcementOffTag.java
@@ -37,7 +37,6 @@ import com.ning.billing.util.tag.ControlTagType;
import static junit.framework.Assert.assertTrue;
@Test(groups = "slow")
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestOverdueWithOverdueEnforcementOffTag extends TestOverdueBase {
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
index f8a92d2..2a67e46 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/overdue/TestOverdueWithSubscriptionCancellation.java
@@ -34,7 +34,6 @@ import com.ning.billing.invoice.api.InvoiceItemType;
import com.ning.billing.util.svcapi.junction.DefaultBlockingState;
@Test(groups = "slow")
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestOverdueWithSubscriptionCancellation extends TestOverdueBase {
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 302b6a8..9caa951 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
@@ -65,7 +65,6 @@ import com.ning.billing.util.tag.TagDefinition;
import static org.testng.Assert.assertTrue;
-@Guice(modules = BeatrixIntegrationModule.class)
public class TestAnalytics extends TestIntegrationBase {
private Account account;
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBundleTransfer.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBundleTransfer.java
index 174b45a..bc58705 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBundleTransfer.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestBundleTransfer.java
@@ -43,7 +43,6 @@ import com.ning.billing.invoice.api.InvoiceItemType;
import com.google.common.collect.ImmutableList;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestBundleTransfer extends TestIntegrationBase {
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestEntitlement.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestEntitlement.java
index ea566b0..a9f1a58 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestEntitlement.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestEntitlement.java
@@ -42,7 +42,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestEntitlement extends TestIntegrationBase {
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 6287aef..b7817af 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
@@ -48,7 +48,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestIntegration extends TestIntegrationBase {
@Test(groups = "slow")
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 265a751..6de9d54 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
@@ -88,7 +88,10 @@ import com.ning.billing.util.svcsapi.bus.BusService;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
+import com.google.inject.Guice;
import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.Stage;
import com.google.inject.name.Named;
import static org.testng.Assert.assertNotNull;
@@ -112,11 +115,6 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
protected static final long DELAY = 5000;
- @Inject
- protected IDBI dbi;
-
- @Inject
- protected ClockMock clock;
@Inject
protected Lifecycle lifecycle;
@@ -223,9 +221,13 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB implemen
@BeforeClass(groups = "slow")
public void setup() throws Exception {
+ final Injector g = Guice.createInjector(Stage.PRODUCTION, new BeatrixIntegrationModule());
+ g.injectMembers(this);
busHandler = new TestApiListener(this);
+
}
+
@BeforeMethod(groups = "slow")
public void setupTest() throws Exception {
log.warn("\n");
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 66502cb..d79e09c 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
@@ -48,7 +48,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestIntegrationWithAutoInvoiceOffTag extends TestIntegrationBase {
@Inject
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 d88502f..07c48e4 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
@@ -49,7 +49,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestIntegrationWithAutoPayOff extends TestIntegrationBase {
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 d77e519..f2ead6a 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
@@ -49,7 +49,6 @@ import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestPaymentRefund extends TestIntegrationBase {
// Setup for all tests below
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 5160880..37800f0 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
@@ -37,7 +37,6 @@ import com.ning.billing.entitlement.api.user.SubscriptionData;
import com.google.common.eventbus.Subscribe;
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestPublicBus extends TestIntegrationBase {
private PublicListener publicListener;
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
index 7e8c3f9..170f015 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
@@ -49,8 +49,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-@Test(groups = "slow")
-@Guice(modules = {BeatrixIntegrationModule.class})
public class TestRepairIntegration extends TestIntegrationBase {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
index 3005d80..e9d1358 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
@@ -40,8 +40,7 @@ public class TestNextBillingDateNotifier extends InvoiceTestSuiteWithEmbeddedDB
final UUID accountId = UUID.randomUUID();
final Subscription subscription = invoiceUtil.createSubscription();
final UUID subscriptionId = subscription.getId();
- final DateTime now = new DateTime();
- final DateTime readyTime = now.plusMillis(2000);
+ final DateTime now = clock.getUTCNow();
final NotificationQueue nextBillingQueue = notificationQueueService.getNotificationQueue(DefaultInvoiceService.INVOICE_SERVICE_NAME, DefaultNextBillingDateNotifier.NEXT_BILLING_DATE_NOTIFIER_QUEUE);
diff --git a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModule.java b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModule.java
index 1e36213..915607b 100644
--- a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModule.java
+++ b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModule.java
@@ -29,6 +29,7 @@ import com.ning.billing.mock.glue.MockNotificationQueueModule;
import com.ning.billing.payment.TestPaymentHelper;
import com.ning.billing.payment.provider.MockPaymentProviderPluginModule;
import com.ning.billing.util.callcontext.InternalTenantContext;
+import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.config.PaymentConfig;
import com.ning.billing.util.email.EmailModule;
import com.ning.billing.util.email.templates.TemplateModule;
@@ -48,9 +49,15 @@ import static org.testng.Assert.assertNotNull;
public class TestPaymentModule extends PaymentModule {
+ private final Clock clock;
+
+ public TestPaymentModule(final Clock clock) {
+ this.clock = clock;
+ }
+
@Override
protected void installPaymentProviderPlugins(final PaymentConfig config) {
- install(new MockPaymentProviderPluginModule(TestPaymentHelper.PLUGIN_TEST_NAME));
+ install(new MockPaymentProviderPluginModule(TestPaymentHelper.PLUGIN_TEST_NAME, clock));
}
private void installExternalApis() {
diff --git a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleNoDB.java b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleNoDB.java
index 9b69860..6ae07e0 100644
--- a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleNoDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleNoDB.java
@@ -20,9 +20,14 @@ import com.ning.billing.GuicyKillbillTestNoDBModule;
import com.ning.billing.mock.glue.MockNonEntityDaoModule;
import com.ning.billing.payment.dao.MockPaymentDao;
import com.ning.billing.payment.dao.PaymentDao;
+import com.ning.billing.util.clock.Clock;
public class TestPaymentModuleNoDB extends TestPaymentModule {
+ public TestPaymentModuleNoDB(final Clock clock) {
+ super(clock);
+ }
+
@Override
protected void installPaymentDao() {
bind(PaymentDao.class).to(MockPaymentDao.class).asEagerSingleton();
diff --git a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleWithEmbeddedDB.java b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleWithEmbeddedDB.java
index 43cc11d..a8d8109 100644
--- a/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleWithEmbeddedDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/glue/TestPaymentModuleWithEmbeddedDB.java
@@ -17,10 +17,15 @@
package com.ning.billing.payment.glue;
import com.ning.billing.GuicyKillbillTestWithEmbeddedDBModule;
+import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.glue.NonEntityDaoModule;
public class TestPaymentModuleWithEmbeddedDB extends TestPaymentModule {
+ public TestPaymentModuleWithEmbeddedDB(final Clock clock) {
+ super(clock);
+ }
+
@Override
protected void configure() {
install(new GuicyKillbillTestWithEmbeddedDBModule());
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 4d11db1..c6ac736 100644
--- a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteNoDB.java
@@ -75,7 +75,7 @@ public abstract class PaymentTestSuiteNoDB extends GuicyKillbillTestSuiteNoDB {
loadSystemPropertiesFromClasspath("/resource.properties");
- final Injector injector = Guice.createInjector(new TestPaymentModuleNoDB());
+ final Injector injector = Guice.createInjector(new TestPaymentModuleNoDB(getClock()));
injector.injectMembers(this);
}
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 2da0b91..092ba80 100644
--- a/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java
+++ b/payment/src/test/java/com/ning/billing/payment/PaymentTestSuiteWithEmbeddedDB.java
@@ -76,7 +76,7 @@ public abstract class PaymentTestSuiteWithEmbeddedDB extends GuicyKillbillTestSu
loadSystemPropertiesFromClasspath("/resource.properties");
- final Injector injector = Guice.createInjector(new TestPaymentModuleWithEmbeddedDB());
+ final Injector injector = Guice.createInjector(new TestPaymentModuleWithEmbeddedDB(getClock()));
injector.injectMembers(this);
}
diff --git a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginModule.java b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginModule.java
index a4f60be..91be5c2 100644
--- a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginModule.java
+++ b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginModule.java
@@ -16,21 +16,26 @@
package com.ning.billing.payment.provider;
+import com.ning.billing.util.clock.Clock;
+
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
public class MockPaymentProviderPluginModule extends AbstractModule {
+
private final String instanceName;
+ private final Clock clock;
- public MockPaymentProviderPluginModule(final String instanceName) {
+ public MockPaymentProviderPluginModule(final String instanceName, final Clock clock) {
this.instanceName = instanceName;
+ this.clock = clock;
}
@Override
protected void configure() {
bind(MockPaymentProviderPlugin.class)
.annotatedWith(Names.named(instanceName))
- .toProvider(new MockPaymentProviderPluginProvider(instanceName))
+ .toProvider(new MockPaymentProviderPluginProvider(instanceName, clock))
.asEagerSingleton();
}
}
diff --git a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginProvider.java b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginProvider.java
index 4ed67ec..e171e7a 100644
--- a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginProvider.java
+++ b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPluginProvider.java
@@ -25,11 +25,11 @@ public class MockPaymentProviderPluginProvider implements Provider<MockPaymentPr
private PaymentProviderPluginRegistry registry;
private final String instanceName;
- @Inject
private Clock clock;
- public MockPaymentProviderPluginProvider(final String instanceName) {
+ public MockPaymentProviderPluginProvider(final String instanceName, Clock clock) {
this.instanceName = instanceName;
+ this.clock = clock;
}
@Inject
diff --git a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
index 65563d7..3214304 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
@@ -36,6 +36,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
+import com.ning.billing.GuicyKillbillTestSuiteWithEmbeddedDB;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.PriceListSet;
@@ -84,12 +85,11 @@ import static com.ning.billing.jaxrs.resources.JaxrsResource.SUBSCRIPTIONS;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
-public abstract class KillbillClient extends ServerTestSuiteWithEmbeddedDB {
+public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedDB {
protected static final String PLUGIN_NAME = "noop";
- // STEPH
- protected static final int DEFAULT_HTTP_TIMEOUT_SEC = 6000; // 5;
+ protected static final int DEFAULT_HTTP_TIMEOUT_SEC = 5;
protected static final Map<String, String> DEFAULT_EMPTY_QUERY = new HashMap<String, String>();
@@ -103,7 +103,6 @@ public abstract class KillbillClient extends ServerTestSuiteWithEmbeddedDB {
protected CoreConfig config;
protected AsyncHttpClient httpClient;
protected ObjectMapper mapper;
- protected ClockMock clock;
// Context information to be passed around
protected static final String createdBy = "Toto";
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 7c6d2c2..8cabb96 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -26,21 +26,18 @@ import java.util.Map;
import org.eclipse.jetty.servlet.FilterHolder;
import org.joda.time.LocalDate;
import org.skife.config.ConfigurationObjectFactory;
-import org.skife.jdbi.v2.IDBI;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
-import com.ning.billing.KillbillTestSuiteWithEmbeddedDB;
+import com.ning.billing.GuicyKillbillTestWithEmbeddedDBModule;
import com.ning.billing.account.glue.DefaultAccountModule;
import com.ning.billing.analytics.setup.AnalyticsModule;
import com.ning.billing.api.TestApiListener;
import com.ning.billing.beatrix.glue.BeatrixModule;
import com.ning.billing.catalog.glue.CatalogModule;
-import com.ning.billing.dbi.DBIProvider;
import com.ning.billing.dbi.DBTestingHelper;
-import com.ning.billing.dbi.DbiConfig;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.entitlement.glue.DefaultEntitlementModule;
import com.ning.billing.invoice.api.InvoiceNotifier;
@@ -53,8 +50,6 @@ import com.ning.billing.payment.provider.MockPaymentProviderPluginModule;
import com.ning.billing.server.listeners.KillbillGuiceListener;
import com.ning.billing.server.modules.KillbillServerModule;
import com.ning.billing.tenant.glue.TenantModule;
-import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.config.PaymentConfig;
import com.ning.billing.util.email.EmailModule;
import com.ning.billing.util.email.templates.TemplateModule;
@@ -89,8 +84,6 @@ public class TestJaxrsBase extends KillbillClient {
protected static TestKillbillGuiceListener listener;
- private final DBTestingHelper helper = KillbillTestSuiteWithEmbeddedDB.getDBTestingHelper();
-
private HttpServer server;
protected TestApiListener busHandler;
@@ -106,23 +99,19 @@ public class TestJaxrsBase extends KillbillClient {
public static class TestKillbillGuiceListener extends KillbillGuiceListener {
- private final DBTestingHelper helper;
- private final Clock clock;
+ private final TestKillbillServerModule module;
+
- public TestKillbillGuiceListener(final DBTestingHelper helper, final Clock clock) {
+ public TestKillbillGuiceListener(final DBTestingHelper helper) {
super();
- this.helper = helper;
- this.clock = clock;
+ this.module = new TestKillbillServerModule(helper);
}
@Override
protected Module getModule() {
- return new TestKillbillServerModule(helper, clock);
+ return module;
}
- public Clock getClock() {
- return clock;
- }
}
public static class InvoiceModuleWithMockSender extends DefaultInvoiceModule {
@@ -136,24 +125,27 @@ public class TestJaxrsBase extends KillbillClient {
public static class TestKillbillServerModule extends KillbillServerModule {
private final DBTestingHelper helper;
- private final Clock clock;
- public TestKillbillServerModule(final DBTestingHelper helper, final Clock clock) {
+ public TestKillbillServerModule(final DBTestingHelper helper) {
super();
this.helper = helper;
- this.clock = clock;
}
@Override
protected void installClock() {
- bind(Clock.class).toInstance(clock);
+ // Already done By Top test class
+ }
+
+ @Override
+ protected void configureDao() {
+ // Already done By Top test class
}
private static final class PaymentMockModule extends PaymentModule {
@Override
protected void installPaymentProviderPlugins(final PaymentConfig config) {
- install(new MockPaymentProviderPluginModule(PLUGIN_NAME));
+ install(new MockPaymentProviderPluginModule(PLUGIN_NAME, getClock()));
}
}
@@ -166,6 +158,10 @@ public class TestJaxrsBase extends KillbillClient {
super.installKillbillModules();
Modules.override(new com.ning.billing.payment.setup.PaymentModule()).with(new PaymentMockModule());
*/
+
+ install(new GuicyKillbillTestWithEmbeddedDBModule());
+
+
install(new EmailModule());
install(new CacheModule());
install(new NonEntityDaoModule());
@@ -190,18 +186,6 @@ public class TestJaxrsBase extends KillbillClient {
install(new ExportModule());
installClock();
}
-
- @Override
- protected void configureDao() {
- if (helper.isUsingLocalInstance()) {
- bind(IDBI.class).toProvider(DBIProvider.class).asEagerSingleton();
- final DbiConfig config = new ConfigurationObjectFactory(System.getProperties()).build(DbiConfig.class);
- bind(DbiConfig.class).toInstance(config);
- } else {
- final IDBI dbi = helper.getDBI();
- bind(IDBI.class).toInstance(dbi);
- }
- }
}
@BeforeMethod(groups = "slow")
@@ -214,6 +198,10 @@ public class TestJaxrsBase extends KillbillClient {
@BeforeClass(groups = "slow")
public void setupClass() throws IOException {
loadConfig();
+
+
+ listener.getInstantiatedInjector().injectMembers(this);
+
httpClient = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().setRequestTimeoutInMs(DEFAULT_HTTP_TIMEOUT_SEC * 1000).build());
mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
@@ -222,7 +210,6 @@ public class TestJaxrsBase extends KillbillClient {
//mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy());
busHandler = new TestApiListener(null);
- this.clock = (ClockMock) listener.getClock();
}
protected void loadConfig() {
@@ -231,7 +218,7 @@ public class TestJaxrsBase extends KillbillClient {
}
// For shiro (outside of Guice control)
- System.setProperty("com.ning.jetty.jdbi.url", helper.getJdbcConnectionString());
+ System.setProperty("com.ning.jetty.jdbi.url", getDBTestingHelper().getJdbcConnectionString());
System.setProperty("com.ning.jetty.jdbi.user", MysqlTestingHelper.USERNAME);
System.setProperty("com.ning.jetty.jdbi.password", MysqlTestingHelper.PASSWORD);
}
@@ -241,15 +228,12 @@ public class TestJaxrsBase extends KillbillClient {
loadSystemPropertiesFromClasspath("/killbill.properties");
loadConfig();
- this.clock = new ClockMock();
- listener = new TestKillbillGuiceListener(helper, clock);
+ listener = new TestKillbillGuiceListener(getDBTestingHelper());
server = new HttpServer();
server.configure(config, getListeners(), getFilters());
server.start();
-
- listener.getInstantiatedInjector().injectMembers(this);
}
protected Iterable<EventListener> getListeners() {
diff --git a/server/src/test/java/com/ning/billing/server/security/TestTenantFilter.java b/server/src/test/java/com/ning/billing/server/security/TestTenantFilter.java
index bfe9273..d4a0dbf 100644
--- a/server/src/test/java/com/ning/billing/server/security/TestTenantFilter.java
+++ b/server/src/test/java/com/ning/billing/server/security/TestTenantFilter.java
@@ -39,7 +39,7 @@ import com.ning.http.client.Realm.AuthScheme;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-public class TestTenantFilter extends TestJaxrsBase {
+public class TestTenantFilter extends TestJaxrsBase {
@Override
protected void loadConfig() {
diff --git a/util/src/test/java/com/ning/billing/GuicyKillbillTestModule.java b/util/src/test/java/com/ning/billing/GuicyKillbillTestModule.java
index 9ab7a27..1b69a96 100644
--- a/util/src/test/java/com/ning/billing/GuicyKillbillTestModule.java
+++ b/util/src/test/java/com/ning/billing/GuicyKillbillTestModule.java
@@ -34,20 +34,20 @@ public class GuicyKillbillTestModule extends AbstractModule {
// CreatedFontTracker references that will later be injected through Guices.
// That we we have only one clock and all internalContext/callContext are consistent
//
- private final ClockMock clock = new ClockMock();
private final InternalCallContext internalCallContext = new InternalCallContext(InternalCallContextFactory.INTERNAL_TENANT_RECORD_ID, 1687L, UUID.randomUUID(),
UUID.randomUUID().toString(), CallOrigin.TEST,
UserType.TEST, "Testing", "This is a test",
- clock.getUTCNow(), clock.getUTCNow());
+ GuicyKillbillTestSuite.getClock().getUTCNow(), GuicyKillbillTestSuite.getClock().getUTCNow());
private final CallContext callContext = internalCallContext.toCallContext();
+
@Override
protected void configure() {
- bind(Clock.class).toInstance(clock);
- bind(ClockMock.class).toInstance(clock);
+ bind(ClockMock.class).toInstance(GuicyKillbillTestSuite.getClock());
+ bind(Clock.class).to(ClockMock.class);
bind(InternalCallContext.class).toInstance(internalCallContext);
bind(CallContext.class).toInstance(callContext);
}
diff --git a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
index d299670..86ab3ce 100644
--- a/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
+++ b/util/src/test/java/com/ning/billing/GuicyKillbillTestSuite.java
@@ -39,14 +39,20 @@ public class GuicyKillbillTestSuite {
private boolean hasFailed = false;
@Inject
- protected ClockMock clock;
-
- @Inject
protected InternalCallContext internalCallContext;
@Inject
protected CallContext callContext;
+ @Inject
+ protected ClockMock clock;
+
+
+ private final static ClockMock theStaticClock = new ClockMock();
+
+ public static ClockMock getClock() {
+ return theStaticClock;
+ }
@BeforeMethod(alwaysRun = true)
public void startTestSuite(final Method method) throws Exception {
diff --git a/util/src/test/java/com/ning/billing/GuicyKillbillTestWithEmbeddedDBModule.java b/util/src/test/java/com/ning/billing/GuicyKillbillTestWithEmbeddedDBModule.java
index c568530..7f44985 100644
--- a/util/src/test/java/com/ning/billing/GuicyKillbillTestWithEmbeddedDBModule.java
+++ b/util/src/test/java/com/ning/billing/GuicyKillbillTestWithEmbeddedDBModule.java
@@ -17,9 +17,6 @@
package com.ning.billing;
-import javax.inject.Provider;
-
-import org.skife.jdbi.v2.DBI;
import org.skife.jdbi.v2.IDBI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;