Details
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonNoEvents.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonNoEvents.java
index df568ba..8b42de4 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonNoEvents.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/SubscriptionJsonNoEvents.java
@@ -1,6 +1,7 @@
package com.ning.billing.jaxrs.json;
import java.util.List;
+import java.util.Map;
import javax.annotation.Nullable;
@@ -13,7 +14,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class SubscriptionJsonNoEvents extends EntitlementJsonNoEvents {
- private final String chargedThroughDate;
+
+ private final LocalDate chargedThroughDate;
+
+ private final LocalDate billingStartDate;
+ private final LocalDate billingEndDate;
+ private final Integer bcd;
+ private final String billingState;
+ //private final Map<String, String> currentStatesForServices;
+
public SubscriptionJsonNoEvents(@JsonProperty("accountId") @Nullable final String accountId,
@JsonProperty("bundleId") @Nullable final String bundleId,
@@ -26,9 +35,17 @@ public class SubscriptionJsonNoEvents extends EntitlementJsonNoEvents {
@JsonProperty("priceList") @Nullable final String priceList,
@JsonProperty("cancelledDate") @Nullable final LocalDate cancelledDate,
@JsonProperty("auditLogs") @Nullable final List<AuditLogJson> auditLogs,
- @JsonProperty("chargedThroughDate") @Nullable final String chargedThroughDate) {
+ @JsonProperty("chargedThroughDate") @Nullable final LocalDate chargedThroughDate,
+ @JsonProperty("billingStartDate") @Nullable final LocalDate billingStartDate,
+ @JsonProperty("billingEndDate") @Nullable final LocalDate billingEndDate,
+ @JsonProperty("bcd") @Nullable final Integer bcd,
+ @JsonProperty("billingState") @Nullable final String billingState) {
super(accountId, bundleId, entitlementId, externalKey, startDate, productName, productCategory, billingPeriod, priceList, cancelledDate, auditLogs);
this.chargedThroughDate = chargedThroughDate;
+ this.billingStartDate = billingStartDate;
+ this.billingEndDate = billingEndDate;
+ this.bcd = bcd;
+ this.billingState = billingState;
}
public SubscriptionJsonNoEvents(final Subscription s,
@@ -44,10 +61,30 @@ public class SubscriptionJsonNoEvents extends EntitlementJsonNoEvents {
s.getPriceList() != null ? s.getPriceList().getName() : null,
s.getEffectiveEndDate(),
toAuditLogJson(auditLogs),
- s.getChargedThroughDate() != null ? s.getChargedThroughDate().toString() : null);
+ s.getChargedThroughDate() != null ? s.getChargedThroughDate() : null,
+ s.getBillingStartDate(),
+ s.getBillingEndDate(),
+ s.getBCD(),
+ s.getBillingState() != null ? s.getBillingState().name() : null);
}
- public String getChargedThroughDate() {
+ public LocalDate getChargedThroughDate() {
return chargedThroughDate;
}
+
+ public LocalDate getBillingStartDate() {
+ return billingStartDate;
+ }
+
+ public LocalDate getBillingEndDate() {
+ return billingEndDate;
+ }
+
+ public Integer getBcd() {
+ return bcd;
+ }
+
+ public String getBillingState() {
+ return billingState;
+ }
}
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/OverdueResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/OverdueResource.java
index 2d5dc7b..d323964 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/OverdueResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/OverdueResource.java
@@ -36,9 +36,6 @@ import com.ning.billing.overdue.OverdueApiException;
import com.ning.billing.overdue.OverdueState;
import com.ning.billing.overdue.OverdueUserApi;
import com.ning.billing.overdue.config.api.OverdueException;
-import com.ning.billing.subscription.api.SubscriptionBase;
-import com.ning.billing.subscription.api.user.SubscriptionBaseBundle;
-import com.ning.billing.subscription.api.user.SubscriptionBaseApiException;
import com.ning.billing.util.api.AuditUserApi;
import com.ning.billing.util.api.CustomFieldUserApi;
import com.ning.billing.util.api.TagUserApi;
@@ -77,10 +74,8 @@ public class OverdueResource extends JaxRsResourceBase {
final TenantContext tenantContext = context.createContext(request);
final Account account = accountUserApi.getAccountById(UUID.fromString(accountId), tenantContext);
- //final OverdueState<Account> overdueState = null; STEPH_ENT overdueApi.getOverdueStateFor(account, tenantContext);
+ final OverdueState overdueState = overdueApi.getOverdueStateFor(account, tenantContext);
- //return Response.status(Status.OK).entity(new OverdueStateJson(overdueState)).build();
- return null;
+ return Response.status(Status.OK).entity(new OverdueStateJson(overdueState)).build();
}
-
}
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
index aa2626d..7cc19e3 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
@@ -48,7 +48,6 @@ public class SubscriptionResource extends JaxRsResourceBase {
@javax.ws.rs.core.Context final HttpServletRequest request) throws SubscriptionApiException {
final UUID uuid = UUID.fromString(subscriptionId);
final Subscription subscription = subscriptionApi.getSubscriptionForEntitlementId(uuid, context.createContext(request));
- // STEPH_ENT missing info in SubscriptionJsonNoEvents (billing dates,...)
final SubscriptionJsonNoEvents json = new SubscriptionJsonNoEvents(subscription, null);
return Response.status(Status.OK).entity(json).build();
}
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonWithSubscriptions.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonWithSubscriptions.java
index c26f967..dc08b57 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonWithSubscriptions.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonWithSubscriptions.java
@@ -21,6 +21,7 @@ import java.util.UUID;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
+import org.joda.time.LocalDate;
import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -29,6 +30,7 @@ import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.PlanPhaseSpecifier;
import com.ning.billing.catalog.api.ProductCategory;
+import com.ning.billing.jaxrs.json.EntitlementJsonWithEvents.SubscriptionReadEventJson;
import com.ning.billing.subscription.api.SubscriptionBaseTransitionType;
import com.ning.billing.subscription.api.timeline.BundleBaseTimeline;
import com.ning.billing.subscription.api.timeline.SubscriptionBaseTimeline;
@@ -45,25 +47,15 @@ public class TestBundleJsonWithSubscriptions extends JaxrsTestSuiteNoDB {
@Test(groups = "fast")
public void testJson() throws Exception {
- final SubscriptionBaseTimeline.ExistingEvent event = Mockito.mock(SubscriptionBaseTimeline.ExistingEvent.class);
- final DateTime effectiveDate = DefaultClock.toUTCDateTime(new DateTime(DateTimeZone.UTC));
- final UUID eventId = UUID.randomUUID();
- final PlanPhaseSpecifier planPhaseSpecifier = new PlanPhaseSpecifier(UUID.randomUUID().toString(), ProductCategory.BASE,
- BillingPeriod.NO_BILLING_PERIOD, UUID.randomUUID().toString(),
- PhaseType.EVERGREEN);
- Mockito.when(event.getEffectiveDate()).thenReturn(effectiveDate);
- Mockito.when(event.getEventId()).thenReturn(eventId);
- Mockito.when(event.getSubscriptionTransitionType()).thenReturn(SubscriptionBaseTransitionType.CREATE);
- Mockito.when(event.getPlanPhaseSpecifier()).thenReturn(planPhaseSpecifier);
-
- final SubscriptionBaseTimeline subscriptionTimeline = Mockito.mock(SubscriptionBaseTimeline.class);
- Mockito.when(subscriptionTimeline.getId()).thenReturn(UUID.randomUUID());
- Mockito.when(subscriptionTimeline.getExistingEvents()).thenReturn(ImmutableList.<SubscriptionBaseTimeline.ExistingEvent>of(event));
+ final String someUUID = UUID.randomUUID().toString();
final UUID bundleId = UUID.randomUUID();
final String externalKey = UUID.randomUUID().toString();
- final EntitlementJsonWithEvents subscription = null; // STEPH_ENT new EntitlementJsonWithEvents(bundleId, subscriptionTimeline, null, ImmutableMap.<UUID, List<AuditLog>>of());
final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
+
+ SubscriptionReadEventJson event = new SubscriptionReadEventJson(someUUID, BillingPeriod.NO_BILLING_PERIOD.toString(), new LocalDate(), new LocalDate(), "product", "priceList", "eventType", "phase", null);
+ final EntitlementJsonWithEvents subscription = new EntitlementJsonWithEvents(someUUID, someUUID, someUUID, externalKey, ImmutableList.<SubscriptionReadEventJson>of(event), null, null, auditLogs);
+
final BundleJsonWithSubscriptions bundleJsonWithSubscriptions = new BundleJsonWithSubscriptions(bundleId.toString(), externalKey, ImmutableList.<EntitlementJsonWithEvents>of(subscription), auditLogs);
Assert.assertEquals(bundleJsonWithSubscriptions.getBundleId(), bundleId.toString());
Assert.assertEquals(bundleJsonWithSubscriptions.getExternalKey(), externalKey);
@@ -74,61 +66,4 @@ public class TestBundleJsonWithSubscriptions extends JaxrsTestSuiteNoDB {
final BundleJsonWithSubscriptions fromJson = mapper.readValue(asJson, BundleJsonWithSubscriptions.class);
Assert.assertEquals(fromJson, bundleJsonWithSubscriptions);
}
-
- @Test(groups = "fast")
- public void testFromBundleTimeline() throws Exception {
- final SubscriptionBaseTimeline.ExistingEvent event = Mockito.mock(SubscriptionBaseTimeline.ExistingEvent.class);
- final DateTime effectiveDate = DefaultClock.toUTCDateTime(new DateTime(DateTimeZone.UTC));
- final UUID eventId = UUID.randomUUID();
- final PlanPhaseSpecifier planPhaseSpecifier = new PlanPhaseSpecifier(UUID.randomUUID().toString(), ProductCategory.BASE,
- BillingPeriod.NO_BILLING_PERIOD, UUID.randomUUID().toString(),
- PhaseType.EVERGREEN);
- Mockito.when(event.getEffectiveDate()).thenReturn(effectiveDate);
- Mockito.when(event.getEventId()).thenReturn(eventId);
- Mockito.when(event.getSubscriptionTransitionType()).thenReturn(SubscriptionBaseTransitionType.CREATE);
- Mockito.when(event.getPlanPhaseSpecifier()).thenReturn(planPhaseSpecifier);
-
- final SubscriptionBaseTimeline subscriptionTimeline = Mockito.mock(SubscriptionBaseTimeline.class);
- Mockito.when(subscriptionTimeline.getId()).thenReturn(UUID.randomUUID());
- Mockito.when(subscriptionTimeline.getExistingEvents()).thenReturn(ImmutableList.<SubscriptionBaseTimeline.ExistingEvent>of(event));
-
- final BundleBaseTimeline bundleBaseTimeline = Mockito.mock(BundleBaseTimeline.class);
- final UUID bundleId = UUID.randomUUID();
- final String externalKey = UUID.randomUUID().toString();
- Mockito.when(bundleBaseTimeline.getId()).thenReturn(bundleId);
- Mockito.when(bundleBaseTimeline.getExternalKey()).thenReturn(externalKey);
- Mockito.when(bundleBaseTimeline.getSubscriptions()).thenReturn(ImmutableList.<SubscriptionBaseTimeline>of(subscriptionTimeline));
-
- final BundleJsonWithSubscriptions bundleJsonWithSubscriptions = null; /* STEPH_ENT new BundleJsonWithSubscriptions(bundleBaseTimeline, null,
- ImmutableMap.<UUID, List<AuditLog>>of(),
- ImmutableMap.<UUID, List<AuditLog>>of()); */
- Assert.assertEquals(bundleJsonWithSubscriptions.getBundleId(), bundleId.toString());
- Assert.assertEquals(bundleJsonWithSubscriptions.getExternalKey(), externalKey);
- Assert.assertEquals(bundleJsonWithSubscriptions.getSubscriptions().size(), 1);
- final EntitlementJsonWithEvents events = bundleJsonWithSubscriptions.getSubscriptions().get(0);
- Assert.assertNull(events.getDeletedEvents());
- Assert.assertNull(events.getNewEvents());
- Assert.assertEquals(events.getEvents().size(), 1);
- // Note - ms are truncated
- Assert.assertEquals(events.getEvents().get(0).getEffectiveDate(), DefaultClock.toUTCDateTime(effectiveDate));
- Assert.assertEquals(events.getEvents().get(0).getEventId(), eventId.toString());
- Assert.assertNull(bundleJsonWithSubscriptions.getAuditLogs());
- }
-
- @Test(groups = "fast")
- public void testFromSubscriptionBundle() throws Exception {
- final BundleBaseTimeline bundle = Mockito.mock(BundleBaseTimeline.class);
- final UUID bundleId = UUID.randomUUID();
- final String externalKey = UUID.randomUUID().toString();
- Mockito.when(bundle.getId()).thenReturn(bundleId);
- Mockito.when(bundle.getExternalKey()).thenReturn(externalKey);
-
- final BundleJsonWithSubscriptions bundleJsonWithSubscriptions = null; /* new BundleJsonWithSubscriptions(bundle, null,
- ImmutableMap.<UUID, List<AuditLog>>of(),
- ImmutableMap.<UUID, List<AuditLog>>of()); */
- Assert.assertEquals(bundleJsonWithSubscriptions.getBundleId(), bundleId.toString());
- Assert.assertEquals(bundleJsonWithSubscriptions.getExternalKey(), externalKey);
- Assert.assertEquals(bundleJsonWithSubscriptions.getSubscriptions().size(), 0);
- Assert.assertNull(bundleJsonWithSubscriptions.getAuditLogs());
- }
}
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
index 45837c1..b5afb41 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleTimelineJson.java
@@ -17,11 +17,11 @@
package com.ning.billing.jaxrs.json;
import java.math.BigDecimal;
+import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
-import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -30,11 +30,13 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.catalog.api.PhaseType;
import com.ning.billing.catalog.api.PlanPhaseSpecifier;
import com.ning.billing.catalog.api.ProductCategory;
-import com.ning.billing.subscription.api.SubscriptionBaseTransitionType;
-import com.ning.billing.subscription.api.timeline.SubscriptionBaseTimeline;
+import com.ning.billing.entitlement.api.Subscription;
+import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
import com.ning.billing.jaxrs.JaxrsTestSuiteNoDB;
+import com.ning.billing.util.audit.AuditLog;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
public class TestBundleTimelineJson extends JaxrsTestSuiteNoDB {
@@ -60,26 +62,21 @@ public class TestBundleTimelineJson extends JaxrsTestSuiteNoDB {
}
private BundleJsonWithSubscriptions createBundleWithSubscriptions() {
- final SubscriptionBaseTimeline.ExistingEvent event = Mockito.mock(SubscriptionBaseTimeline.ExistingEvent.class);
final DateTime effectiveDate = clock.getUTCNow();
final UUID eventId = UUID.randomUUID();
final PlanPhaseSpecifier planPhaseSpecifier = new PlanPhaseSpecifier(UUID.randomUUID().toString(), ProductCategory.BASE,
BillingPeriod.NO_BILLING_PERIOD, UUID.randomUUID().toString(),
PhaseType.EVERGREEN);
- Mockito.when(event.getEffectiveDate()).thenReturn(effectiveDate);
- Mockito.when(event.getEventId()).thenReturn(eventId);
- Mockito.when(event.getSubscriptionTransitionType()).thenReturn(SubscriptionBaseTransitionType.CREATE);
- Mockito.when(event.getPlanPhaseSpecifier()).thenReturn(planPhaseSpecifier);
-
- final SubscriptionBaseTimeline subscriptionTimeline = Mockito.mock(SubscriptionBaseTimeline.class);
- Mockito.when(subscriptionTimeline.getId()).thenReturn(UUID.randomUUID());
- Mockito.when(subscriptionTimeline.getExistingEvents()).thenReturn(ImmutableList.<SubscriptionBaseTimeline.ExistingEvent>of(event));
-
+ final UUID accountId = UUID.randomUUID();
final UUID bundleId = UUID.randomUUID();
+ final UUID entitlementId = UUID.randomUUID();
final String externalKey = UUID.randomUUID().toString();
- final EntitlementJsonWithEvents subscription = null; // STEPH_ENT new EntitlementJsonWithEvents(bundleId, subscriptionTimeline, null, ImmutableMap.<UUID, List<AuditLog>>of());
- return new BundleJsonWithSubscriptions(bundleId.toString(), externalKey, ImmutableList.<EntitlementJsonWithEvents>of(subscription), null);
+
+ // STEPH_ENT once DefaultSubscription exists...
+ final Subscription subscription = null;
+ final EntitlementJsonWithEvents entitlementJsonWithEvents = new EntitlementJsonWithEvents(subscription, ImmutableList.<SubscriptionEvent>of(), ImmutableList.<AuditLog>of(), ImmutableMap.<UUID, List<AuditLog>>of());
+ return new BundleJsonWithSubscriptions(bundleId.toString(), externalKey, ImmutableList.<EntitlementJsonWithEvents>of(entitlementJsonWithEvents), null);
}
private InvoiceJsonSimple createInvoice() {
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java
new file mode 100644
index 0000000..9877a5c
--- /dev/null
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestEntitlementJsonWithEvents.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010-2013 Ning, Inc.
+ *
+ * Ning licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.jaxrs.json;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.ning.billing.catalog.api.BillingPeriod;
+import com.ning.billing.catalog.api.PhaseType;
+import com.ning.billing.clock.DefaultClock;
+import com.ning.billing.entitlement.api.SubscriptionBundleTimeline.SubscriptionEvent;
+import com.ning.billing.jaxrs.JaxrsTestSuiteNoDB;
+import com.ning.billing.jaxrs.json.EntitlementJsonWithEvents.SubscriptionReadEventJson;
+import com.ning.billing.subscription.api.SubscriptionBaseTransitionType;
+
+import com.google.common.collect.ImmutableList;
+
+import static com.ning.billing.jaxrs.JaxrsTestUtils.createAuditLogsJson;
+
+public class TestEntitlementJsonWithEvents extends JaxrsTestSuiteNoDB {
+
+ @Test(groups = "fast")
+ public void testJson() throws Exception {
+ final String accountId = UUID.randomUUID().toString();
+ final String bundleId = UUID.randomUUID().toString();
+ final String entitlementId = UUID.randomUUID().toString();
+ final String externalKey = UUID.randomUUID().toString();
+ final DateTime requestedDate = DefaultClock.toUTCDateTime(new DateTime(DateTimeZone.UTC));
+ final DateTime effectiveDate = DefaultClock.toUTCDateTime(new DateTime(DateTimeZone.UTC));
+ final UUID eventId = UUID.randomUUID();
+ final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
+ final EntitlementJsonWithEvents.SubscriptionReadEventJson newEvent = new EntitlementJsonWithEvents.SubscriptionReadEventJson(eventId.toString(),
+ BillingPeriod.NO_BILLING_PERIOD.toString(),
+ requestedDate.toLocalDate(),
+ effectiveDate.toLocalDate(),
+ UUID.randomUUID().toString(),
+ UUID.randomUUID().toString(),
+ SubscriptionBaseTransitionType.CREATE.toString(),
+ PhaseType.DISCOUNT.toString(),
+ auditLogs);
+ final SubscriptionEvent event = null;
+ final EntitlementJsonWithEvents entitlementJsonWithEvents = new EntitlementJsonWithEvents(accountId, bundleId, entitlementId, externalKey, ImmutableList.<SubscriptionReadEventJson>of(newEvent), null, null, auditLogs);
+
+
+ final String asJson = mapper.writeValueAsString(entitlementJsonWithEvents);
+
+ final EntitlementJsonWithEvents fromJson = mapper.readValue(asJson, EntitlementJsonWithEvents.class);
+ Assert.assertEquals(fromJson, entitlementJsonWithEvents);
+ }
+}
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestSubscriptionJsonNoEvents.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestSubscriptionJsonNoEvents.java
index 379c935..f52cd7e 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestSubscriptionJsonNoEvents.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestSubscriptionJsonNoEvents.java
@@ -21,6 +21,7 @@ import java.util.UUID;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
+import org.joda.time.LocalDate;
import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -41,78 +42,38 @@ public class TestSubscriptionJsonNoEvents extends JaxrsTestSuiteNoDB {
@Test(groups = "fast")
public void testJson() throws Exception {
- final String subscriptionId = UUID.randomUUID().toString();
+ final String accountId = UUID.randomUUID().toString();
+ final String entitlementId = UUID.randomUUID().toString();
final String bundleId = UUID.randomUUID().toString();
- final DateTime startDate = new DateTime(DateTimeZone.UTC);
+ final String externalKey = "ecternalKey";
+ final LocalDate startDate = new LocalDate();
+ final LocalDate cancelDate = new LocalDate();
+ final LocalDate billingStartDate = new LocalDate();
+ final LocalDate billingEndDate = new LocalDate();
final String productName = UUID.randomUUID().toString();
final String productCategory = UUID.randomUUID().toString();
final String billingPeriod = UUID.randomUUID().toString();
final String priceList = UUID.randomUUID().toString();
- final DateTime chargedThroughDate = new DateTime(DateTimeZone.UTC);
+ final LocalDate chargedThroughDate = new LocalDate();
final DateTime endDate = new DateTime(DateTimeZone.UTC);
final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
- final EntitlementJsonNoEvents subscriptionJsonNoEvents = null; /* STEPH_ENT new EntitlementJsonNoEvents(subscriptionId, bundleId, startDate,
- productName, productCategory, billingPeriod,
- priceList, chargedThroughDate, endDate,
- auditLogs); */
- Assert.assertEquals(subscriptionJsonNoEvents.getEntitlementId(), subscriptionId);
+ final SubscriptionJsonNoEvents subscriptionJsonNoEvents = new SubscriptionJsonNoEvents(accountId, bundleId, entitlementId, externalKey, startDate, productName,
+ productCategory, billingPeriod, priceList, cancelDate, auditLogs, chargedThroughDate,
+ billingStartDate, billingEndDate, new Integer(1), "OK");
+
+ Assert.assertEquals(subscriptionJsonNoEvents.getEntitlementId(), entitlementId);
Assert.assertEquals(subscriptionJsonNoEvents.getBundleId(), bundleId);
Assert.assertEquals(subscriptionJsonNoEvents.getStartDate(), startDate);
Assert.assertEquals(subscriptionJsonNoEvents.getProductName(), productName);
Assert.assertEquals(subscriptionJsonNoEvents.getProductCategory(), productCategory);
Assert.assertEquals(subscriptionJsonNoEvents.getBillingPeriod(), billingPeriod);
Assert.assertEquals(subscriptionJsonNoEvents.getPriceList(), priceList);
- // STEPH_ENT
- //Assert.assertEquals(subscriptionJsonNoEvents.getChargedThroughDate(), chargedThroughDate);
+ Assert.assertEquals(subscriptionJsonNoEvents.getChargedThroughDate(), chargedThroughDate);
Assert.assertEquals(subscriptionJsonNoEvents.getAuditLogs(), auditLogs);
final String asJson = mapper.writeValueAsString(subscriptionJsonNoEvents);
- final EntitlementJsonNoEvents fromJson = mapper.readValue(asJson, EntitlementJsonNoEvents.class);
+ final SubscriptionJsonNoEvents fromJson = mapper.readValue(asJson, SubscriptionJsonNoEvents.class);
Assert.assertEquals(fromJson, subscriptionJsonNoEvents);
}
-
- @Test(groups = "fast")
- public void testFromSubscriptionSubscription() throws Exception {
- final Product product = Mockito.mock(Product.class);
- Mockito.when(product.getName()).thenReturn(UUID.randomUUID().toString());
- Mockito.when(product.getCategory()).thenReturn(ProductCategory.STANDALONE);
-
- final InternationalPrice price = Mockito.mock(InternationalPrice.class);
- final PlanPhase planPhase = Mockito.mock(PlanPhase.class);
- Mockito.when(planPhase.getRecurringPrice()).thenReturn(price);
-
- final Plan plan = Mockito.mock(Plan.class);
- Mockito.when(plan.getProduct()).thenReturn(product);
- Mockito.when(plan.getName()).thenReturn(UUID.randomUUID().toString());
- Mockito.when(plan.getBillingPeriod()).thenReturn(BillingPeriod.QUARTERLY);
- Mockito.when(plan.getFinalPhase()).thenReturn(planPhase);
-
- final PriceList priceList = Mockito.mock(PriceList.class);
-
- final SubscriptionBase subscription = Mockito.mock(SubscriptionBase.class);
- Mockito.when(subscription.getId()).thenReturn(UUID.randomUUID());
- Mockito.when(subscription.getBundleId()).thenReturn(UUID.randomUUID());
- Mockito.when(subscription.getStartDate()).thenReturn(new DateTime(DateTimeZone.UTC));
- Mockito.when(subscription.getCurrentPlan()).thenReturn(plan);
- Mockito.when(subscription.getCurrentPriceList()).thenReturn(priceList);
- Mockito.when(subscription.getChargedThroughDate()).thenReturn(new DateTime(DateTimeZone.UTC));
- final String productName = product.getName();
- Mockito.when(subscription.getLastActiveProductName()).thenReturn(productName);
- final String productCategory = plan.getProduct().getCategory().toString();
- Mockito.when(subscription.getLastActiveCategoryName()).thenReturn(productCategory);
- final String billingPeriod = plan.getBillingPeriod().toString();
- Mockito.when(subscription.getLastActiveBillingPeriod()).thenReturn(billingPeriod);
-
- final EntitlementJsonNoEvents subscriptionJsonNoEvents = null; // STEPH_ENT new EntitlementJsonNoEvents(subscription, null);
- Assert.assertEquals(subscriptionJsonNoEvents.getEntitlementId(), subscription.getId().toString());
- Assert.assertEquals(subscriptionJsonNoEvents.getStartDate(), subscription.getStartDate());
- Assert.assertEquals(subscriptionJsonNoEvents.getBundleId(), subscription.getBundleId().toString());
- Assert.assertEquals(subscriptionJsonNoEvents.getProductName(), subscription.getCurrentPlan().getProduct().getName());
- Assert.assertEquals(subscriptionJsonNoEvents.getProductCategory(), subscription.getCurrentPlan().getProduct().getCategory().toString());
- Assert.assertEquals(subscriptionJsonNoEvents.getBillingPeriod(), subscription.getCurrentPlan().getBillingPeriod().toString());
- // STEPH_ENT
- //Assert.assertEquals(subscriptionJsonNoEvents.getChargedThroughDate(), subscription.getChargedThroughDate());
- Assert.assertNull(subscriptionJsonNoEvents.getAuditLogs());
- }
}