killbill-aplcache
Changes
analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java 10(+9 -1)
Details
diff --git a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
index 83f701d..4e1b199 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/BusinessSubscriptionTransitionRecorder.java
@@ -156,6 +156,8 @@ public class BusinessSubscriptionTransitionRecorder {
return subscriptionCreated(event);
case RE_CREATE:
return subscriptionRecreated(event);
+ case TRANSFER:
+ return subscriptionTransfered(event);
case CANCEL:
return subscriptionCancelled(event);
case CHANGE:
@@ -180,6 +182,11 @@ public class BusinessSubscriptionTransitionRecorder {
return BusinessSubscriptionEvent.subscriptionRecreated(recreated.getNextPlan(), catalogService.getFullCatalog(), recreated.getEffectiveTransitionTime(), recreated.getSubscriptionStartDate());
}
+ private BusinessSubscriptionEvent subscriptionTransfered(final SubscriptionEvent transfered) throws AccountApiException, EntitlementUserApiException {
+ return BusinessSubscriptionEvent.subscriptionTransfered(transfered.getNextPlan(), catalogService.getFullCatalog(), transfered.getEffectiveTransitionTime(), transfered.getSubscriptionStartDate());
+ }
+
+
private BusinessSubscriptionEvent subscriptionCancelled(final SubscriptionEvent cancelled) throws AccountApiException, EntitlementUserApiException {
// cancelled.getNextPlan() is null here - need to look at the previous one to create the correct event name
return BusinessSubscriptionEvent.subscriptionCancelled(cancelled.getPreviousPlan(), catalogService.getFullCatalog(), cancelled.getEffectiveTransitionTime(), cancelled.getSubscriptionStartDate());
@@ -212,7 +219,8 @@ public class BusinessSubscriptionTransitionRecorder {
final ArrayList<BusinessSubscriptionTransition> transitions,
final Currency currency) {
if (BusinessSubscriptionEvent.EventType.ADD.equals(businessEvent.getEventType()) ||
- BusinessSubscriptionEvent.EventType.RE_ADD.equals(businessEvent.getEventType())) {
+ BusinessSubscriptionEvent.EventType.RE_ADD.equals(businessEvent.getEventType()) ||
+ BusinessSubscriptionEvent.EventType.TRANSFER.equals(businessEvent.getEventType())) {
return null;
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
index e21f648..b529559 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionEvent.java
@@ -40,6 +40,7 @@ public class BusinessSubscriptionEvent {
ADD,
CANCEL,
RE_ADD,
+ TRANSFER,
CHANGE,
SYSTEM_CANCEL,
SYSTEM_CHANGE
@@ -96,6 +97,10 @@ public class BusinessSubscriptionEvent {
return eventFromType(EventType.RE_ADD, plan, catalog, eventTime, subscriptionCreationDate);
}
+ public static BusinessSubscriptionEvent subscriptionTransfered(final String plan, final Catalog catalog, final DateTime eventTime, final DateTime subscriptionCreationDate) {
+ return eventFromType(EventType.TRANSFER, plan, catalog, eventTime, subscriptionCreationDate);
+ }
+
public static BusinessSubscriptionEvent subscriptionPhaseChanged(final String plan, final SubscriptionState state, final Catalog catalog, final DateTime eventTime, final DateTime subscriptionCreationDate) {
if (state != null && state.equals(SubscriptionState.CANCELLED)) {
return eventFromType(EventType.SYSTEM_CANCEL, plan, catalog, eventTime, subscriptionCreationDate);
diff --git a/api/src/main/java/com/ning/billing/entitlement/api/transfer/EntitlementTransferApi.java b/api/src/main/java/com/ning/billing/entitlement/api/transfer/EntitlementTransferApi.java
index ce09e8c..796717a 100644
--- a/api/src/main/java/com/ning/billing/entitlement/api/transfer/EntitlementTransferApi.java
+++ b/api/src/main/java/com/ning/billing/entitlement/api/transfer/EntitlementTransferApi.java
@@ -19,11 +19,12 @@ import java.util.UUID;
import org.joda.time.DateTime;
+import com.ning.billing.entitlement.api.user.SubscriptionBundle;
import com.ning.billing.util.callcontext.CallContext;
public interface EntitlementTransferApi {
- public void transferBundle(final UUID sourceAccountId, final UUID destAccountId, final String bundleKey, final DateTime requestedDate, final boolean transferAddOn, final CallContext context)
+ public SubscriptionBundle transferBundle(final UUID sourceAccountId, final UUID destAccountId, final String bundleKey, final DateTime requestedDate, final boolean transferAddOn, final CallContext context)
throws EntitlementTransferApiException;
}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
index 6e3a0a9..99155bd 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/transfer/DefaultEntitlementTransferApi.java
@@ -199,12 +199,14 @@ public class DefaultEntitlementTransferApi implements EntitlementTransferApi {
@Override
- public void transferBundle(final UUID sourceAccountId, final UUID destAccountId,
+ public SubscriptionBundle transferBundle(final UUID sourceAccountId, final UUID destAccountId,
final String bundleKey, final DateTime transferDate, final boolean transferAddOn,
final CallContext context) throws EntitlementTransferApiException {
try {
+ final DateTime effectiveTransferDate = transferDate == null ? clock.getUTCNow() : transferDate;
+
final SubscriptionBundle bundle = dao.getSubscriptionBundleFromAccountAndKey(sourceAccountId, bundleKey);
if (bundle == null) {
throw new EntitlementTransferApiException(ErrorCode.ENT_CREATE_NO_BUNDLE, bundleKey);
@@ -213,7 +215,7 @@ public class DefaultEntitlementTransferApi implements EntitlementTransferApi {
// Get the bundle timeline for the old account
final BundleTimeline bundleTimeline = timelineApi.getBundleTimeline(bundle);
- final SubscriptionBundleData subscriptionBundleData = new SubscriptionBundleData(bundleKey, destAccountId, transferDate);
+ final SubscriptionBundleData subscriptionBundleData = new SubscriptionBundleData(bundleKey, destAccountId, effectiveTransferDate);
final List<SubscriptionMigrationData> subscriptionMigrationDataList = new LinkedList<SubscriptionMigrationData>();
final List<TransferCancelData> transferCancelDataList = new LinkedList<TransferCancelData>();
@@ -232,18 +234,16 @@ public class DefaultEntitlementTransferApi implements EntitlementTransferApi {
}
} else {
-
-
// If BP or STANDALONE subscription, create the cancel event on effectiveCancelDate
- final DateTime effectiveCancelDate = oldSubscription.getChargedThroughDate() != null && transferDate.isBefore(oldSubscription.getChargedThroughDate()) ?
- oldSubscription.getChargedThroughDate() : transferDate;
+ final DateTime effectiveCancelDate = oldSubscription.getChargedThroughDate() != null && effectiveTransferDate.isBefore(oldSubscription.getChargedThroughDate()) ?
+ oldSubscription.getChargedThroughDate() : effectiveTransferDate;
final EntitlementEvent cancelEvent = new ApiEventCancel(new ApiEventBuilder()
.setSubscriptionId(cur.getId())
.setActiveVersion(cur.getActiveVersion())
.setProcessedDate(clock.getUTCNow())
.setEffectiveDate(effectiveCancelDate)
- .setRequestedDate(transferDate)
+ .setRequestedDate(effectiveTransferDate)
.setUserToken(context.getUserToken())
.setFromDisk(true));
@@ -262,11 +262,11 @@ public class DefaultEntitlementTransferApi implements EntitlementTransferApi {
.setId(UUID.randomUUID())
.setBundleId(subscriptionBundleData.getId())
.setCategory(productCategory)
- .setBundleStartDate(transferDate)
+ .setBundleStartDate(effectiveTransferDate)
.setAlignStartDate(subscriptionAlignStartDate),
ImmutableList.<EntitlementEvent>of());
- final List<EntitlementEvent> events = toEvents(existingEvents, subscriptionData, transferDate, context);
+ final List<EntitlementEvent> events = toEvents(existingEvents, subscriptionData, effectiveTransferDate, context);
final SubscriptionMigrationData curData = new SubscriptionMigrationData(subscriptionData, events);
subscriptionMigrationDataList.add(curData);
}
@@ -275,6 +275,7 @@ public class DefaultEntitlementTransferApi implements EntitlementTransferApi {
// Atomically cancel all subscription on old account and create new bundle, subscriptions, events for new account
dao.transfer(sourceAccountId, destAccountId, bundleMigrationData, transferCancelDataList, context);
+ return bundle;
} catch (EntitlementRepairException e) {
throw new EntitlementTransferApiException(e);
}
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 cead496..94e8a92 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,8 +16,6 @@
package com.ning.billing.jaxrs.json;
-import javax.annotation.Nullable;
-import java.util.List;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -30,8 +28,7 @@ public class BundleJsonNoSubscriptions extends BundleJsonSimple {
@JsonCreator
public BundleJsonNoSubscriptions(@JsonProperty("bundleId") final String bundleId,
@JsonProperty("accountId") final String accountId,
- @JsonProperty("externalKey") final String externalKey,
- @JsonProperty("subscriptions") @Nullable final List<SubscriptionJsonWithEvents> subscriptions) {
+ @JsonProperty("externalKey") final String externalKey) {
super(bundleId, externalKey);
this.accountId = accountId;
}
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/RuntimeExceptionMapper.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/RuntimeExceptionMapper.java
index e8e3c61..ebbdcab 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/RuntimeExceptionMapper.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/mappers/RuntimeExceptionMapper.java
@@ -24,12 +24,17 @@ import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
@Singleton
@Provider
public class RuntimeExceptionMapper extends ExceptionMapperBase implements ExceptionMapper<RuntimeException> {
private final UriInfo uriInfo;
+ private static final Logger log = LoggerFactory.getLogger(RuntimeExceptionMapper.class);
+
public RuntimeExceptionMapper(@Context final UriInfo uriInfo) {
this.uriInfo = uriInfo;
}
@@ -38,6 +43,8 @@ public class RuntimeExceptionMapper extends ExceptionMapperBase implements Excep
public Response toResponse(final RuntimeException exception) {
if (exception instanceof NullPointerException) {
// Assume bad payload
+ exception.printStackTrace();
+ log.warn("Exception : " + exception.getMessage());
return buildBadRequestResponse(exception, uriInfo);
} else if (exception instanceof WebApplicationException) {
// e.g. com.sun.jersey.api.NotFoundException
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
index b1c3586..083a9a8 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/BundleResource.java
@@ -22,9 +22,11 @@ import java.util.UUID;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
+import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -33,6 +35,10 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
+import org.joda.time.DateTime;
+
+import com.ning.billing.entitlement.api.transfer.EntitlementTransferApi;
+import com.ning.billing.entitlement.api.transfer.EntitlementTransferApiException;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
@@ -62,18 +68,21 @@ public class BundleResource extends JaxRsResourceBase {
private static final String TAG_URI = JaxrsResource.TAGS;
private final EntitlementUserApi entitlementApi;
+ private final EntitlementTransferApi transferApi;
private final Context context;
private final JaxrsUriBuilder uriBuilder;
@Inject
public BundleResource(final JaxrsUriBuilder uriBuilder,
final EntitlementUserApi entitlementApi,
+ final EntitlementTransferApi transferApi,
final TagUserApi tagUserApi,
final CustomFieldUserApi customFieldUserApi,
final Context context) {
super(uriBuilder, tagUserApi, customFieldUserApi);
this.uriBuilder = uriBuilder;
this.entitlementApi = entitlementApi;
+ this.transferApi = transferApi;
this.context = context;
}
@@ -159,6 +168,27 @@ public class BundleResource extends JaxRsResourceBase {
return super.getTags(UUID.fromString(id));
}
+ @PUT
+ @Path("/{bundleId:" + UUID_PATTERN + "}")
+ @Consumes(APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
+ public Response transferBundle(@PathParam(ID_PARAM_NAME) final String id,
+ @QueryParam(QUERY_REQUESTED_DT) final String requestedDate,
+ @QueryParam(QUERY_BUNDLE_TRANSFER_ADDON) @DefaultValue("true") final Boolean transferAddOn,
+ final BundleJsonNoSubscriptions json,
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment,
+ @javax.ws.rs.core.Context final UriInfo uriInfo) throws EntitlementUserApiException, EntitlementTransferApiException {
+
+ final SubscriptionBundle bundle = entitlementApi.getBundleFromId(UUID.fromString(id));
+ final DateTime inputDate = (requestedDate != null) ? DATE_TIME_FORMATTER.parseDateTime(requestedDate) : null;
+ final SubscriptionBundle newBundle = transferApi.transferBundle(bundle.getAccountId(), UUID.fromString(json.getAccountId()), bundle.getKey(), inputDate, transferAddOn,
+ context.createContext(createdBy, reason, comment));
+
+ return uriBuilder.buildResponse(BundleResource.class, "getBundle", newBundle.getId(), uriInfo.getBaseUri().toString());
+ }
+
@POST
@Path("/{bundleId:" + UUID_PATTERN + "}/" + TAG_URI)
@Consumes(APPLICATION_JSON)
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
index 932d1e2..4c9ceb0 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
@@ -61,6 +61,7 @@ public interface JaxrsResource {
public static final String QUERY_PAYMENT_METHOD_PLUGIN_INFO = "withPluginInfo";
public static final String QUERY_PAYMENT_METHOD_IS_DEFAULT = "isDefault";
+ public static final String QUERY_BUNDLE_TRANSFER_ADDON = "transferAddOn";
public static final String ACCOUNTS = "accounts";
public static final String ACCOUNTS_PATH = PREFIX + "/" + ACCOUNTS;
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
index e092c39..5443667 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxRsResourceBase.java
@@ -26,6 +26,8 @@ import java.util.UUID;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
+import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,6 +58,8 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
protected abstract ObjectType getObjectType();
+ protected final DateTimeFormatter DATE_TIME_FORMATTER = ISODateTimeFormat.dateTime();
+
public JaxRsResourceBase(final JaxrsUriBuilder uriBuilder,
final TagUserApi tagUserApi,
final CustomFieldUserApi customFieldUserApi) {
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 38027ff..03c30d2 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
@@ -37,8 +37,6 @@ import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
import org.joda.time.DateTime;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,8 +77,6 @@ public class SubscriptionResource extends JaxRsResourceBase {
private static final String CUSTOM_FIELD_URI = JaxrsResource.CUSTOM_FIELDS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
private static final String TAG_URI = JaxrsResource.TAGS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
- private final DateTimeFormatter DATE_TIME_FORMATTER = ISODateTimeFormat.dateTime();
-
private final EntitlementUserApi entitlementApi;
private final Context context;
private final JaxrsUriBuilder uriBuilder;
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
index 97caed0..4c819e8 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonNoSubscriptions.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestBundleJsonNoSubscriptions.java
@@ -34,7 +34,7 @@ public class TestBundleJsonNoSubscriptions extends JaxrsTestSuite {
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);
+ final BundleJsonNoSubscriptions bundleJsonNoSubscriptions = new BundleJsonNoSubscriptions(bundleId, accountId, externalKey);
Assert.assertEquals(bundleJsonNoSubscriptions.getBundleId(), bundleId);
Assert.assertEquals(bundleJsonNoSubscriptions.getAccountId(), accountId);
Assert.assertEquals(bundleJsonNoSubscriptions.getExternalKey(), externalKey);
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 749e108..4b8fefe 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestBundle.java
@@ -24,11 +24,15 @@ import java.util.Map;
import javax.ws.rs.core.Response.Status;
+import org.joda.time.DateTime;
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.BundleJsonNoSubscriptions;
+import com.ning.billing.jaxrs.json.SubscriptionJsonNoEvents;
import com.ning.billing.jaxrs.resources.JaxrsResource;
import com.ning.http.client.Response;
@@ -107,5 +111,36 @@ public class TestBundle extends TestJaxrsBase {
Assert.assertEquals(response.getStatusCode(), Status.NOT_FOUND.getStatusCode());
}
+ @Test(groups = "slow", enabled = true)
+ public void testBundleTransfer() 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("src", "src", "src@yahoo.com");
+ final BundleJsonNoSubscriptions bundleJson = createBundle(accountJson.getAccountId(), "93199");
+
+ final String productName = "Shotgun";
+ final BillingPeriod term = BillingPeriod.MONTHLY;
+
+ final SubscriptionJsonNoEvents subscriptionJson = createSubscription(bundleJson.getBundleId(), productName, ProductCategory.BASE.toString(), term.toString(), true);
+ Assert.assertNotNull(subscriptionJson.getChargedThroughDate());
+ Assert.assertEquals(subscriptionJson.getChargedThroughDate().toString(), "2012-04-25T00:00:00.000Z");
+
+ final AccountJson newAccount = createAccountWithDefaultPaymentMethod("dst", "dst", "dst@yahoo.com");
+
+ final BundleJsonNoSubscriptions newBundleInput = new BundleJsonNoSubscriptions(null, newAccount.getAccountId(), null);
+ final String newBundleInputJson = mapper.writeValueAsString(newBundleInput);
+ final String uri = JaxrsResource.BUNDLES_PATH + "/" + bundleJson.getBundleId();
+ Response response = doPut(uri, newBundleInputJson, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+ Assert.assertEquals(response.getStatusCode(), Status.CREATED.getStatusCode());
+
+ final String locationCC = response.getHeader("Location");
+ Assert.assertNotNull(locationCC);
+
+ 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/TestJaxrsBase.java b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
index 9153cd5..f59c748 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestJaxrsBase.java
@@ -370,7 +370,7 @@ public class TestJaxrsBase extends ServerTestSuiteWithEmbeddedDB {
protected BundleJsonNoSubscriptions createBundle(final String accountId, final String key) throws Exception {
- final BundleJsonNoSubscriptions input = new BundleJsonNoSubscriptions(null, accountId, key, null);
+ final BundleJsonNoSubscriptions input = new BundleJsonNoSubscriptions(null, accountId, key);
String baseJson = mapper.writeValueAsString(input);
Response response = doPost(JaxrsResource.BUNDLES_PATH, baseJson, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
Assert.assertEquals(response.getStatusCode(), Status.CREATED.getStatusCode());