@Override public void doTest() throws SubscriptionBaseRepairException, SubscriptionBaseApiException { // MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4)); clock.addDeltaFromReality(it.toDurationMillis()); final DefaultSubscriptionBase aoSubscription = testUtil.createSubscription(bundle, "Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME); // MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4)); clock.addDeltaFromReality(it.toDurationMillis()); BundleBaseTimeline bundleRepair = repairApi.getBundleTimeline(bundle.getId(), callContext); testUtil.sortEventsOnBundle(bundleRepair); // Quick check final SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); final SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final List<DeletedEvent> des = new LinkedList<SubscriptionBaseTimeline.DeletedEvent>(); //des.add(createDeletedEvent(aoRepair.getExistingEvents().get(1).getEventId())); final DateTime aoCancelDate = aoSubscription.getStartDate().plusDays(10); final NewEvent ne = testUtil.createNewEvent(SubscriptionBaseTransitionType.CANCEL, aoCancelDate, null); final SubscriptionBaseTimeline saoRepair = testUtil.createSubscriptionRepair(aoSubscription.getId(), des, Collections.singletonList(ne)); bundleRepair = testUtil.createBundleRepair(bundle.getId(), bundleRepair.getViewId(), Collections.singletonList(saoRepair)); final boolean dryRun = true; repairApi.repairBundle(bundleRepair, dryRun, callContext); } }, ErrorCode.SUB_REPAIR_NEW_EVENT_BEFORE_LAST_AO_REMAINING);
@Override public void doTest() throws SubscriptionBaseRepairException, SubscriptionBaseApiException { // MOVE CLOCK A LITTLE BIT-- STILL IN TRIAL Interval it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4)); clock.addDeltaFromReality(it.toDurationMillis()); final DefaultSubscriptionBase aoSubscription = testUtil.createSubscription(bundle, "Telescopic-Scope", BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME); // MOVE CLOCK A LITTLE BIT MORE -- STILL IN TRIAL it = new Interval(clock.getUTCNow(), clock.getUTCNow().plusDays(4)); clock.addDeltaFromReality(it.toDurationMillis()); final BundleBaseTimeline bundleRepair = repairApi.getBundleTimeline(bundle.getId(), callContext); testUtil.sortEventsOnBundle(bundleRepair); // Quick check final SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); final SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final List<DeletedEvent> des = new LinkedList<SubscriptionBaseTimeline.DeletedEvent>(); des.add(testUtil.createDeletedEvent(aoRepair.getExistingEvents().get(0).getEventId())); des.add(testUtil.createDeletedEvent(aoRepair.getExistingEvents().get(1).getEventId())); final DateTime aoRecreateDate = aoSubscription.getStartDate().minusDays(5); final PlanPhaseSpecifier spec = new PlanPhaseSpecifier("Telescopic-Scope", ProductCategory.ADD_ON, BillingPeriod.MONTHLY, PriceListSet.DEFAULT_PRICELIST_NAME, PhaseType.DISCOUNT); final NewEvent ne = testUtil.createNewEvent(SubscriptionBaseTransitionType.CREATE, aoRecreateDate, spec); final SubscriptionBaseTimeline saoRepair = testUtil.createSubscriptionRepair(aoSubscription.getId(), des, Collections.singletonList(ne)); final BundleBaseTimeline bRepair = testUtil.createBundleRepair(bundle.getId(), bundleRepair.getViewId(), Collections.singletonList(saoRepair)); final boolean dryRun = true; repairApi.repairBundle(bRepair, dryRun, callContext); } }, ErrorCode.SUB_REPAIR_AO_CREATE_BEFORE_BP_START);
SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); index = 0;
final SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); index = 0;
SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair2 = testUtil.getSubscriptionRepair(aoSubscription2.getId(), bundleRepair); assertEquals(aoRepair2.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bundleRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); aoRepair2 = testUtil.getSubscriptionRepair(aoSubscription2.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), dryRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), realRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3);
SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bundleRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), dryRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), realRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3);
SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bundleRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), dryRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), realRunBundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 3);
final SubscriptionBaseTimeline bpRepair = testUtil.getSubscriptionRepair(baseSubscription.getId(), bundleRepair); assertEquals(bpRepair.getExistingEvents().size(), 2); SubscriptionBaseTimeline aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), bundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 2); final BundleBaseTimeline dryRunBundleRepair = repairApi.repairBundle(bRepair, dryRun, callContext); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), dryRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); assertListenerStatus(); aoRepair = testUtil.getSubscriptionRepair(aoSubscription.getId(), realRunBundleRepair); assertEquals(aoRepair.getExistingEvents().size(), 3); index = 0;