killbill-aplcache
Changes
junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java 3(+2 -1)
Details
diff --git a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
index ef7d265..e1df28b 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
@@ -16,8 +16,6 @@
package com.ning.billing.analytics;
-import com.ning.billing.util.email.EmailModule;
-import com.ning.billing.util.glue.GlobalLockerModule;
import org.skife.jdbi.v2.IDBI;
import com.ning.billing.account.glue.AccountModule;
@@ -25,13 +23,15 @@ import com.ning.billing.analytics.setup.AnalyticsModule;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.entitlement.glue.DefaultEntitlementModule;
import com.ning.billing.invoice.glue.DefaultInvoiceModule;
-import com.ning.billing.junction.MockBlockingModule;
import com.ning.billing.junction.glue.DefaultJunctionModule;
import com.ning.billing.payment.setup.PaymentModule;
+import com.ning.billing.util.email.EmailModule;
+import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.BusModule;
import com.ning.billing.util.glue.CallContextModule;
import com.ning.billing.util.glue.ClockModule;
import com.ning.billing.util.glue.FieldStoreModule;
+import com.ning.billing.util.glue.GlobalLockerModule;
import com.ning.billing.util.glue.NotificationQueueModule;
import com.ning.billing.util.glue.TagStoreModule;
import com.ning.billing.util.tag.dao.TagDefinitionSqlDao;
@@ -54,6 +54,7 @@ public class AnalyticsTestModule extends AnalyticsModule
install(new BusModule());
install(new DefaultEntitlementModule());
install(new DefaultInvoiceModule());
+ install(new TemplateModule());
install(new PaymentModule());
install(new TagStoreModule());
install(new NotificationQueueModule());
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
index 4bae656..0eb1341 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
@@ -24,6 +24,8 @@ import java.util.Set;
import com.ning.billing.util.email.EmailConfig;
import com.ning.billing.util.email.EmailModule;
+import com.ning.billing.util.email.templates.TemplateModule;
+
import org.skife.config.ConfigurationObjectFactory;
import org.skife.jdbi.v2.IDBI;
@@ -96,6 +98,7 @@ public class MockModule extends AbstractModule {
install(new CatalogModule());
install(new DefaultEntitlementModule());
install(new DefaultInvoiceModule());
+ install(new TemplateModule());
install(new PaymentMockModule());
install(new DefaultJunctionModule());
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java b/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
index 128e8fa..472ad60 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/glue/DefaultInvoiceModule.java
@@ -41,8 +41,6 @@ import com.ning.billing.invoice.notification.NextBillingDateNotifier;
import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.invoice.notification.NullInvoiceNotifier;
import com.ning.billing.invoice.template.formatters.DefaultInvoiceFormatterFactory;
-import com.ning.billing.util.email.templates.MustacheTemplateEngine;
-import com.ning.billing.util.email.templates.TemplateEngine;
import com.ning.billing.util.template.translation.TranslatorConfig;
public class DefaultInvoiceModule extends AbstractModule {
@@ -77,7 +75,6 @@ public class DefaultInvoiceModule extends AbstractModule {
TranslatorConfig config = new ConfigurationObjectFactory(System.getProperties()).build(TranslatorConfig.class);
bind(TranslatorConfig.class).toInstance(config);
bind(InvoiceFormatterFactory.class).to(DefaultInvoiceFormatterFactory.class).asEagerSingleton();
- bind(TemplateEngine.class).to(MustacheTemplateEngine.class).asEagerSingleton();
bind(InvoiceNotifier.class).to(NullInvoiceNotifier.class).asEagerSingleton();
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/migration/MockModuleNoEntitlement.java b/invoice/src/test/java/com/ning/billing/invoice/api/migration/MockModuleNoEntitlement.java
index 2dcd4d9..fe5d886 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/migration/MockModuleNoEntitlement.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/migration/MockModuleNoEntitlement.java
@@ -24,6 +24,7 @@ import com.ning.billing.invoice.notification.NextBillingDatePoster;
import com.ning.billing.invoice.notification.NullInvoiceNotifier;
import com.ning.billing.mock.BrainDeadProxyFactory;
import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
+import com.ning.billing.util.email.templates.TemplateModule;
public class MockModuleNoEntitlement extends MockModule {
// @Override
@@ -53,7 +54,8 @@ public class MockModuleNoEntitlement extends MockModule {
});
-
+ install(new TemplateModule());
+
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
index 5d6f36f..99cfcfb 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
@@ -44,6 +44,7 @@ import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.BusModule;
import com.ning.billing.util.glue.FieldStoreModule;
import com.ning.billing.util.glue.GlobalLockerModule;
@@ -118,6 +119,8 @@ public class InvoiceModuleWithEmbeddedDb extends DefaultInvoiceModule {
bind(InvoiceTestApi.class).to(DefaultInvoiceTestApi.class).asEagerSingleton();
install(new BusModule());
+ install(new TemplateModule());
+
}
private static void loadSystemPropertiesFromClasspath(final String resource) {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/MockModule.java b/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
index aa4abf6..c756020 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
@@ -33,6 +33,7 @@ import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.email.EmailModule;
+import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.BusModule;
import com.ning.billing.util.glue.FieldStoreModule;
import com.ning.billing.util.glue.GlobalLockerModule;
@@ -68,6 +69,8 @@ public class MockModule extends AbstractModule {
install(new BusModule());
installInvoiceModule();
install(new MockJunctionModule());
+ install(new TemplateModule());
+
}
protected void installInvoiceModule() {
diff --git a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
index d2c06b9..07dccb8 100644
--- a/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
+++ b/junction/src/main/java/com/ning/billing/junction/plumbing/billing/BillCycleDayCalculator.java
@@ -84,7 +84,8 @@ public class BillCycleDayCalculator {
break;
case BUNDLE :
Subscription baseSub = entitlementApi.getBaseSubscription(bundle.getId());
- result = calculateBcdFromSubscription(baseSub, plan, account);
+ Plan basePlan = baseSub.getCurrentPlan();
+ result = calculateBcdFromSubscription(baseSub, basePlan, account);
break;
case SUBSCRIPTION :
result = calculateBcdFromSubscription(subscription, plan, account);
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultEntitlementBillingApi.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultEntitlementBillingApi.java
index 895eb32..cf5dd35 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultEntitlementBillingApi.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestDefaultEntitlementBillingApi.java
@@ -147,6 +147,7 @@ public class TestDefaultEntitlementBillingApi {
private Clock clock;
private Subscription subscription;
private DateTime subscriptionStartDate;
+ private Plan subscriptionPlan;
@BeforeSuite(groups={"fast", "slow"})
public void setup() throws ServiceException {
@@ -172,6 +173,12 @@ public class TestDefaultEntitlementBillingApi {
public List<SubscriptionEvent> getBillingTransitions() {
return subscriptionTransitions;
}
+
+ @Override
+ public Plan getCurrentPlan() {
+ return subscriptionPlan;
+ }
+
};
subscriptions.add(subscription);
@@ -258,7 +265,7 @@ public class TestDefaultEntitlementBillingApi {
BillingApi api = new DefaultBillingApi(null, factory, accountApi, bcdCalculator, entitlementApi, blockCalculator, catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(new UUID(0L,0L));
- checkFirstEvent(events, nextPlan, subscription.getStartDate().getDayOfMonth(), subId, now, nextPhase, ApiEventType.CREATE.toString());
+ checkFirstEvent(events, nextPlan, subscription.getStartDate().plusDays(30).getDayOfMonth(), subId, now, nextPhase, ApiEventType.CREATE.toString());
}
@Test(enabled=true, groups="fast")
@@ -315,8 +322,10 @@ public class TestDefaultEntitlementBillingApi {
BillCycleDayCalculator bcdCalculator = new BillCycleDayCalculator(catalogService, entitlementApi);
CallContextFactory factory = new DefaultCallContextFactory(clock);
-
+
BillingApi api = new DefaultBillingApi(null, factory, accountApi, bcdCalculator, entitlementApi, blockCalculator, catalogService);
+ subscriptionPlan = catalogService.getFullCatalog().findPlan("PickupTrialEvergreen10USD", now);
+
SortedSet<BillingEvent> events = api.getBillingEventsForAccountAndUpdateAccountBCD(new UUID(0L,0L));
checkFirstEvent(events, nextPlan, subscription.getStartDate().plusDays(30).getDayOfMonth(), subId, now, nextPhase, ApiEventType.CREATE.toString());
diff --git a/server/src/main/java/com/ning/billing/server/modules/KillbillServerModule.java b/server/src/main/java/com/ning/billing/server/modules/KillbillServerModule.java
index e2c37e3..cb126da 100644
--- a/server/src/main/java/com/ning/billing/server/modules/KillbillServerModule.java
+++ b/server/src/main/java/com/ning/billing/server/modules/KillbillServerModule.java
@@ -17,6 +17,7 @@
package com.ning.billing.server.modules;
import com.ning.billing.util.email.EmailModule;
+import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.GlobalLockerModule;
import org.skife.jdbi.v2.DBI;
import org.skife.jdbi.v2.IDBI;
@@ -84,6 +85,7 @@ public class KillbillServerModule extends AbstractModule
install(new CallContextModule());
install(new AccountModule());
install(new DefaultInvoiceModule());
+ install(new TemplateModule());
install(new DefaultEntitlementModule());
install(new AnalyticsModule());
install(new PaymentModule());
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 73ea829..477005e 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit;
import javax.ws.rs.core.Response.Status;
import com.ning.billing.util.email.EmailModule;
+import com.ning.billing.util.email.templates.TemplateModule;
import com.ning.billing.util.glue.GlobalLockerModule;
import org.apache.commons.io.IOUtils;
import org.codehaus.jackson.map.ObjectMapper;
@@ -189,6 +190,7 @@ public class TestJaxrsBase {
install(new CallContextModule());
install(new AccountModule());
install(new DefaultInvoiceModule());
+ install(new TemplateModule());
install(new DefaultEntitlementModule());
install(new AnalyticsModule());
install(new PaymentMockModule());
diff --git a/util/src/main/java/com/ning/billing/util/email/templates/TemplateModule.java b/util/src/main/java/com/ning/billing/util/email/templates/TemplateModule.java
new file mode 100644
index 0000000..86a3124
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/email/templates/TemplateModule.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010-2011 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.util.email.templates;
+
+import com.google.inject.AbstractModule;
+
+public class TemplateModule extends AbstractModule {
+
+ @Override
+ protected void configure() {
+ bind(TemplateEngine.class).to(MustacheTemplateEngine.class).asEagerSingleton();
+ }
+
+}