killbill-uncached

beatrix: server: fix tests failures Signed-off-by: Pierre-Alexandre

12/4/2018 5:42:07 AM

Details

diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
index 622d8f5..de36945 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationDryRunInvoice.java
@@ -234,7 +234,7 @@ public class TestIntegrationDryRunInvoice extends TestIntegrationBase {
         final LocalDate initialDate = new LocalDate(2017, 4, 1);
         clock.setDay(initialDate);
 
-        // Create account with non BCD to force junction BCD logic to activate
+        // Create account with no BCD
         final Account account = createAccountWithNonOsgiPaymentMethod(getAccountData(null));
 
         final PlanPhaseSpecifier spec = new PlanPhaseSpecifier("Shotgun", BillingPeriod.ANNUAL, PriceListSet.DEFAULT_PRICELIST_NAME, null);
@@ -291,9 +291,9 @@ public class TestIntegrationDryRunInvoice extends TestIntegrationBase {
         assertEquals(realInvoice.getInvoiceItems().get(0).getStartDate(), futureDate);
         assertEquals(realInvoice.getInvoiceItems().get(0).getPlanName(), "shotgun-annual");
 
-        // Check BCD is now set
+        // Check BCD is still not set (SUBSCRIPTION alignment)
         final Account refreshedAccount2 = accountUserApi.getAccountById(account.getId(), callContext);
-        assertEquals(refreshedAccount2.getBillCycleDayLocal(), new Integer(31));
+        assertEquals(refreshedAccount2.getBillCycleDayLocal(), new Integer(0));
 
         // Move clock past startDate to check nothing happens
         busHandler.pushExpectedEvents(NextEvent.CREATE, NextEvent.BLOCK, NextEvent.NULL_INVOICE);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
index a9bc6a6..af12b98 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestSubscription.java
@@ -562,9 +562,9 @@ public class TestSubscription extends TestIntegrationBase {
         clock.addDays(30);
         assertListenerStatus();
 
+        // SUBSCRIPTION alignment: no account BCD
         account = accountUserApi.getAccountById(account.getId(), callContext);
-        Assert.assertEquals(account.getBillCycleDayLocal().intValue(), 31);
-
+        Assert.assertEquals(account.getBillCycleDayLocal().intValue(), 0);
 
         // Move clock a bit to make sure START_OF_TERM brings us back to last Phase date : 2015-9-5
         clock.addDays(5);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
index 3de7ad5..44b8794 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
@@ -214,7 +214,8 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
     protected Subscription createSubscription(final UUID accountId, final String bundleExternalKey, final String productName,
                                               final ProductCategory productCategory, final BillingPeriod billingPeriod, final boolean waitCompletion) throws Exception {
         final Account account = accountApi.getAccount(accountId, requestOptions);
-        if (account.getBillCycleDayLocal() == null || account.getBillCycleDayLocal() == 0) {
+        // ANNUAL subscriptions are SUBSCRIPTION aligned
+        if (billingPeriod == BillingPeriod.MONTHLY && (account.getBillCycleDayLocal() == null || account.getBillCycleDayLocal() == 0)) {
             callbackServlet.pushExpectedEvent(ExtBusEventType.ACCOUNT_CHANGE);
         }
         callbackServlet.pushExpectedEvents(ExtBusEventType.ENTITLEMENT_CREATION, ExtBusEventType.SUBSCRIPTION_CREATION, ExtBusEventType.SUBSCRIPTION_CREATION, ExtBusEventType.INVOICE_CREATION);