killbill-uncached
Changes
entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigrationMemory.java 8(+4 -4)
entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java 58(+34 -24)
entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java 59(+33 -26)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java 8(+4 -4)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java 54(+38 -16)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java 12(+6 -6)
Details
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
index 24c93d4..5f442c6 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
@@ -49,24 +49,28 @@ import com.ning.billing.invoice.api.Invoice;
public class TestIntegration extends TestIntegrationBase {
@Test(groups = "slow", enabled = true)
public void testBasePlanCompleteWithBillingDayInPast() throws Exception {
+ log.info("Starting testBasePlanCompleteWithBillingDayInPast");
DateTime startDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
testBasePlanComplete(startDate, 31, false);
}
@Test(groups = "slow", enabled = true)
public void testBasePlanCompleteWithBillingDayPresent() throws Exception {
+ log.info("Starting testBasePlanCompleteWithBillingDayPresent");
DateTime startDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
testBasePlanComplete(startDate, 1, false);
}
@Test(groups = "slow", enabled = true)
public void testBasePlanCompleteWithBillingDayAlignedWithTrial() throws Exception {
+ log.info("Starting testBasePlanCompleteWithBillingDayAlignedWithTrial");
DateTime startDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
testBasePlanComplete(startDate, 2, false);
}
@Test(groups = "slow", enabled = true)
public void testBasePlanCompleteWithBillingDayInFuture() throws Exception {
+ log.info("Starting testBasePlanCompleteWithBillingDayInFuture");
DateTime startDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
testBasePlanComplete(startDate, 3, true);
}
@@ -91,9 +95,12 @@ public class TestIntegration extends TestIntegrationBase {
}
}
- @Test(groups = "slow", enabled = true)
+ // STEPH set to disabled until test written properly and fixed
+ @Test(groups = "slow", enabled = false)
public void testRepairChangeBPWithAddonIncluded() throws Exception {
+ log.info("Starting testRepairChangeBPWithAddonIncluded");
+
DateTime initialDate = new DateTime(2012, 4, 25, 0, 3, 42, 0);
clock.setDeltaFromReality(initialDate.getMillis() - clock.getUTCNow().getMillis());
@@ -142,10 +149,13 @@ public class TestIntegration extends TestIntegrationBase {
busHandler.pushExpectedEvent(NextEvent.PAYMENT);
clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(busHandler.isCompleted(DELAY));
+
+ assertListenerStatus();
}
@Test(groups = {"slow"})
public void testRepairForInvoicing() throws AccountApiException, EntitlementUserApiException {
+
log.info("Starting testRepairForInvoicing");
Account account = accountUserApi.createAccount(getAccountData(1), null, null, context);
@@ -178,6 +188,8 @@ public class TestIntegration extends TestIntegrationBase {
@Test(groups = "slow", enabled = false)
public void testWithRecreatePlan() throws Exception {
+ log.info("Starting testWithRecreatePlan");
+
DateTime initialDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
int billingDay = 2;
@@ -244,7 +256,7 @@ public class TestIntegration extends TestIntegrationBase {
subscription.recreate(new PlanPhaseSpecifier(productName, ProductCategory.BASE, term, planSetName, null), endDate, context);
assertTrue(busHandler.isCompleted(DELAY));
-
+ assertListenerStatus();
}
private void testBasePlanComplete(DateTime initialCreationDate, int billingDay,
@@ -440,12 +452,18 @@ public class TestIntegration extends TestIntegrationBase {
// The invoice system is still working to verify there is nothing to do
Thread.sleep(DELAY);
+
+ assertListenerStatus();
+
log.info("TEST PASSED !");
}
@Test(groups = "slow")
public void testForMultipleRecurringPhases() throws AccountApiException, EntitlementUserApiException, InterruptedException {
+
+ log.info("Starting testForMultipleRecurringPhases");
+
DateTime initialCreationDate = new DateTime(2012, 2, 1, 0, 3, 42, 0);
clock.setDeltaFromReality(initialCreationDate.getMillis() - clock.getUTCNow().getMillis());
@@ -505,5 +523,7 @@ public class TestIntegration extends TestIntegrationBase {
invoices = invoiceUserApi.getInvoicesByAccount(accountId);
assertNotNull(invoices);
assertEquals(invoices.size(),14);
+
+ assertListenerStatus();
}
}
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
index e2c4577..579f47c 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegrationBase.java
@@ -36,6 +36,7 @@ import org.skife.jdbi.v2.TransactionCallback;
import org.skife.jdbi.v2.TransactionStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
@@ -48,6 +49,7 @@ import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.api.TestApiListener;
import com.ning.billing.api.TestListenerStatus;
import com.ning.billing.beatrix.lifecycle.Lifecycle;
+import com.ning.billing.catalog.DefaultCatalogService;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.dbi.MysqlTestingHelper;
import com.ning.billing.entitlement.api.EntitlementService;
@@ -56,6 +58,7 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionData;
+import com.ning.billing.entitlement.engine.core.Engine;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.api.InvoiceService;
@@ -82,7 +85,7 @@ public class TestIntegrationBase implements TestListenerStatus {
protected static final Logger log = LoggerFactory.getLogger(TestIntegration.class);
protected static long AT_LEAST_ONE_MONTH_MS = 31L * 24L * 3600L * 1000L;
- protected static final long DELAY = 5000;
+ protected static final long DELAY = 10000;
@Inject
protected IDBI dbi;
@@ -124,25 +127,26 @@ public class TestIntegrationBase implements TestListenerStatus {
protected TestApiListener busHandler;
- private boolean currentTestStatusSuccess;
- private String currentTestFailedMsg;
+ private boolean isListenerFailed;
+ private String listenerFailedMsg;
@Override
public void failed(String msg) {
- currentTestStatusSuccess = false;
- currentTestFailedMsg = msg;
+ isListenerFailed = true;
+ listenerFailedMsg = msg;
}
@Override
public void resetTestListenerStatus() {
- currentTestStatusSuccess = true;
- currentTestFailedMsg = null;
+ isListenerFailed = false;
+ listenerFailedMsg = null;
}
- protected void assertFailureFromBusHandler() {
- if (!currentTestStatusSuccess) {
- log.error(currentTestFailedMsg);
- fail();
+
+ protected void assertListenerStatus() {
+ if (isListenerFailed) {
+ log.error(listenerFailedMsg);
+ Assert.fail(listenerFailedMsg);
}
}
@@ -165,73 +169,50 @@ public class TestIntegrationBase implements TestListenerStatus {
helper.initDb(junctionDb);
}
+
@BeforeClass(groups = "slow")
public void setup() throws Exception{
setupMySQL();
- cleanupData();
-
context = new DefaultCallContextFactory(clock).createCallContext("Integration Test", CallOrigin.TEST, UserType.TEST);
-
- /**
- * Initialize lifecyle for subset of services
- */
busHandler = new TestApiListener(this);
- lifecycle.fireStartupSequencePriorEventRegistration();
- busService.getBus().register(busHandler);
- lifecycle.fireStartupSequencePostEventRegistration();
+
}
@AfterClass(groups = "slow")
public void tearDown() throws Exception {
- lifecycle.fireShutdownSequencePriorEventUnRegistration();
- busService.getBus().unregister(busHandler);
- lifecycle.fireShutdownSequencePostEventUnRegistration();
helper.stopMysql();
}
@BeforeMethod(groups = "slow")
- public void setupTest() {
+ public void setupTest() throws Exception {
log.warn("\n");
log.warn("RESET TEST FRAMEWORK\n\n");
- cleanupData();
- busHandler.reset();
+
+ // Pre test cleanup
+ helper.cleanupAllTables();
+
clock.resetDeltaFromReality();
resetTestListenerStatus();
+
+ // Start services
+ lifecycle.fireStartupSequencePriorEventRegistration();
+ busService.getBus().register(busHandler);
+ lifecycle.fireStartupSequencePostEventRegistration();
}
@AfterMethod(groups = "slow")
- public void cleanupTest() {
+ public void cleanupTest() throws Exception {
+ lifecycle.fireShutdownSequencePriorEventUnRegistration();
+ busService.getBus().unregister(busHandler);
+ lifecycle.fireShutdownSequencePostEventUnRegistration();
+
log.warn("DONE WITH TEST\n");
}
- protected void cleanupData() {
- dbi.inTransaction(new TransactionCallback<Void>() {
- @Override
- public Void inTransaction(Handle h, TransactionStatus status)
- throws Exception {
- h.execute("truncate table accounts");
- h.execute("truncate table entitlement_events");
- h.execute("truncate table subscriptions");
- h.execute("truncate table bundles");
- h.execute("truncate table notifications");
- h.execute("truncate table claimed_notifications");
- h.execute("truncate table invoices");
- h.execute("truncate table fixed_invoice_items");
- h.execute("truncate table recurring_invoice_items");
- h.execute("truncate table tag_definitions");
- h.execute("truncate table tags");
- h.execute("truncate table custom_fields");
- h.execute("truncate table invoice_payments");
- h.execute("truncate table payment_attempts");
- h.execute("truncate table payments");
- return null;
- }
- });
- }
protected void verifyTestResult(UUID accountId, UUID subscriptionId,
DateTime startDate, DateTime endDate,
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
index f86938c..c733097 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestRepairIntegration.java
@@ -56,11 +56,13 @@ public class TestRepairIntegration extends TestIntegrationBase {
@Test(groups={"slow"}, enabled=true)
public void testRepairChangeBPWithAddonIncludedIntrial() throws Exception {
+ log.info("Starting testRepairChangeBPWithAddonIncludedIntrial");
testRepairChangeBPWithAddonIncluded(true);
}
@Test(groups={"slow"}, enabled=true)
public void testRepairChangeBPWithAddonIncludedOutOfTrial() throws Exception {
+ log.info("Starting testRepairChangeBPWithAddonIncludedOutOfTrial");
testRepairChangeBPWithAddonIncluded(false);
}
@@ -168,7 +170,7 @@ public class TestRepairIntegration extends TestIntegrationBase {
assertEquals(newBaseSubscription.getAllTransitions().size(), 3);
assertEquals(newBaseSubscription.getActiveVersion(), SubscriptionEvents.INITIAL_VERSION + 1);
- assertFailureFromBusHandler();
+ assertListenerStatus();
}
}
@@ -327,6 +329,4 @@ public class TestRepairIntegration extends TestIntegrationBase {
}
});
}
-
-
}
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 882b2cb..0d7aed7 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
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import com.ning.billing.api.TestApiListener.NextEvent;
@@ -50,8 +51,11 @@ public abstract class TestMigration extends TestApiBase {
public void testSingleBasePlan() {
try {
+
+ log.info("Starting testSingleBasePlan");
+
final DateTime startDate = clock.getUTCNow().minusMonths(2);
- DateTime beforeMigration = clock.getUTCNow();
+ DateTime beforeMigration = clock.getUTCNow();
EntitlementAccountMigration toBeMigrated = createAccountWithRegularBasePlan(startDate);
DateTime afterMigration = clock.getUTCNow();
@@ -73,7 +77,7 @@ public abstract class TestMigration extends TestApiBase {
assertEquals(subscription.getState(), SubscriptionState.ACTIVE);
assertEquals(subscription.getCurrentPlan().getName(), "assault-rifle-annual");
assertEquals(subscription.getChargedThroughDate(), startDate.plusYears(1));
-
+
assertListenerStatus();
} catch (EntitlementMigrationApiException e) {
Assert.fail("", e);
@@ -82,6 +86,7 @@ public abstract class TestMigration extends TestApiBase {
public void testPlanWithAddOn() {
try {
+ log.info("Starting testPlanWithAddOn");
DateTime beforeMigration = clock.getUTCNow();
final DateTime initalBPStart = clock.getUTCNow().minusMonths(3);
final DateTime initalAddonStart = clock.getUTCNow().minusMonths(1).plusDays(7);
@@ -131,7 +136,7 @@ public abstract class TestMigration extends TestApiBase {
public void testSingleBasePlanFutureCancelled() {
try {
-
+ log.info("Starting testSingleBasePlanFutureCancelled");
final DateTime startDate = clock.getUTCNow().minusMonths(1);
DateTime beforeMigration = clock.getUTCNow();
EntitlementAccountMigration toBeMigrated = createAccountWithRegularBasePlanFutreCancelled(startDate);
@@ -158,8 +163,9 @@ public abstract class TestMigration extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.MIGRATE_BILLING);
testListener.pushExpectedEvent(NextEvent.CANCEL);
- Duration oneYear = getDurationYear(1);
- clock.setDeltaFromReality(oneYear, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusYears(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
assertDateWithin(subscription.getStartDate(), beforeMigration, afterMigration);
@@ -180,6 +186,8 @@ public abstract class TestMigration extends TestApiBase {
public void testSingleBasePlanWithPendingPhase() {
try {
+
+ log.info("Starting testSingleBasePlanWithPendingPhase");
final DateTime trialDate = clock.getUTCNow().minusDays(10);
EntitlementAccountMigration toBeMigrated = createAccountFuturePendingPhase(trialDate);
@@ -205,8 +213,9 @@ public abstract class TestMigration extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.MIGRATE_BILLING);
testListener.pushExpectedEvent(NextEvent.PHASE);
- Duration thirtyDays = getDurationDay(30);
- clock.setDeltaFromReality(thirtyDays, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(30));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
assertEquals(subscription.getStartDate(), trialDate);
@@ -227,6 +236,7 @@ public abstract class TestMigration extends TestApiBase {
public void testSingleBasePlanWithPendingChange() {
try {
+ log.info("Starting testSingleBasePlanWithPendingChange");
DateTime beforeMigration = clock.getUTCNow();
EntitlementAccountMigration toBeMigrated = createAccountFuturePendingChange();
DateTime afterMigration = clock.getUTCNow();
@@ -250,8 +260,9 @@ public abstract class TestMigration extends TestApiBase {
assertEquals(subscription.getCurrentPlan().getName(), "assault-rifle-monthly");
testListener.pushExpectedEvent(NextEvent.CHANGE);
- Duration oneMonth = getDurationMonth(1);
- clock.setDeltaFromReality(oneMonth, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
assertDateWithin(subscription.getStartDate(), beforeMigration, afterMigration);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigrationMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigrationMemory.java
index 6ea53bc..0195d69 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigrationMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/migration/TestMigrationMemory.java
@@ -31,26 +31,26 @@ public class TestMigrationMemory extends TestMigration {
}
@Override
- @Test(enabled=false, groups="fast")
+ @Test(enabled=true, groups="fast")
public void testSingleBasePlan() {
super.testSingleBasePlan();
}
@Override
- @Test(enabled=false, groups="fast")
+ @Test(enabled=true, groups="fast")
public void testSingleBasePlanFutureCancelled() {
super.testSingleBasePlanFutureCancelled();
}
@Override
- @Test(enabled=false, groups="fast")
+ @Test(enabled=true, groups="fast")
public void testPlanWithAddOn() {
super.testPlanWithAddOn();
}
@Override
- @Test(enabled=false, groups="fast")
+ @Test(enabled=true, groups="fast")
public void testSingleBasePlanWithPendingPhase() {
super.testSingleBasePlanWithPendingPhase();
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index 7623fbb..f3ea92a 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -113,6 +113,13 @@ public abstract class TestApiBase implements TestListenerStatus {
private boolean isListenerFailed;
private String listenerFailedMsg;
+ //
+ // The date on which we make our test start; just to ensure that running tests at different dates does not
+ // produce different results. nothing specific about that date; we could change it to anything.
+ //
+ protected DateTime testStartDate = new DateTime(2012, 5, 7, 0, 3, 42, 0);
+
+
public static void loadSystemPropertiesFromClasspath(final String resource) {
final URL url = TestApiBase.class.getResource(resource);
@@ -225,6 +232,9 @@ public abstract class TestApiBase implements TestListenerStatus {
// START NOTIFICATION QUEUE FOR ENTITLEMENT
((Engine)entitlementService).start();
+ // SETUP START DATE
+ clock.setDeltaFromReality(testStartDate.getMillis() - clock.getUTCNow().getMillis());
+
// CREATE NEW BUNDLE FOR TEST
UUID accountId = UUID.randomUUID();
bundle = entitlementApi.createBundleForAccount(accountId, "myDefaultBundle", context);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
index 76d7e77..fce7e8a 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairBP.java
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -142,8 +143,8 @@ public class TestRepairBP extends TestApiBaseRepair {
Subscription baseSubscription = createSubscription(baseProduct, BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
// Stays in trial-- for instance
- Duration durationShift = getDurationDay(10);
- clock.setDeltaFromReality(durationShift, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(10));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -263,7 +264,8 @@ public class TestRepairBP extends TestApiBaseRepair {
UUID baseSubscriptionId = testBPRepairCreate(true, startDate, clockShift, baseProduct, newBaseProduct, expected);
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(getDurationDay(32));
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(32));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// CHECK WHAT"S GOING ON AFTER WE MOVE CLOCK-- FUTURE MOTIFICATION SHOULD KICK IN
@@ -324,8 +326,9 @@ public class TestRepairBP extends TestApiBaseRepair {
if (!inTrial) {
testListener.pushExpectedEvent(NextEvent.PHASE);
}
- Duration durationShift = getDurationDay(clockShift);
- clock.setDeltaFromReality(durationShift, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(clockShift));
+ clock.addDeltaFromReality(it.toDurationMillis());
if (!inTrial) {
assertTrue(testListener.isCompleted(5000));
}
@@ -445,7 +448,8 @@ public class TestRepairBP extends TestApiBaseRepair {
// CHECK WHAT"S GOING ON AFTER WE MOVE CLOCK-- FUTURE MOTIFICATION SHOULD KICK IN
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(getDurationDay(32));
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(32));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
SubscriptionData subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(baseSubscriptionId);
@@ -503,9 +507,9 @@ public class TestRepairBP extends TestApiBaseRepair {
if (!inTrial) {
testListener.pushExpectedEvent(NextEvent.PHASE);
}
-
- Duration durationShift = getDurationDay(clockShift);
- clock.setDeltaFromReality(durationShift, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(clockShift));
+ clock.addDeltaFromReality(it.toDurationMillis());
if (!inTrial) {
assertTrue(testListener.isCompleted(5000));
}
@@ -614,8 +618,10 @@ public class TestRepairBP extends TestApiBaseRepair {
Subscription baseSubscription = createSubscription("Shotgun", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
// MOVE CLOCK -- OUT OF TRIAL
- testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(getDurationDay(35), 0);
+ testListener.pushExpectedEvent(NextEvent.PHASE);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(35));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD to BASE SUBSCRIPTION SP CANCEL OCCURS EOT
@@ -685,9 +691,6 @@ public class TestRepairBP extends TestApiBaseRepair {
TestWithException test = new TestWithException();
DateTime startDate = clock.getUTCNow();
- testListener.reset();
- clock.resetDeltaFromReality();
-
final Subscription baseSubscription = createSubscription("Shotgun", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
test.withException(new TestWithExceptionCallback() {
@@ -724,9 +727,6 @@ public class TestRepairBP extends TestApiBaseRepair {
TestWithException test = new TestWithException();
DateTime startDate = clock.getUTCNow();
- testListener.reset();
- clock.resetDeltaFromReality();
-
final Subscription baseSubscription = createSubscription("Shotgun", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
test.withException(new TestWithExceptionCallback() {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
index b6a8052..ec75a30 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithAO.java
@@ -24,6 +24,7 @@ import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.annotations.Test;
import com.google.inject.Guice;
@@ -69,15 +70,16 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
SubscriptionData aoSubscription2 = createSubscription("Laser-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -225,16 +227,17 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
testListener.pushExpectedEvent(NextEvent.PHASE);
- someTimeLater = getDurationDay(32);
- clock.addDeltaFromReality(someTimeLater);
+
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(32));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(7000));
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
@@ -346,16 +349,18 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
testListener.pushExpectedEvent(NextEvent.PHASE);
- someTimeLater = getDurationDay(40);
- clock.addDeltaFromReality(someTimeLater);
+
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(40));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(7000));
// SET CTD to BASE SUBSCRIPTION SP CANCEL OCCURS EOT
@@ -458,8 +463,9 @@ public class TestRepairWithAO extends TestApiBaseRepair {
// MOVE CLOCK AFTER CANCEL DATE
testListener.pushExpectedEvent(NextEvent.CANCEL);
testListener.pushExpectedEvent(NextEvent.CANCEL);
- someTimeLater = getDurationDay(32);
- clock.addDeltaFromReality(someTimeLater);
+
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(32));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(7000));
newAoSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(aoSubscription.getId());
@@ -488,13 +494,14 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -583,13 +590,14 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -678,13 +686,14 @@ public class TestRepairWithAO extends TestApiBaseRepair {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -763,8 +772,9 @@ public class TestRepairWithAO extends TestApiBaseRepair {
assertEquals(currentPhase.getPhaseType(), PhaseType.DISCOUNT);
testListener.pushExpectedEvent(NextEvent.PHASE);
- someTimeLater = getDurationDay(60);
- clock.addDeltaFromReality(someTimeLater);
+
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(60));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
newAoSubscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(aoSubscription.getId());
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
index 8fbbb3a..7421b48 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/timeline/TestRepairWithError.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -61,14 +62,12 @@ public class TestRepairWithError extends TestApiBaseRepair {
return Guice.createInjector(Stage.DEVELOPMENT, new MockEngineModuleMemory());
}
-
- @BeforeMethod(groups={"fast"})
- public void beforeMethod() throws Exception {
+ @BeforeMethod(alwaysRun = true)
+ public void setupTest() throws Exception {
+ super.setupTest();
test = new TestWithException();
startDate = clock.getUTCNow();
baseSubscription = createSubscription(baseProduct, BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, startDate);
- testListener.reset();
- clock.resetDeltaFromReality();
}
@Test(groups={"fast"})
@@ -82,8 +81,10 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
- Duration durationShift = getDurationDay(40);
- clock.setDeltaFromReality(durationShift, 0);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(40));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
assertTrue(testListener.isCompleted(5000));
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
@@ -109,8 +110,8 @@ public class TestRepairWithError extends TestApiBaseRepair {
@Override
public void doTest() throws EntitlementRepairException, EntitlementUserApiException {
- Duration durationShift = getDurationDay(3);
- clock.setDeltaFromReality(durationShift, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
testListener.pushExpectedEvent(NextEvent.CHANGE);
DateTime changeTime = clock.getUTCNow();
@@ -119,8 +120,8 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
- durationShift = getDurationDay(40);
- clock.addDeltaFromReality(durationShift);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(40));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
@@ -171,8 +172,8 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
- Duration durationShift = getDurationDay(40);
- clock.setDeltaFromReality(durationShift, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(40));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
@@ -203,8 +204,8 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE AFTER TRIAL
testListener.pushExpectedEvent(NextEvent.PHASE);
- Duration durationShift = getDurationDay(40);
- clock.setDeltaFromReality(durationShift, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(40));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
@@ -234,13 +235,13 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
-
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -282,13 +283,13 @@ public class TestRepairWithError extends TestApiBaseRepair {
// MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL
- Duration someTimeLater = getDurationDay(3);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
-
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
SubscriptionData aoSubscription = createSubscription("Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
// MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL
- clock.addDeltaFromReality(someTimeLater);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
BundleTimeline bundleRepair = repairApi.getBundleRepair(bundle.getId());
sortEventsOnBundle(bundleRepair);
@@ -329,7 +330,8 @@ public class TestRepairWithError extends TestApiBaseRepair {
//testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(getDurationDay(5), 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
//assertTrue(testListener.isCompleted(5000));
SubscriptionData aoSubscription = createSubscription("Laser-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
@@ -371,8 +373,9 @@ public class TestRepairWithError extends TestApiBaseRepair {
/*
//testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(getDurationDay(5), 0);
- //assertTrue(testListener.isCompleted(5000));
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
SubscriptionData aoSubscription = createSubscription("Laser-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
@@ -420,6 +423,10 @@ public class TestRepairWithError extends TestApiBaseRepair {
/*
// MOVE CLOCK -- JUST BEFORE END OF TRIAL
+ *
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(29));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
clock.setDeltaFromReality(getDurationDay(29), 0);
SubscriptionData aoSubscription = createSubscription("Laser-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME);
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
index fd74c2d..d412e59 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiAddOn.java
@@ -21,9 +21,8 @@ import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import org.apache.commons.lang.NotImplementedException;
import org.joda.time.DateTime;
-import org.joda.time.Period;
+import org.joda.time.Interval;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -41,7 +40,6 @@ import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.catalog.api.PlanSpecifier;
import com.ning.billing.catalog.api.PriceListSet;
import com.ning.billing.catalog.api.ProductCategory;
-import com.ning.billing.catalog.api.TimeUnit;
import com.ning.billing.entitlement.api.TestApiBase;
import com.ning.billing.entitlement.api.user.Subscription.SubscriptionState;
import com.ning.billing.entitlement.glue.MockEngineModuleSql;
@@ -113,8 +111,8 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.PHASE);
// MOVE CLOCK AFTER TRIAL + AO DISCOUNT
- Duration twoMonths = getDurationMonth(2);
- clock.setDeltaFromReality(twoMonths, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(2));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD TO CANCEL IN FUTURE
@@ -137,7 +135,9 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.reset();
testListener.pushExpectedEvent(NextEvent.CANCEL);
testListener.pushExpectedEvent(NextEvent.CANCEL);
- clock.addDeltaFromReality(ctd);
+
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// REFETCH AO SUBSCRIPTION AND CHECK THIS IS CANCELLED
@@ -177,8 +177,8 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.PHASE);
// MOVE CLOCK AFTER TRIAL + AO DISCOUNT
- Duration twoMonths = getDurationMonth(2);
- clock.setDeltaFromReality(twoMonths, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(2));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD TO CHANGE IN FUTURE
@@ -234,8 +234,8 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.PHASE);
// MOVE CLOCK AFTER TRIAL + AO DISCOUNT
- Duration twoMonths = getDurationMonth(2);
- clock.setDeltaFromReality(twoMonths, DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(2));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD TO CANCEL IN FUTURE
@@ -262,7 +262,8 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.reset();
testListener.pushExpectedEvent(NextEvent.CHANGE);
testListener.pushExpectedEvent(NextEvent.CANCEL);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
@@ -343,9 +344,9 @@ public class TestUserApiAddOn extends TestApiBase {
SubscriptionData baseSubscription = createSubscription(baseProduct, baseTerm, basePriceList);
// MOVE CLOCK 14 DAYS LATER
- Duration someTimeLater = getDurationDay(13);
- clock.setDeltaFromReality(someTimeLater, DAY_IN_MS);
-
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(14));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
// CREATE ADDON
DateTime beforeAOCreation = clock.getUTCNow();
SubscriptionData aoSubscription = createSubscription(aoProduct, aoTerm, aoPriceList);
@@ -380,35 +381,8 @@ public class TestUserApiAddOn extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.PHASE);
// MOVE THROUGH TIME TO GO INTO EVERGREEN
-
- // Talk with Stephane about this fix. It seemed that the add on phase change was not appearing in the queue
- // hypothesis is that waiting a period that is exactly the duration of the phase might be an instant too short
- // depending how the comparison works
-
- //someTimeLater = aoCurrentPhase.getDuration();
- someTimeLater = new Duration() {
- @Override
- public TimeUnit getUnit() {
- return TimeUnit.DAYS;
- }
-
- @Override
- public int getNumber() {
- return 32;
- }
-
- @Override
- public DateTime addToDateTime(DateTime dateTime) {
- throw new NotImplementedException();
- }
- @Override
- public Period toJodaPeriod() {
- throw new UnsupportedOperationException();
- }
- };
-
- clock.addDeltaFromReality(someTimeLater);
- clock.addDeltaFromReality(getDurationDay(1));
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(33));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
index 54811a9..7fb06e0 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancel.java
@@ -22,6 +22,7 @@ import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import com.ning.billing.api.TestApiListener.NextEvent;
@@ -55,8 +56,8 @@ public abstract class TestUserApiCancel extends TestApiBase {
assertEquals(currentPhase.getPhaseType(), PhaseType.TRIAL);
// ADVANCE TIME still in trial
- Duration moveALittleInTime = getDurationDay(3);
- clock.setDeltaFromReality(moveALittleInTime, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
DateTime future = clock.getUTCNow();
testListener.pushExpectedEvent(NextEvent.CANCEL);
@@ -96,7 +97,9 @@ public abstract class TestUserApiCancel extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
assertTrue(testListener.isCompleted(5000));
trialPhase = subscription.getCurrentPhase();
assertEquals(trialPhase.getPhaseType(), PhaseType.EVERGREEN);
@@ -116,7 +119,8 @@ public abstract class TestUserApiCancel extends TestApiBase {
// MOVE TO EOT + RECHECK
testListener.pushExpectedEvent(NextEvent.CANCEL);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
DateTime future = clock.getUTCNow();
assertTrue(testListener.isCompleted(5000));
@@ -152,7 +156,9 @@ public abstract class TestUserApiCancel extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
trialPhase = subscription.getCurrentPhase();
assertEquals(trialPhase.getPhaseType(), PhaseType.EVERGREEN);
@@ -197,7 +203,8 @@ public abstract class TestUserApiCancel extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
PlanPhase currentPhase = subscription.getCurrentPhase();
assertEquals(currentPhase.getPhaseType(), PhaseType.EVERGREEN);
@@ -214,8 +221,9 @@ public abstract class TestUserApiCancel extends TestApiBase {
subscription.uncancel(context);
// MOVE TO EOT + RECHECK
- testListener.pushExpectedEvent(NextEvent.UNCANCEL);
- clock.addDeltaFromReality(ctd);
+ testListener.pushExpectedEvent(NextEvent.UNCANCEL);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
Plan currentPlan = subscription.getCurrentPlan();
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
index 7eccbdd..625002a 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCancelMemory.java
@@ -33,25 +33,25 @@ public class TestUserApiCancelMemory extends TestUserApiCancel {
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCancelSubscriptionIMM() {
super.testCancelSubscriptionIMM();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCancelSubscriptionEOTWithChargeThroughDate() throws EntitlementBillingApiException {
super.testCancelSubscriptionEOTWithChargeThroughDate();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCancelSubscriptionEOTWithNoChargeThroughDate() {
super.testCancelSubscriptionEOTWithNoChargeThroughDate();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testUncancel() throws EntitlementBillingApiException {
super.testUncancel();
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
index 6b5ce62..b1d2c0b 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlan.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.List;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import com.ning.billing.api.TestApiListener.NextEvent;
@@ -79,7 +80,10 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO NEXT PHASE
PlanPhase currentPhase = subscription.getCurrentPhase();
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(currentPhase.getDuration(), DAY_IN_MS);
+
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
DateTime futureNow = clock.getUTCNow();
DateTime nextExpectedPhaseChange = DefaultClock.addDuration(subscription.getStartDate(), currentPhase.getDuration());
assertTrue(futureNow.isAfter(nextExpectedPhaseChange));
@@ -121,7 +125,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
PlanPhase currentPhase = subscription.getCurrentPhase();
assertEquals(currentPhase.getPhaseType(), PhaseType.DISCOUNT);
@@ -155,7 +160,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO EOT
testListener.pushExpectedEvent(NextEvent.CHANGE);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId());
@@ -185,8 +191,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
testListener.pushExpectedEvent(NextEvent.CHANGE);
- Duration moveALittleInTime = getDurationDay(3);
- clock.setDeltaFromReality(moveALittleInTime, 0);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(3));
+ clock.addDeltaFromReality(it.toDurationMillis());
// CHANGE PLAN IMM
subscription.changePlan(toProd, toTerm, toPlanSet, clock.getUTCNow(), context);
@@ -200,7 +206,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(currentPhase.getDuration());
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(30));
+ clock.addDeltaFromReality(it.toDurationMillis());
DateTime futureNow = clock.getUTCNow();
assertTrue(futureNow.isAfter(nextExpectedPhaseChange));
@@ -233,7 +240,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
currentTime = clock.getUTCNow();
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
currentTime = clock.getUTCNow();
assertTrue(testListener.isCompleted(5000));
@@ -262,7 +270,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO AFTER CTD
testListener.pushExpectedEvent(NextEvent.CHANGE);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
currentTime = clock.getUTCNow();
assertTrue(testListener.isCompleted(5000));
@@ -277,7 +286,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TIME ABOUT ONE MONTH BEFORE NEXT EXPECTED PHASE CHANGE
testListener.setNonExpectedMode();
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(getDurationMonth(11));
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(11));
+ clock.addDeltaFromReality(it.toDurationMillis());
currentTime = clock.getUTCNow();
assertFalse(testListener.isCompleted(3000));
testListener.reset();
@@ -287,7 +297,9 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TIME RIGHT AFTER NEXT EXPECTED PHASE CHANGE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(getDurationMonth(1));
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
currentTime = clock.getUTCNow();
assertTrue(testListener.isCompleted(5000));
@@ -307,7 +319,9 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
assertTrue(testListener.isCompleted(5000));
// SET CTD
@@ -358,7 +372,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
assertEquals(trialPhase.getPhaseType(), PhaseType.TRIAL);
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD
@@ -397,7 +412,9 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// ACTIVATE CHNAGE BY MOVING AFTER CTD
testListener.pushExpectedEvent(NextEvent.CHANGE);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
assertTrue(testListener.isCompleted(5000));
currentPlan = subscription.getCurrentPlan();
@@ -414,7 +431,8 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(currentPhase.getDuration());
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(6));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId());
@@ -446,7 +464,9 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
assertEquals(trialPhase.getPhaseType(), PhaseType.TRIAL);
// MOVE 2 DAYS AHEAD
- clock.setDeltaFromReality(getDurationDay(1), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(2));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
// CHANGE IMMEDIATE TO A 3 PHASES PLAN
testListener.reset();
@@ -467,7 +487,9 @@ public abstract class TestUserApiChangePlan extends TestApiBase {
// MOVE AFTER TRIAL PERIOD -> DISCOUNT
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(trialPhase.getDuration());
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(30));
+ clock.addDeltaFromReality(it.toDurationMillis());
+
assertTrue(testListener.isCompleted(5000));
trialPhase = subscription.getCurrentPhase();
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
index 8bbdd2d..0da1169 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiChangePlanMemory.java
@@ -33,38 +33,38 @@ public class TestUserApiChangePlanMemory extends TestUserApiChangePlan {
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testChangePlanBundleAlignEOTWithNoChargeThroughDate() {
super.testChangePlanBundleAlignEOTWithNoChargeThroughDate();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testChangePlanBundleAlignEOTWithChargeThroughDate() throws EntitlementBillingApiException {
super.testChangePlanBundleAlignEOTWithChargeThroughDate();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testChangePlanBundleAlignIMM() {
super.testChangePlanBundleAlignIMM();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testMultipleChangeLastIMM() throws EntitlementBillingApiException {
super.testMultipleChangeLastIMM();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testMultipleChangeLastEOT() throws EntitlementBillingApiException {
super.testMultipleChangeLastEOT();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCorrectPhaseAlignmentOnChange() {
super.testCorrectPhaseAlignmentOnChange();
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreate.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreate.java
index 8af0400..6517044 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreate.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreate.java
@@ -24,6 +24,7 @@ import static org.testng.Assert.assertTrue;
import java.util.List;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -165,8 +166,8 @@ public abstract class TestUserApiCreate extends TestApiBase {
assertEquals(nextPhaseChange, nextExpectedPhaseChange);
testListener.pushExpectedEvent(NextEvent.PHASE);
-
- clock.setDeltaFromReality(currentPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
DateTime futureNow = clock.getUTCNow();
assertTrue(futureNow.isAfter(nextPhaseChange));
@@ -203,15 +204,18 @@ public abstract class TestUserApiCreate extends TestApiBase {
// MOVE TO DISCOUNT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(currentPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
+ assertTrue(testListener.isCompleted(5000));
currentPhase = subscription.getCurrentPhase();
assertNotNull(currentPhase);
assertEquals(currentPhase.getPhaseType(), PhaseType.DISCOUNT);
- assertTrue(testListener.isCompleted(5000));
+
// MOVE TO EVERGREEN PHASE + RE-READ SUBSCRIPTION
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(currentPhase.getDuration());
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusYears(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId());
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
index 7987d87..e4969f1 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiCreateMemory.java
@@ -32,31 +32,31 @@ public class TestUserApiCreateMemory extends TestUserApiCreate {
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCreateWithRequestedDate() {
super.testCreateWithRequestedDate();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testCreateWithInitialPhase() {
super.testSimpleSubscriptionThroughPhases();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
public void testSimpleCreateSubscription() {
super.testSimpleCreateSubscription();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
protected void testSimpleSubscriptionThroughPhases() {
super.testSimpleSubscriptionThroughPhases();
}
@Override
- @Test(enabled=true, groups={"fast-disabled"})
+ @Test(enabled=true, groups={"fast"})
protected void testSubscriptionWithAddOn() {
super.testSubscriptionWithAddOn();
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
index 4a3051c..0973666 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiDemos.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -89,7 +90,8 @@ public class TestUserApiDemos extends TestApiBase {
/* STEP 3. MOVE TO DISCOUNT PHASE */
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
displayState(subscription.getId(), "STEP 3. MOVE TO DISCOUNT PHASE");
@@ -123,7 +125,8 @@ public class TestUserApiDemos extends TestApiBase {
/* STEP 6. MOVE TO EOT AND CHECK CHANGE OCCURED */
testListener.pushExpectedEvent(NextEvent.CHANGE);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
Plan currentPlan = subscription.getCurrentPlan();
@@ -140,7 +143,8 @@ public class TestUserApiDemos extends TestApiBase {
/* STEP 7. MOVE TO NEXT PHASE */
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.addDeltaFromReality(currentPhase.getDuration());
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(6));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
subscription = (SubscriptionData) entitlementApi.getSubscriptionFromId(subscription.getId());
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
index 227ff14..c56e0e0 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiError.java
@@ -25,6 +25,7 @@ import java.util.UUID;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -192,7 +193,8 @@ public class TestUserApiError extends TestApiBase {
// MOVE TO NEXT PHASE
PlanPhase currentPhase = subscription.getCurrentPhase();
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(currentPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
index 56c0558..7f874de 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiScenarios.java
@@ -21,6 +21,7 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import org.joda.time.DateTime;
+import org.joda.time.Interval;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -44,7 +45,7 @@ public class TestUserApiScenarios extends TestApiBase {
return Guice.createInjector(Stage.DEVELOPMENT, new MockEngineModuleSql());
}
- @Test(enabled=true)
+ @Test(groups={"slow"}, enabled=true)
public void testChangeIMMCancelUncancelChangeEOT() throws EntitlementBillingApiException {
log.info("Starting testChangeIMMCancelUncancelChangeEOT");
@@ -60,7 +61,8 @@ public class TestUserApiScenarios extends TestApiBase {
// MOVE TO NEXT PHASE
testListener.pushExpectedEvent(NextEvent.PHASE);
- clock.setDeltaFromReality(trialPhase.getDuration(), DAY_IN_MS);
+ Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(31));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
// SET CTD
@@ -88,7 +90,8 @@ public class TestUserApiScenarios extends TestApiBase {
testListener.reset();
testListener.pushExpectedEvent(NextEvent.CHANGE);
- clock.addDeltaFromReality(ctd);
+ it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusMonths(1));
+ clock.addDeltaFromReality(it.toDurationMillis());
assertTrue(testListener.isCompleted(5000));
assertListenerStatus();
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
index 9b75099..5eb760c 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
@@ -158,7 +158,6 @@ public class MockEntitlementDaoMemory implements EntitlementDao, MockEntitlement
@Override
public void createSubscription(final SubscriptionData subscription, final List<EntitlementEvent> initialEvents,
final CallContext context) {
-
synchronized(events) {
events.addAll(initialEvents);
for (final EntitlementEvent cur : initialEvents) {
@@ -285,7 +284,7 @@ public class MockEntitlementDaoMemory implements EntitlementDao, MockEntitlement
@Override
public void cancelSubscription(final UUID subscriptionId, final EntitlementEvent cancelEvent,
final CallContext context, final int seqId) {
- synchronized (cancelEvent) {
+ synchronized(events) {
cancelNextPhaseEvent(subscriptionId);
insertEvent(cancelEvent);
}