killbill-memoizeit

junction: fix test failure Add a new constructor in MockSubscription

7/2/2012 8:32:03 PM

Details

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 fb5d6ea..2a31a6e 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
@@ -16,7 +16,6 @@
 
 package com.ning.billing.junction.plumbing.billing;
 
-
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -143,7 +142,6 @@ public class TestBillingApi {
 
     };
 
-
     private Clock clock;
     private Subscription subscription;
     private DateTime subscriptionStartDate;
@@ -165,42 +163,11 @@ public class TestBillingApi {
         //new SubscriptionBundleData( eventId,"TestKey", subId,  clock.getUTCNow().minusDays(4), null);
         bundles.add(bundle);
 
-
         effectiveSubscriptionTransitions = new LinkedList<EffectiveSubscriptionEvent>();
         final List<Subscription> subscriptions = new LinkedList<Subscription>();
 
         subscriptionStartDate = clock.getUTCNow().minusDays(3);
-        subscription = new MockSubscription() {
-            @Override
-            public List<EffectiveSubscriptionEvent> getBillingTransitions() {
-                return effectiveSubscriptionTransitions;
-            }
-
-            @Override
-            public List<EffectiveSubscriptionEvent> getAllTransitions() {
-                return effectiveSubscriptionTransitions;
-            }
-
-            @Override
-            public Plan getCurrentPlan() {
-                return subscriptionPlan;
-            }
-
-            @Override
-            public UUID getId() {
-                return subId;
-            }
-
-            @Override
-            public UUID getBundleId() {
-                return bunId;
-            }
-
-            @Override
-            public DateTime getStartDate() {
-                return subscriptionStartDate;
-            }
-        };
+        subscription = new MockSubscription(subId, bunId, subscriptionPlan, subscriptionStartDate, effectiveSubscriptionTransitions);
 
         subscriptions.add(subscription);
 
@@ -313,7 +280,6 @@ public class TestBillingApi {
                 nextPriceList.getName(), 1L, null,
                 SubscriptionTransitionType.CREATE, 0, null);
 
-
         effectiveSubscriptionTransitions.add(t);
 
         final AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
@@ -381,7 +347,6 @@ public class TestBillingApi {
         final PlanPhase nextPhase = nextPlan.getAllPhases()[1];
         final PriceList nextPriceList = catalogService.getFullCatalog().findPriceList(PriceListSet.DEFAULT_PRICELIST_NAME, now);
 
-
         final EffectiveSubscriptionEvent t = new MockEffectiveSubscriptionEvent(
                 eventId, subId, bunId, then, now, null, null, null, null, SubscriptionState.ACTIVE,
                 nextPlan.getName(), nextPhase.getName(),
@@ -462,7 +427,6 @@ public class TestBillingApi {
                 nextPriceList.getName(), 1L, null,
                 SubscriptionTransitionType.CREATE, 0, null);
 
-
         effectiveSubscriptionTransitions.add(t);
 
         final AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
@@ -491,7 +455,6 @@ public class TestBillingApi {
         assertEquals(events.size(), 0);
     }
 
-
     @Test(enabled = true, groups = "fast")
     public void testBillingEventsAutoInvoicingOffBundle() throws CatalogApiException {
         final DateTime now = clock.getUTCNow();
@@ -506,7 +469,6 @@ public class TestBillingApi {
                 nextPriceList.getName(), 1L, null,
                 SubscriptionTransitionType.CREATE, 0, null);
 
-
         effectiveSubscriptionTransitions.add(t);
 
         final AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
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 2e7234e..3e645fa 100644
--- a/util/src/test/java/com/ning/billing/mock/MockSubscription.java
+++ b/util/src/test/java/com/ning/billing/mock/MockSubscription.java
@@ -22,6 +22,7 @@ import java.util.UUID;
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 
+import com.google.common.collect.ImmutableList;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.Plan;
 import com.ning.billing.catalog.api.PlanPhase;
@@ -32,22 +33,35 @@ import com.ning.billing.entitlement.api.user.EffectiveSubscriptionEvent;
 import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
 import com.ning.billing.entitlement.api.user.Subscription;
 import com.ning.billing.junction.api.BlockingState;
-import com.ning.billing.mock.BrainDeadProxyFactory;
 import com.ning.billing.util.callcontext.CallContext;
 
 public class MockSubscription implements Subscription {
-    private static final UUID ID = UUID.randomUUID();
-    private static final UUID BUNDLE_ID = UUID.randomUUID();
-    private static final DateTime START_DATE = new DateTime(DateTimeZone.UTC);
-
+    private final UUID id;
+    private final UUID bundleId;
     private final SubscriptionState state;
     private final Plan plan;
     private final PlanPhase phase;
+    private final DateTime startDate;
+    private final List<EffectiveSubscriptionEvent> transitions;
+
+    public MockSubscription(final UUID id, final UUID bundleId, final Plan plan, final DateTime startDate, final List<EffectiveSubscriptionEvent> transitions) {
+        this.id = id;
+        this.bundleId = bundleId;
+        this.state = SubscriptionState.ACTIVE;
+        this.plan = plan;
+        this.phase = null;
+        this.startDate = startDate;
+        this.transitions = transitions;
+    }
 
     public MockSubscription(final SubscriptionState state, final Plan plan, final PlanPhase phase) {
+        this.id = UUID.randomUUID();
+        this.bundleId = UUID.randomUUID();
         this.state = state;
         this.plan = plan;
         this.phase = phase;
+        this.startDate = new DateTime(DateTimeZone.UTC);
+        this.transitions = ImmutableList.<EffectiveSubscriptionEvent>of();
     }
 
     Subscription sub = BrainDeadProxyFactory.createBrainDeadProxyFor(Subscription.class);
@@ -71,11 +85,11 @@ public class MockSubscription implements Subscription {
     }
 
     public UUID getId() {
-        return ID;
+        return id;
     }
 
     public UUID getBundleId() {
-        return BUNDLE_ID;
+        return bundleId;
     }
 
     public SubscriptionState getState() {
@@ -83,7 +97,7 @@ public class MockSubscription implements Subscription {
     }
 
     public DateTime getStartDate() {
-        return START_DATE;
+        return startDate;
     }
 
     public DateTime getEndDate() {
@@ -127,11 +141,11 @@ public class MockSubscription implements Subscription {
     }
 
     public List<EffectiveSubscriptionEvent> getBillingTransitions() {
-        return sub.getBillingTransitions();
+        return transitions;
     }
 
     @Override
     public List<EffectiveSubscriptionEvent> getAllTransitions() {
-        return sub.getAllTransitions();
+        return transitions;
     }
 }