killbill-memoizeit

Details

diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultEntitlementApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultEntitlementApi.java
index e41d2da..dbee071 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultEntitlementApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestDefaultEntitlementApi.java
@@ -252,7 +252,6 @@ public class TestDefaultEntitlementApi extends EntitlementTestSuiteWithEmbeddedD
                 assertEquals(cur.getState(), EntitlementState.ACTIVE);
             }
 
-            // STEPH_ENT wait for semantics to clarify and write the tests
         } catch (AccountApiException e) {
             Assert.fail("Test failed " + e.getMessage());
         } catch (EntitlementApiException e) {
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/EntitlementJsonNoEvents.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/EntitlementJsonNoEvents.java
index 96e0b29..d613bfb 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/EntitlementJsonNoEvents.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/EntitlementJsonNoEvents.java
@@ -61,7 +61,7 @@ public class EntitlementJsonNoEvents extends EntitlementJsonSimple {
 
     public EntitlementJsonNoEvents(final Entitlement data, @Nullable final List<AuditLog> auditLogs) {
         this(data.getAccountId().toString(),
-             data.getBaseEntitlementId().toString(),
+             data.getBundleId().toString(),
              data.getId().toString(),
              data.getExternalKey(),
              data.getEffectiveStartDate(),
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java b/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java
index 0388bc8..278771c 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java
@@ -120,17 +120,13 @@ public class TestBundle extends TestJaxrsBase {
         final String productName = "Shotgun";
         final BillingPeriod term = BillingPeriod.MONTHLY;
 
-        final EntitlementJsonNoEvents subscriptionJson = createEntitlement(accountJson.getAccountId(), "93199", productName, ProductCategory.BASE.toString(), term.toString(), true);
+        final EntitlementJsonNoEvents entitlementJsonNoEvents = createEntitlement(accountJson.getAccountId(), "93199", productName, ProductCategory.BASE.toString(), term.toString(), true);
 
-        /*
-        STEPH_ENT
-        Assert.assertNotNull(subscriptionJson.getChargedThroughDate());
-        Assert.assertEquals(subscriptionJson.getChargedThroughDate().toLocalDate(), new LocalDate("2012-04-25"));
         final AccountJson newAccount = createAccountWithDefaultPaymentMethod("dst", "dst", "dst@yahoo.com");
 
         final BundleJsonNoSubscriptions newBundleInput = new BundleJsonNoSubscriptions(null, newAccount.getAccountId(), null, null, null);
         final String newBundleInputJson = mapper.writeValueAsString(newBundleInput);
-        final String uri = JaxrsResource.BUNDLES_PATH + "/" + subscriptionJson.getBundleId();
+        final String uri = JaxrsResource.BUNDLES_PATH + "/" + entitlementJsonNoEvents.getBundleId();
         Response response = doPut(uri, newBundleInputJson, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         Assert.assertEquals(response.getStatusCode(), Status.CREATED.getStatusCode());
 
@@ -139,7 +135,5 @@ public class TestBundle extends TestJaxrsBase {
 
         response = doGetWithUrl(locationCC, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         Assert.assertEquals(response.getStatusCode(), Status.OK.getStatusCode());
-
-*/
     }
 }
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestEntitlement.java b/server/src/test/java/com/ning/billing/jaxrs/TestEntitlement.java
index ee8f17f..399a92f 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestEntitlement.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestEntitlement.java
@@ -55,11 +55,7 @@ public class TestEntitlement extends TestJaxrsBase {
         final BillingPeriod term = BillingPeriod.MONTHLY;
 
         final EntitlementJsonNoEvents entitlementJson = createEntitlement(accountJson.getAccountId(), "99999", productName, ProductCategory.BASE.toString(), term.toString(), true);
-        /*
-        STEPH_ENT
-        Assert.assertNotNull(subscriptionJson.getChargedThroughDate());
-        Assert.assertEquals(subscriptionJson.getChargedThroughDate().toLocalDate(), new LocalDate("2012-04-25"));
-*/
+
         String uri = JaxrsResource.ENTITLEMENTS_PATH + "/" + entitlementJson.getEntitlementId();
 
         // Retrieves with GET
@@ -111,7 +107,6 @@ public class TestEntitlement extends TestJaxrsBase {
         baseJson = response.getResponseBody();
         objFromJson = mapper.readValue(baseJson, EntitlementJsonNoEvents.class);
         assertNotNull(objFromJson.getCancelledDate());
-        // STEPH_ENT entitlement was cancelled today but billing is EOT-- would be nice to have a test to try also EOT cancellation
         assertTrue(objFromJson.getCancelledDate().compareTo(new LocalDate(clock.getUTCNow())) == 0);
 
         // Uncancel
@@ -149,11 +144,6 @@ public class TestEntitlement extends TestJaxrsBase {
         final BillingPeriod term = BillingPeriod.ANNUAL;
 
         final EntitlementJsonNoEvents entitlementJsonNoEvents = createEntitlement(accountJson.getAccountId(), "99999", productName, ProductCategory.BASE.toString(), term.toString(), true);
-        /*
-        STEPH_ENT
-        Assert.assertNotNull(subscriptionJson.getChargedThroughDate());
-        Assert.assertEquals(subscriptionJson.getChargedThroughDate().toLocalDate(), new LocalDate("2012-04-25"));
-*/
         final String uri = JaxrsResource.ENTITLEMENTS_PATH + "/" + entitlementJsonNoEvents.getEntitlementId();
 
         // Retrieves with GET
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
index d326ec9..31014eb 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -92,7 +92,7 @@ public class TestJaxrsBase extends KillbillClient {
 
     protected static final String PLUGIN_NAME = "noop";
 
-    protected static final int DEFAULT_HTTP_TIMEOUT_SEC = 6000; // 5;
+    protected static final int DEFAULT_HTTP_TIMEOUT_SEC = 50000;
 
     @Inject
     protected OSGIServiceRegistration<Servlet> servletRouter;
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestSubscription.java b/server/src/test/java/com/ning/billing/jaxrs/TestSubscription.java
new file mode 100644
index 0000000..c736ca4
--- /dev/null
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestSubscription.java
@@ -0,0 +1,48 @@
+package com.ning.billing.jaxrs;
+
+import javax.ws.rs.core.Response.Status;
+
+import org.joda.time.DateTime;
+import org.joda.time.LocalDate;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.ning.billing.catalog.api.BillingPeriod;
+import com.ning.billing.catalog.api.ProductCategory;
+import com.ning.billing.jaxrs.json.AccountJson;
+import com.ning.billing.jaxrs.json.EntitlementJsonNoEvents;
+import com.ning.billing.jaxrs.json.SubscriptionJsonNoEvents;
+import com.ning.billing.jaxrs.resources.JaxrsResource;
+import com.ning.http.client.Response;
+
+import static org.testng.Assert.assertEquals;
+
+public class TestSubscription extends TestJaxrsBase {
+
+
+
+    @Test(groups = "slow")
+    public void testEntitlementInTrialOk() throws Exception {
+
+        final DateTime initialDate = new DateTime(2012, 4, 25, 0, 3, 42, 0);
+        clock.setDeltaFromReality(initialDate.getMillis() - clock.getUTCNow().getMillis());
+
+        final AccountJson accountJson = createAccountWithDefaultPaymentMethod("xil", "shdxilhkkl", "xil@yahoo.com");
+
+        final String productName = "Shotgun";
+        final BillingPeriod term = BillingPeriod.MONTHLY;
+
+        final EntitlementJsonNoEvents entitlementJson = createEntitlement(accountJson.getAccountId(), "99999", productName, ProductCategory.BASE.toString(), term.toString(), true);
+
+        String uri = JaxrsResource.SUBSCRIPTIONS_PATH + "/" + entitlementJson.getEntitlementId();
+
+        // Retrieves with GET
+        Response response = doGet(uri, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        assertEquals(response.getStatusCode(), Status.OK.getStatusCode());
+        String baseJson = response.getResponseBody();
+        SubscriptionJsonNoEvents objFromJson = mapper.readValue(baseJson, SubscriptionJsonNoEvents.class);
+
+        Assert.assertNotNull(objFromJson.getChargedThroughDate());
+        Assert.assertEquals(objFromJson.getChargedThroughDate(), new LocalDate("2012-04-25"));
+    }
+}