diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
index 63ac93b..93b5b62 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultBillingEvent.java
@@ -87,11 +87,11 @@ public class TestDefaultBillingEvent {
}
@Test(groups={"fast"})
- public void testEventOrderingType() {
+ public void testEventTotalOrdering() {
- BillingEvent event0 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.CREATE);
- BillingEvent event1 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.CHANGE);
- BillingEvent event2 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.CANCEL);
+ BillingEvent event0 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.CREATE, 1L);
+ BillingEvent event1 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.CANCEL, 2L);
+ BillingEvent event2 = createEvent(subscription(ID_ZERO), new DateTime("2012-01-01T00:02:04.000Z"), SubscriptionTransitionType.RE_CREATE, 3L);
SortedSet<BillingEvent> set = new TreeSet<BillingEvent>();
set.add(event2);
@@ -124,8 +124,11 @@ public class TestDefaultBillingEvent {
Assert.assertEquals(event2, it.next());
}
+ private BillingEvent createEvent(Subscription sub, DateTime effectiveDate, SubscriptionTransitionType type) {
+ return createEvent(sub, effectiveDate, type, 1L);
+ }
- private BillingEvent createEvent(Subscription sub, DateTime effectiveDate, SubscriptionTransitionType type) {
+ private BillingEvent createEvent(Subscription sub, DateTime effectiveDate, SubscriptionTransitionType type, long totalOrdering) {
InternationalPrice zeroPrice = new MockInternationalPrice(new DefaultPrice(BigDecimal.ZERO, Currency.USD));
int billCycleDay = 1;
@@ -135,7 +138,7 @@ public class TestDefaultBillingEvent {
return new DefaultBillingEvent(sub , effectiveDate,
shotgun, shotgunMonthly,
zeroPrice, null, BillingPeriod.NO_BILLING_PERIOD, billCycleDay,
- BillingModeType.IN_ADVANCE, "Test Event 1", 1L, type);
+ BillingModeType.IN_ADVANCE, "Test Event 1", totalOrdering, type);
}
private MockPlanPhase createMockMonthlyPlanPhase(@Nullable final BigDecimal recurringRate,
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 092e1ec..cff7e91 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
@@ -100,7 +100,15 @@ public abstract class TestUserApiRecreate extends TestApiBase {
subscription.cancel(null, false);
testListener.pushExpectedEvent(NextEvent.PHASE);
- testListener.pushExpectedEvent(NextEvent.CREATE);
+ testListener.pushExpectedEvent(NextEvent.RE_CREATE);
+
+ // Avoid ordering issue for events at excat same date; this is actually a real good test, we
+ // we test it at Beatrix level. At this level that would work for sql tests but not for in memory.
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+
+ }
if (fromUserAPi) {
subscription = (SubscriptionData) entitlementApi.createSubscription(bundle.getId(),