killbill-aplcache
Changes
jaxrs/pom.xml 5(+5 -0)
Details
jaxrs/pom.xml 5(+5 -0)
diff --git a/jaxrs/pom.xml b/jaxrs/pom.xml
index da838a5..e0e04cb 100644
--- a/jaxrs/pom.xml
+++ b/jaxrs/pom.xml
@@ -67,6 +67,11 @@
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonNoSubscriptions.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonNoSubscriptions.java
index 1c0fe54..09d7fe2 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonNoSubscriptions.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/BundleJsonNoSubscriptions.java
@@ -16,6 +16,7 @@
package com.ning.billing.jaxrs.json;
+import javax.annotation.Nullable;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -31,7 +32,7 @@ public class BundleJsonNoSubscriptions extends BundleJsonSimple {
public BundleJsonNoSubscriptions(@JsonProperty("bundleId") final String bundleId,
@JsonProperty("accountId") final String accountId,
@JsonProperty("externalKey") final String externalKey,
- @JsonProperty("subscriptions") final List<SubscriptionJsonWithEvents> subscriptions) {
+ @JsonProperty("subscriptions") @Nullable final List<SubscriptionJsonWithEvents> subscriptions) {
super(bundleId, externalKey);
this.accountId = accountId;
}
@@ -40,7 +41,6 @@ public class BundleJsonNoSubscriptions extends BundleJsonSimple {
return accountId;
}
-
public BundleJsonNoSubscriptions(final SubscriptionBundle bundle) {
super(bundle.getId().toString(), bundle.getKey());
this.accountId = bundle.getAccountId().toString();
@@ -107,6 +107,4 @@ public class BundleJsonNoSubscriptions extends BundleJsonSimple {
}
return true;
}
-
-
}
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonNoSubscriptions.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonNoSubscriptions.java
new file mode 100644
index 0000000..c5a40cf
--- /dev/null
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonNoSubscriptions.java
@@ -0,0 +1,49 @@
+package com.ning.billing.jaxrs.json;
+
+import java.util.UUID;
+
+import org.mockito.Mockito;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ning.billing.entitlement.api.user.SubscriptionBundle;
+
+public class TestBundleJsonNoSubscriptions {
+ private static final ObjectMapper mapper = new ObjectMapper();
+
+ @Test(groups = "fast")
+ public void testJson() throws Exception {
+ final String bundleId = UUID.randomUUID().toString();
+ final String accountId = UUID.randomUUID().toString();
+ final String externalKey = UUID.randomUUID().toString();
+ final BundleJsonNoSubscriptions bundleJsonNoSubscriptions = new BundleJsonNoSubscriptions(bundleId, accountId, externalKey, null);
+ Assert.assertEquals(bundleJsonNoSubscriptions.getBundleId(), bundleId);
+ Assert.assertEquals(bundleJsonNoSubscriptions.getAccountId(), accountId);
+ Assert.assertEquals(bundleJsonNoSubscriptions.getExternalKey(), externalKey);
+
+ final String asJson = mapper.writeValueAsString(bundleJsonNoSubscriptions);
+ Assert.assertEquals(asJson, "{\"bundleId\":\"" + bundleJsonNoSubscriptions.getBundleId() + "\"," +
+ "\"accountId\":\"" + bundleJsonNoSubscriptions.getAccountId() + "\"," +
+ "\"externalKey\":\"" + bundleJsonNoSubscriptions.getExternalKey() + "\"}");
+
+ final BundleJsonNoSubscriptions fromJson = mapper.readValue(asJson, BundleJsonNoSubscriptions.class);
+ Assert.assertEquals(fromJson, bundleJsonNoSubscriptions);
+ }
+
+ @Test(groups = "fast")
+ public void testFromSubscriptionBundle() throws Exception {
+ final SubscriptionBundle bundle = Mockito.mock(SubscriptionBundle.class);
+ final UUID bundleId = UUID.randomUUID();
+ final String externalKey = UUID.randomUUID().toString();
+ final UUID accountId = UUID.randomUUID();
+ Mockito.when(bundle.getId()).thenReturn(bundleId);
+ Mockito.when(bundle.getKey()).thenReturn(externalKey);
+ Mockito.when(bundle.getAccountId()).thenReturn(accountId);
+
+ final BundleJsonNoSubscriptions bundleJsonNoSubscriptions = new BundleJsonNoSubscriptions(bundle);
+ Assert.assertEquals(bundleJsonNoSubscriptions.getBundleId(), bundleId.toString());
+ Assert.assertEquals(bundleJsonNoSubscriptions.getExternalKey(), externalKey);
+ Assert.assertEquals(bundleJsonNoSubscriptions.getAccountId(), accountId.toString());
+ }
+}