killbill-memoizeit

Fix broken unit tests

10/24/2012 6:59:42 PM

Details

diff --git a/account/src/test/java/com/ning/billing/account/api/user/TestEventJson.java b/account/src/test/java/com/ning/billing/account/api/user/TestEventJson.java
index abdbae8..d5c4207 100644
--- a/account/src/test/java/com/ning/billing/account/api/user/TestEventJson.java
+++ b/account/src/test/java/com/ning/billing/account/api/user/TestEventJson.java
@@ -57,7 +57,5 @@ public class TestEventJson extends AccountTestSuite {
 
         final DefaultAccountCreationEvent obj = mapper.readValue(json, DefaultAccountCreationEvent.class);
         Assert.assertTrue(obj.equals(e));
-        Assert.assertEquals(obj.getAccountRecordId(), new Long(1L));
-        Assert.assertEquals(obj.getTenantRecordId(), new Long(45L));
     }
 }
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
index 9a1e633..0119af3 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
@@ -114,8 +114,8 @@ public class SubscriptionData extends EntityBase implements Subscription {
 
     @Override
     public SubscriptionState getState() {
-        return (getPendingTransitionData() == null) ? null
-                : getPendingTransitionData().getNextState();
+        return (getPreviousTransitionData()  == null) ? null
+                : getPreviousTransitionData().getNextState();
     }
 
     @Override
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiRecreate.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiRecreate.java
index d3c4158..b5d9efc 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiRecreate.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiRecreate.java
@@ -16,6 +16,10 @@
 
 package com.ning.billing.entitlement.api.user;
 
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
 import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,10 +30,6 @@ import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.PriceListSet;
 import com.ning.billing.entitlement.api.TestApiBase;
 
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
 public abstract class TestUserApiRecreate extends TestApiBase {
     private static final Logger log = LoggerFactory.getLogger(TestUserApiRecreate.class);
 
diff --git a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
index af9951b..cb843c0 100644
--- a/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
+++ b/junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java
@@ -55,6 +55,7 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
         final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
         final Subscription subscription = Mockito.mock(Subscription.class);
         Mockito.when(subscription.getStartDate()).thenReturn(bpStartDateUTC);
+
         // subscription.getCurrentPlan() will return null as expected (cancelled BP)
         Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
 
@@ -63,6 +64,7 @@ public class TestBillCycleDayCalculator extends JunctionTestSuite {
         Mockito.when(plan.dateOfFirstRecurringNonZeroCharge(bpStartDateUTC, null)).thenReturn(bpStartDateUTC);
         final Catalog catalog = Mockito.mock(Catalog.class);
         Mockito.when(catalog.findPlan(Mockito.anyString(), Mockito.<DateTime>any(), Mockito.<DateTime>any())).thenReturn(plan);
+        Mockito.when(subscription.getLastActivePlan()).thenReturn(plan);
 
         final Account account = Mockito.mock(Account.class);
         Mockito.when(account.getTimeZone()).thenReturn(accountTimeZone);
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 2c38594..6c170a0 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
@@ -141,7 +141,8 @@ public class TestBillingApi extends JunctionTestSuite {
         Mockito.when(entitlementApi.getSubscriptionFromId(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
         Mockito.when(entitlementApi.getBundleFromId(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(bundle);
         Mockito.when(entitlementApi.getBaseSubscription(Mockito.<UUID>any(), Mockito.<InternalTenantContext>any())).thenReturn(subscription);
-
+        Mockito.when(entitlementApi.getBillingTransitions(Mockito.<Subscription>any(), Mockito.<InternalTenantContext>any())).thenReturn(effectiveSubscriptionTransitions);
+        Mockito.when(entitlementApi.getAllTransitions(Mockito.<Subscription>any(), Mockito.<InternalTenantContext>any())).thenReturn(effectiveSubscriptionTransitions);
         tagApi = mock(TagInternalApi.class);
 
         bcdCalculator = new BillCycleDayCalculator(catalogService, entitlementApi);
diff --git a/overdue/src/main/java/com/ning/billing/ovedue/notification/DefaultOverdueCheckNotifier.java b/overdue/src/main/java/com/ning/billing/ovedue/notification/DefaultOverdueCheckNotifier.java
index dec4388..0cd7104 100644
--- a/overdue/src/main/java/com/ning/billing/ovedue/notification/DefaultOverdueCheckNotifier.java
+++ b/overdue/src/main/java/com/ning/billing/ovedue/notification/DefaultOverdueCheckNotifier.java
@@ -77,7 +77,7 @@ public class DefaultOverdueCheckNotifier implements OverdueCheckNotifier {
                     }
 
                     final OverdueCheckNotificationKey key = (OverdueCheckNotificationKey) notificationKey;
-                    processEvent(key, eventDate);
+                    listener.handleNextOverdueCheck(key, accountRecordId, tenantRecordId);
                 } catch (IllegalArgumentException e) {
                     log.error("The key returned from the NextBillingNotificationQueue is not a valid UUID", e);
                 }
@@ -111,8 +111,4 @@ public class DefaultOverdueCheckNotifier implements OverdueCheckNotifier {
             }
         }
     }
-
-    private void processEvent(final OverdueCheckNotificationKey key, final DateTime eventDateTime) {
-        listener.handleNextOverdueCheck(key);
-    }
 }
diff --git a/overdue/src/main/java/com/ning/billing/overdue/listener/OverdueListener.java b/overdue/src/main/java/com/ning/billing/overdue/listener/OverdueListener.java
index 795e5c7..7b3d02d 100644
--- a/overdue/src/main/java/com/ning/billing/overdue/listener/OverdueListener.java
+++ b/overdue/src/main/java/com/ning/billing/overdue/listener/OverdueListener.java
@@ -18,8 +18,6 @@ package com.ning.billing.overdue.listener;
 
 import java.util.UUID;
 
-import javax.annotation.Nullable;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,7 +26,6 @@ import com.ning.billing.util.callcontext.CallOrigin;
 import com.ning.billing.util.callcontext.InternalCallContext;
 import com.ning.billing.util.callcontext.InternalCallContextFactory;
 import com.ning.billing.util.callcontext.UserType;
-import com.ning.billing.util.events.BusInternalEvent;
 import com.ning.billing.util.events.InvoiceAdjustmentInternalEvent;
 import com.ning.billing.util.events.PaymentErrorInternalEvent;
 import com.ning.billing.util.events.PaymentInfoInternalEvent;
@@ -53,31 +50,30 @@ public class OverdueListener {
     @Subscribe
     public void handlePaymentInfoEvent(final PaymentInfoInternalEvent event) {
         log.info(String.format("Received PaymentInfo event %s", event.toString()));
-        dispatcher.processOverdueForAccount(event.getAccountId(), createCallContext(event));
+        dispatcher.processOverdueForAccount(event.getAccountId(), createCallContext(event.getUserToken(), event.getAccountRecordId(), event.getTenantRecordId()));
     }
 
     @Subscribe
     public void handlePaymentErrorEvent(final PaymentErrorInternalEvent event) {
         log.info(String.format("Received PaymentError event %s", event.toString()));
         final UUID accountId = event.getAccountId();
-        dispatcher.processOverdueForAccount(accountId, createCallContext(event));
+        dispatcher.processOverdueForAccount(accountId, createCallContext(event.getUserToken(), event.getAccountRecordId(), event.getTenantRecordId()));
     }
 
     @Subscribe
     public void handleInvoiceAdjustmentEvent(final InvoiceAdjustmentInternalEvent event) {
         log.info(String.format("Received InvoiceAdjustment event %s", event.toString()));
         final UUID accountId = event.getAccountId();
-        dispatcher.processOverdueForAccount(accountId, createCallContext(event));
+        dispatcher.processOverdueForAccount(accountId, createCallContext(event.getUserToken(), event.getAccountRecordId(), event.getTenantRecordId()));
     }
 
-    public void handleNextOverdueCheck(final OverdueCheckNotificationKey notificationKey) {
+    public void handleNextOverdueCheck(final OverdueCheckNotificationKey notificationKey, final Long accountRecordId, final Long tenantRecordId) {
         log.info(String.format("Received OD checkup notification for type = %s, id = %s",
                 notificationKey.getType(), notificationKey.getUuidKey()));
-        dispatcher.processOverdue(notificationKey.getType(), notificationKey.getUuidKey(), createCallContext(null));
+        dispatcher.processOverdue(notificationKey.getType(), notificationKey.getUuidKey(), createCallContext(null, accountRecordId, tenantRecordId));
     }
 
-    private InternalCallContext createCallContext(@Nullable final BusInternalEvent event) {
-        return internalCallContextFactory.createInternalCallContext(event.getTenantRecordId(), event.getAccountRecordId(), "OverdueService", CallOrigin.INTERNAL, UserType.SYSTEM,
-                                                                    event == null ? null : event.getUserToken());
+    private InternalCallContext createCallContext(final UUID userToken, final Long accountRecordId, final Long tenantRecordId) {
+        return internalCallContextFactory.createInternalCallContext(tenantRecordId, accountRecordId, "OverdueService", CallOrigin.INTERNAL, UserType.SYSTEM, userToken);
     }
 }
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 b85e062..31a5d35 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
@@ -98,7 +98,7 @@ public class TestOverdueCheckNotifier extends OverdueTestSuiteWithEmbeddedDB {
         }
 
         @Override
-        public void handleNextOverdueCheck(final OverdueCheckNotificationKey key) {
+        public void handleNextOverdueCheck(final OverdueCheckNotificationKey key, final Long accountRecordId, final Long tenantRecordId) {
             eventCount++;
             latestSubscriptionId = key.getUuidKey();
         }
diff --git a/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java b/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
index 950f1e3..fbbeaaf 100644
--- a/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
+++ b/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
@@ -284,11 +284,5 @@ public class InternalCallContextFactory {
         return tenantRecordId;
     }
 
-    /*
-    // Needed by PersistentBus to retrieve events
-    public InternalCallContext createInternalCallContextX(final String userName, final CallOrigin callOrigin, final UserType userType, final UUID userToken) {
-        return createInternalCallContext(INTERNAL_TENANT_RECORD_ID, null, userName, callOrigin, userType, userToken);
-    }
-    */
 
 }
diff --git a/util/src/test/java/com/ning/billing/mock/MockSubscription.java b/util/src/test/java/com/ning/billing/mock/MockSubscription.java
index 22608bd..6974621 100644
--- a/util/src/test/java/com/ning/billing/mock/MockSubscription.java
+++ b/util/src/test/java/com/ning/billing/mock/MockSubscription.java
@@ -177,45 +177,40 @@ public class MockSubscription implements Subscription {
 
     @Override
     public DateTime getFutureEndDate() {
-        return null;
+        return sub.getFutureEndDate();
     }
 
     @Override
     public SubscriptionSourceType getSourceType() {
-        return null;
+        return sub.getSourceType();
     }
 
     @Override
     public String getLastActiveProductName() {
-        // TODO Auto-generated method stub
-        return null;
+        return sub.getLastActiveProductName();
     }
 
     @Override
     public String getLastActivePriceListName() {
-        // TODO Auto-generated method stub
-        return null;
+        return sub.getLastActivePriceListName();
     }
 
     @Override
     public String getLastActiveCategoryName() {
-        // TODO Auto-generated method stub
-        return null;
+        return sub.getLastActiveCategoryName();
     }
 
     @Override
     public String getLastActiveBillingPeriod() {
-        // TODO Auto-generated method stub
         return null;
     }
 
-    public void setPlan(final Plan plan) {
-        this.plan = plan;
-    }
-
     @Override
     public Plan getLastActivePlan() {
-        // TODO Auto-generated method stub
-        return null;
+        return sub.getLastActivePlan();
+    }
+
+    public void setPlan(final Plan plan) {
+        this.plan = plan;
     }
 }
diff --git a/util/src/test/java/com/ning/billing/util/tag/api/user/TestTagEventBuilder.java b/util/src/test/java/com/ning/billing/util/tag/api/user/TestTagEventBuilder.java
index 279af86..74d0f70 100644
--- a/util/src/test/java/com/ning/billing/util/tag/api/user/TestTagEventBuilder.java
+++ b/util/src/test/java/com/ning/billing/util/tag/api/user/TestTagEventBuilder.java
@@ -44,7 +44,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagDefinitionInternalEvent event = tagEventBuilder.newUserTagDefinitionCreationEvent(tagDefinitionId, tagDefinition, internalCallContext);
@@ -63,7 +63,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagDefinitionInternalEvent event = tagEventBuilder.newUserTagDefinitionDeletionEvent(tagDefinitionId, tagDefinition, internalCallContext);
@@ -82,7 +82,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagDefinitionInternalEvent event = tagEventBuilder.newControlTagDefinitionCreationEvent(tagDefinitionId, tagDefinition, internalCallContext);
@@ -101,7 +101,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagDefinitionInternalEvent event = tagEventBuilder.newControlTagDefinitionDeletionEvent(tagDefinitionId, tagDefinition, internalCallContext);
@@ -123,7 +123,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagInternalEvent event = tagEventBuilder.newUserTagCreationEvent(tagId, objectId, objectType, tagDefinition, internalCallContext);
@@ -145,7 +145,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagInternalEvent event = tagEventBuilder.newUserTagDeletionEvent(tagId, objectId, objectType, tagDefinition, internalCallContext);
@@ -167,7 +167,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagInternalEvent event = tagEventBuilder.newControlTagCreationEvent(tagId, objectId, objectType, tagDefinition, internalCallContext);
@@ -189,7 +189,7 @@ public class TestTagEventBuilder extends UtilTestSuite {
         final String tagDefinitionDescription = UUID.randomUUID().toString();
         final boolean controlTag = true;
         final TagDefinition tagDefinition = new DefaultTagDefinition(tagDefinitionId, tagDefinitionName, tagDefinitionDescription, controlTag);
-        final UUID userToken = UUID.randomUUID();
+        final UUID userToken = internalCallContext.getUserToken();
 
         final TagEventBuilder tagEventBuilder = new TagEventBuilder();
         final TagInternalEvent event = tagEventBuilder.newControlTagDeletionEvent(tagId, objectId, objectType, tagDefinition, internalCallContext);