killbill-memoizeit
Changes
junction/src/test/java/com/ning/billing/junction/plumbing/billing/TestBillCycleDayCalculator.java 2(+2 -0)
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);