diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
index b30c6a1..404ac7c 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/alignment/MigrationPlanAligner.java
@@ -55,21 +55,21 @@ public class MigrationPlanAligner {
input[1].getPlanPhaseSpecifier().getBillingPeriod(), input[1].getPlanPhaseSpecifier().getPriceListName(), now) :
null;
- DateTime migrationStartDate = now;
+ DateTime migrationStartDate = input[0].getEffectiveDate();
if (isRegularMigratedSubscription(input)) {
events = getEventsOnRegularMigration(plan0,
getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
input[0].getPlanPhaseSpecifier().getPriceListName(),
- now);
+ migrationStartDate);
} else if (isRegularFutureCancelledMigratedSubscription(input)) {
events = getEventsOnFuturePlanCancelMigration(plan0,
getPlanPhase(plan0, input[0].getPlanPhaseSpecifier().getPhaseType()),
input[0].getPlanPhaseSpecifier().getPriceListName(),
- now,
+ migrationStartDate,
input[0].getCancelledDate());
} else if (isPhaseChangeMigratedSubscription(input)) {
@@ -101,7 +101,7 @@ public class MigrationPlanAligner {
plan1,
getPlanPhase(plan1, input[1].getPlanPhaseSpecifier().getPhaseType()),
input[0].getPlanPhaseSpecifier().getPriceListName(),
- now,
+ migrationStartDate,
input[1].getEffectiveDate());
} else {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
index db80a34..ccdc80a 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigration.java
@@ -16,6 +16,11 @@
package com.ning.billing.entitlement.api.migration;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
import org.joda.time.DateTime;
@@ -32,11 +37,6 @@ import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.Subscription.SubscriptionState;
import com.ning.billing.entitlement.api.user.SubscriptionBundle;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
public abstract class TestMigration extends TestApiBase {
public void testSingleBasePlan() {
try {
@@ -56,7 +56,7 @@ public abstract class TestMigration extends TestApiBase {
final List<Subscription> subscriptions = entitlementApi.getSubscriptionsForBundle(bundle.getId(), callContext);
assertEquals(subscriptions.size(), 1);
final Subscription subscription = subscriptions.get(0);
- assertDateWithin(subscription.getStartDate(), beforeMigration, afterMigration);
+ assertTrue(subscription.getStartDate().compareTo(startDate) == 0);
assertEquals(subscription.getEndDate(), null);
assertEquals(subscription.getCurrentPriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME);
assertEquals(subscription.getCurrentPhase().getPhaseType(), PhaseType.EVERGREEN);
@@ -92,7 +92,7 @@ public abstract class TestMigration extends TestApiBase {
final Subscription baseSubscription = (subscriptions.get(0).getCurrentPlan().getProduct().getCategory() == ProductCategory.BASE) ?
subscriptions.get(0) : subscriptions.get(1);
- assertDateWithin(baseSubscription.getStartDate(), beforeMigration, afterMigration);
+ assertTrue(baseSubscription.getStartDate().compareTo(initalBPStart) == 0);
assertEquals(baseSubscription.getEndDate(), null);
assertEquals(baseSubscription.getCurrentPriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME);
assertEquals(baseSubscription.getCurrentPhase().getPhaseType(), PhaseType.EVERGREEN);
@@ -138,7 +138,7 @@ public abstract class TestMigration extends TestApiBase {
final List<Subscription> subscriptions = entitlementApi.getSubscriptionsForBundle(bundle.getId(), callContext);
assertEquals(subscriptions.size(), 1);
final Subscription subscription = subscriptions.get(0);
- assertDateWithin(subscription.getStartDate(), beforeMigration, afterMigration);
+ assertTrue(subscription.getStartDate().compareTo(startDate) == 0);
assertEquals(subscription.getCurrentPriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME);
assertEquals(subscription.getCurrentPhase().getPhaseType(), PhaseType.EVERGREEN);
assertEquals(subscription.getState(), SubscriptionState.ACTIVE);
@@ -153,7 +153,7 @@ public abstract class TestMigration extends TestApiBase {
clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
- assertDateWithin(subscription.getStartDate(), beforeMigration, afterMigration);
+ assertTrue(subscription.getStartDate().compareTo(startDate) == 0);
assertNotNull(subscription.getEndDate());
assertTrue(subscription.getEndDate().isAfterNow());
assertEquals(subscription.getCurrentPriceList().getName(), PriceListSet.DEFAULT_PRICELIST_NAME);