Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/ComboHostedPaymentPageJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/ComboHostedPaymentPageJson.java
index 0ae0281..490da97 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/ComboHostedPaymentPageJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/ComboHostedPaymentPageJson.java
@@ -23,11 +23,14 @@ import javax.annotation.Nullable;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
@ApiModel(value="ComboHostedPaymentPage")
public class ComboHostedPaymentPageJson extends ComboPaymentJson {
+ //@ApiModelProperty(name = required = true)
private final HostedPaymentPageFieldsJson hostedPaymentPageFields;
@JsonCreator
@@ -40,7 +43,7 @@ public class ComboHostedPaymentPageJson extends ComboPaymentJson {
this.hostedPaymentPageFields = hostedPaymentPageFields;
}
- public HostedPaymentPageFieldsJson getHostedPaymentPageFieldsJson() {
+ public HostedPaymentPageFieldsJson getHostedPaymentPageFields() {
return hostedPaymentPageFields;
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/HostedPaymentPageFieldsJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/HostedPaymentPageFieldsJson.java
index 8c6ece4..fedba4c 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/HostedPaymentPageFieldsJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/HostedPaymentPageFieldsJson.java
@@ -23,17 +23,18 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
-@ApiModel(value="HostedPaymentPageFields", parent = JsonBase.class)
-public class HostedPaymentPageFieldsJson extends JsonBase {
+@ApiModel(value="HostedPaymentPageFields")
+public class HostedPaymentPageFieldsJson {
private final List<PluginPropertyJson> formFields;
+
@JsonCreator
public HostedPaymentPageFieldsJson(@JsonProperty("formFields") final List<PluginPropertyJson> formFields) {
this.formFields = formFields;
}
- public List<PluginPropertyJson> getCustomFields() {
+ public List<PluginPropertyJson> getFormFields() {
return formFields;
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
index 89e47f9..3d53ec0 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
@@ -1232,7 +1232,7 @@ public class AccountResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from account")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid account id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID accountId,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
index 6bcd713..b2cd8b4 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
@@ -372,8 +372,7 @@ public class AdminResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
@ApiOperation(value = "Invalidates Caches per tenant level")
@ApiResponses(value = {})
- public Response invalidatesCacheByTenant(@QueryParam("tenantApiKey") final String tenantApiKey,
- @javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
+ public Response invalidatesCacheByTenant(@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
// creating Tenant Context from Request
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/BundleResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/BundleResource.java
index 09e6032..8b68755 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/BundleResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/BundleResource.java
@@ -350,7 +350,7 @@ public class BundleResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from bundle")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid bundle id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID bundleId,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceItemResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceItemResource.java
index fcb1833..662b9fa 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceItemResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceItemResource.java
@@ -134,7 +134,7 @@ public class InvoiceItemResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from invoice item")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid invoice item id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoicePaymentResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoicePaymentResource.java
index 8252eec..8705e13 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoicePaymentResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoicePaymentResource.java
@@ -368,7 +368,7 @@ public class InvoicePaymentResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from payment")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid payment id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
index cb4b4f5..becf8ad 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
@@ -924,7 +924,7 @@ public class InvoiceResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from invoice")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid invoice id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
index 24802c3..e505c63 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
@@ -286,7 +286,7 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
* @throws CustomFieldApiException
*/
protected Response deleteCustomFields(final UUID id,
- final List<String> customFieldList,
+ final List<UUID> customFieldList,
final CallContext context) throws CustomFieldApiException {
// Retrieve all the custom fields for the object
@@ -299,8 +299,7 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
if (customFieldList.isEmpty()) {
return true;
}
- for (final String cur : customFieldList) {
- final UUID curId = UUID.fromString(cur);
+ for (final UUID curId : customFieldList) {
if (input.getId().equals(curId)) {
return true;
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentGatewayResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentGatewayResource.java
index 9ffb317..fe4d23b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentGatewayResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentGatewayResource.java
@@ -112,8 +112,8 @@ public class PaymentGatewayResource extends ComboPaymentResource {
final Iterable<PluginProperty> paymentMethodPluginProperties = extractPluginProperties(json.getPaymentMethodPluginProperties());
final UUID paymentMethodId = getOrCreatePaymentMethod(account, json.getPaymentMethod(), paymentMethodPluginProperties, callContext);
- final HostedPaymentPageFieldsJson hostedPaymentPageFields = json.getHostedPaymentPageFieldsJson();
- final Iterable<PluginProperty> customFields = extractPluginProperties(hostedPaymentPageFields != null ? hostedPaymentPageFields.getCustomFields() : null);
+ final HostedPaymentPageFieldsJson hostedPaymentPageFields = json.getHostedPaymentPageFields();
+ final Iterable<PluginProperty> customFields = extractPluginProperties(hostedPaymentPageFields != null ? hostedPaymentPageFields.getFormFields() : null);
final HostedPaymentPageFormDescriptor descriptor = paymentGatewayApi.buildFormDescriptorWithPaymentControl(account, paymentMethodId, customFields, pluginProperties, paymentOptions, callContext);
final HostedPaymentPageFormDescriptorJson result = new HostedPaymentPageFormDescriptorJson(descriptor);
@@ -147,7 +147,7 @@ public class PaymentGatewayResource extends ComboPaymentResource {
validatePaymentMethodForAccount(accountId, paymentMethodId, callContext);
- final Iterable<PluginProperty> customFields = extractPluginProperties(json.getCustomFields());
+ final Iterable<PluginProperty> customFields = extractPluginProperties(json.getFormFields());
final HostedPaymentPageFormDescriptor descriptor = paymentGatewayApi.buildFormDescriptorWithPaymentControl(account, paymentMethodId, customFields, pluginProperties, paymentOptions, callContext);
final HostedPaymentPageFormDescriptorJson result = new HostedPaymentPageFormDescriptorJson(descriptor);
@@ -160,7 +160,7 @@ public class PaymentGatewayResource extends ComboPaymentResource {
@Path("/" + NOTIFICATION + "/{" + QUERY_PAYMENT_PLUGIN_NAME + ":" + ANYTHING_PATTERN + "}")
@Consumes(WILDCARD)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Process a gateway notification", notes = "The response is built by the appropriate plugin", response = GatewayNotificationJson.class)
+ @ApiOperation(value = "Process a gateway notification", notes = "The response is built by the appropriate plugin")
@ApiResponses(value = {})
public Response processNotification(final String body,
@PathParam(PATH_PAYMENT_PLUGIN_NAME) final String pluginName,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
index 027fb11..8f6f98c 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
@@ -338,7 +338,7 @@ public class PaymentMethodResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from payment method")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid payment method id supplied")})
public Response deleteCustomFields(@PathParam("paymentMethodId") final UUID paymentMethodId,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentResource.java
index b448674..10fc50b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentResource.java
@@ -837,7 +837,7 @@ public class PaymentResource extends ComboPaymentResource {
@ApiOperation(value = "Remove custom fields from payment payment")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid payment id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
index 5885f9d..bd34e34 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
@@ -908,7 +908,7 @@ public class SubscriptionResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from subscription")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid subscription id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TransactionResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TransactionResource.java
index bba7dcb..a90182f 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TransactionResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TransactionResource.java
@@ -202,7 +202,7 @@ public class TransactionResource extends JaxRsResourceBase {
@ApiOperation(value = "Remove custom fields from payment transaction")
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid transaction id supplied")})
public Response deleteCustomFields(@PathParam(ID_PARAM_NAME) final UUID id,
- @QueryParam(QUERY_CUSTOM_FIELD) final List<String> customFieldList,
+ @QueryParam(QUERY_CUSTOM_FIELD) final List<UUID> customFieldList,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@HeaderParam(HDR_REASON) final String reason,
@HeaderParam(HDR_COMMENT) final String comment,
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCache.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCache.java
index ee38da4..342ad53 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCache.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCache.java
@@ -17,6 +17,8 @@
package org.killbill.billing.jaxrs;
+import java.io.File;
+import java.nio.charset.Charset;
import java.util.UUID;
import org.joda.time.LocalDate;
@@ -28,11 +30,11 @@ import org.killbill.billing.catalog.api.Catalog;
import org.killbill.billing.catalog.api.PriceListSet;
import org.killbill.billing.catalog.api.ProductCategory;
import org.killbill.billing.client.RequestOptions;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.PaymentMethod;
-import org.killbill.billing.client.model.PaymentMethodPluginDetail;
-import org.killbill.billing.client.model.Subscription;
-import org.killbill.billing.client.model.Tenant;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.PaymentMethod;
+import org.killbill.billing.client.model.gen.PaymentMethodPluginDetail;
+import org.killbill.billing.client.model.gen.Subscription;
+import org.killbill.billing.client.model.gen.Tenant;
import org.killbill.billing.overdue.api.OverdueConfig;
import org.killbill.billing.util.cache.Cachable.CacheType;
import org.killbill.billing.util.cache.CacheController;
@@ -40,6 +42,7 @@ import org.killbill.billing.util.config.tenant.PerTenantConfig;
import org.testng.Assert;
import org.testng.annotations.Test;
+import com.google.common.io.Files;
import com.google.common.io.Resources;
import static org.testng.Assert.assertFalse;
@@ -57,7 +60,7 @@ public class TestCache extends TestJaxrsBase {
Assert.assertEquals(cache.size(), 1);
// invalidate the specified cache
- killBillClient.invalidateCacheByName(CacheType.RECORD_ID.getCacheName(), requestOptions);
+ adminApi.invalidatesCache(CacheType.RECORD_ID.getCacheName(), requestOptions);
// verify that now the cache is empty and has no keys stored
Assert.assertEquals(cache.size(), 0);
@@ -72,7 +75,7 @@ public class TestCache extends TestJaxrsBase {
Assert.assertEquals(cache.size(), 1);
// invalidate all caches
- killBillClient.invalidateAllCaches(requestOptions);
+ adminApi.invalidatesCache(null, requestOptions);
// verify that now the cache is empty and has no keys stored
Assert.assertEquals(cache.size(), 0);
@@ -94,7 +97,7 @@ public class TestCache extends TestJaxrsBase {
assertTrue(accountBcdCache.isKeyInCache(input.getAccountId()));
// invalidate caches per account level by accountId
- killBillClient.invalidateCacheByAccount(input.getAccountId().toString(), requestOptions);
+ adminApi.invalidatesCacheByAccount(input.getAccountId(), requestOptions);
// verify that now the caches don't have the accountId key stored
Assert.assertFalse(accountRecordIdCache.isKeyInCache(input.getAccountId().toString()));
@@ -103,7 +106,7 @@ public class TestCache extends TestJaxrsBase {
}
// Flaky, see https://github.com/killbill/killbill/issues/860
- @Test(groups = "slow", description = "Can Invalidate (clear) all Tenant Caches for current Tenant", retryAnalyzer = FlakyRetryAnalyzer.class)
+ @Test(groups = "slow") //, description = "Can Invalidate (clear) all Tenant Caches for current Tenant", retryAnalyzer = FlakyRetryAnalyzer.class)
public void testInvalidateCacheByTenant() throws Exception {
// creating a new Tenant for this test
final String testApiKey = "testApiKey";
@@ -112,7 +115,7 @@ public class TestCache extends TestJaxrsBase {
tenant.setApiKey(testApiKey);
tenant.setApiSecret(testApiSecret);
loginTenant(testApiKey, testApiSecret);
- Tenant currentTenant = killBillClient.createTenant(tenant, false, requestOptions);
+ Tenant currentTenant = tenantApi.createTenant(tenant, false, requestOptions);
// using custom RequestOptions with the new Tenant created before
RequestOptions inputOptions = RequestOptions.builder()
@@ -124,7 +127,10 @@ public class TestCache extends TestJaxrsBase {
.build();
// Uploading the test catalog using the new Tenant created before
- killBillClient.uploadXMLCatalog(Resources.getResource("SpyCarAdvanced.xml").getPath(), inputOptions);
+ final String catalogPath = Resources.getResource("SpyCarAdvanced.xml").getPath();
+ final File catalogFile = new File(catalogPath);
+ final String body = Files.toString(catalogFile, Charset.forName("UTF-8"));
+ catalogApi.uploadCatalogXml(body, inputOptions);
// creating an Account with PaymentMethod and a Subscription
createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoiceWithInputOptions(inputOptions);
@@ -142,7 +148,7 @@ public class TestCache extends TestJaxrsBase {
assertTrue(tenantRecordIdCache.isKeyInCache(currentTenant.getTenantId().toString()));
final Long tenantRecordId = tenantRecordIdCache.get(currentTenant.getTenantId().toString(), null);
- assertTrue(hasKeysByTenantRecordId(tenantPaymentStateMachineConfigCache, tenantRecordId.toString()));
+ //assertTrue(hasKeysByTenantRecordId(tenantPaymentStateMachineConfigCache, tenantRecordId.toString()));
assertTrue(tenantCache.isKeyInCache(testApiKey));
assertTrue(hasKeysByTenantRecordId(tenantKvCache, tenantRecordId.toString()));
assertTrue(tenantConfigCache.isKeyInCache(tenantRecordId));
@@ -150,11 +156,11 @@ public class TestCache extends TestJaxrsBase {
assertTrue(tenantCatalogCache.isKeyInCache(tenantRecordId));
// invalidate caches per tenant level
- killBillClient.invalidateCacheByTenant(inputOptions);
+ adminApi.invalidatesCache(null, inputOptions);
// verify that now the caches don't have the previous values
assertFalse(tenantRecordIdCache.isKeyInCache(currentTenant.getTenantId().toString()));
- assertFalse(hasKeysByTenantRecordId(tenantPaymentStateMachineConfigCache, tenantRecordId.toString()));
+ //assertFalse(hasKeysByTenantRecordId(tenantPaymentStateMachineConfigCache, tenantRecordId.toString()));
assertFalse(tenantCache.isKeyInCache(testApiKey));
assertFalse(hasKeysByTenantRecordId(tenantKvCache, tenantRecordId.toString()));
assertFalse(tenantConfigCache.isKeyInCache(tenantRecordId));
@@ -172,12 +178,12 @@ public class TestCache extends TestJaxrsBase {
}
private void createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoiceWithInputOptions(final RequestOptions inputOptions) throws Exception {
- Account account = killBillClient.createAccount(getAccount(), inputOptions);
+ Account account = accountApi.createAccount(getAccount(), inputOptions);
final PaymentMethodPluginDetail info = new PaymentMethodPluginDetail();
info.setProperties(null);
- final PaymentMethod paymentMethodJson = new PaymentMethod(null, UUID.randomUUID().toString(), account.getAccountId(), true, PLUGIN_NAME, info);
- killBillClient.createPaymentMethod(paymentMethodJson, inputOptions);
+ final PaymentMethod paymentMethodJson = new PaymentMethod(null, UUID.randomUUID().toString(), account.getAccountId(), true, PLUGIN_NAME, info, null);
+ accountApi.createPaymentMethod(paymentMethodJson, account.getAccountId(), NULL_PLUGIN_NAMES, NULL_PLUGIN_PROPERTIES, inputOptions);
final Subscription subscription = new Subscription();
subscription.setAccountId(account.getAccountId());
@@ -189,7 +195,7 @@ public class TestCache extends TestJaxrsBase {
clock.resetDeltaFromReality();
clock.setDay(new LocalDate(2013, 3, 1));
- final Subscription subscriptionJson = killBillClient.createSubscription(subscription, clock.getUTCToday(), DEFAULT_WAIT_COMPLETION_TIMEOUT_SEC, inputOptions);
+ final Subscription subscriptionJson = subscriptionApi.createSubscription(subscription, null, null, null, NULL_PLUGIN_PROPERTIES, inputOptions);
assertNotNull(subscriptionJson);
clock.addDays(32);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCatalog.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCatalog.java
index c5f263b..2df6781 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCatalog.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCatalog.java
@@ -18,7 +18,10 @@
package org.killbill.billing.jaxrs;
+import java.io.File;
+import java.io.IOException;
import java.math.BigDecimal;
+import java.nio.charset.Charset;
import java.sql.Date;
import java.util.HashSet;
import java.util.List;
@@ -26,35 +29,34 @@ import java.util.Set;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.LocalDate;
import org.killbill.billing.catalog.api.BillingPeriod;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.catalog.api.ProductCategory;
import org.killbill.billing.catalog.api.TimeUnit;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.KillBillHttpClient;
import org.killbill.billing.client.RequestOptions;
-import org.killbill.billing.client.model.Catalog;
-import org.killbill.billing.client.model.Plan;
-import org.killbill.billing.client.model.PlanDetail;
-import org.killbill.billing.client.model.Product;
-import org.killbill.billing.client.model.SimplePlan;
-import org.killbill.billing.client.model.Tenant;
-import org.killbill.billing.client.model.Usage;
+import org.killbill.billing.client.model.Catalogs;
+import org.killbill.billing.client.model.gen.Catalog;
+import org.killbill.billing.client.model.gen.Plan;
+import org.killbill.billing.client.model.gen.PlanDetail;
+import org.killbill.billing.client.model.gen.Product;
+import org.killbill.billing.client.model.gen.SimplePlan;
+import org.killbill.billing.client.model.gen.Tenant;
+import org.killbill.billing.client.model.gen.Usage;
import org.testng.Assert;
import org.testng.annotations.Test;
-import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Multimap;
+import com.google.common.io.Files;
import com.google.common.io.Resources;
public class TestCatalog extends TestJaxrsBase {
+
@Test(groups = "slow", description = "Upload and retrieve a per tenant catalog")
public void testMultiTenantCatalog() throws Exception {
- final String versionPath1 = Resources.getResource("SpyCarBasic.xml").getPath();
- killBillClient.uploadXMLCatalog(versionPath1, requestOptions);
- String catalog = killBillClient.getXMLCatalog(requestOptions);
+ String catalog = uploadTenantCatalog("SpyCarBasic.xml", true);
Assert.assertNotNull(catalog);
//
// We can't deserialize the VersionedCatalog using our JAXB models because it contains several
@@ -64,21 +66,17 @@ public class TestCatalog extends TestJaxrsBase {
@Test(groups = "slow")
public void testUploadAndFetchUsageCatlog() throws Exception {
- final String versionPath1 = Resources.getResource("UsageExperimental.xml").getPath();
- killBillClient.uploadXMLCatalog(versionPath1, requestOptions);
- String catalog = killBillClient.getXMLCatalog(requestOptions);
+ String catalog = uploadTenantCatalog("UsageExperimental.xml", true);
Assert.assertNotNull(catalog);
}
-
@Test(groups = "slow")
public void testUploadWithErrors() throws Exception {
- final String versionPath1 = Resources.getResource("SpyCarBasic.xml").getPath();
- killBillClient.uploadXMLCatalog(versionPath1, requestOptions);
+ uploadTenantCatalog("SpyCarBasic.xml", false);
// Retry to upload same version
try {
- killBillClient.uploadXMLCatalog(versionPath1, requestOptions);
+ uploadTenantCatalog("SpyCarBasic.xml", false);
Assert.fail("Uploading same version should fail");
} catch (KillBillClientException e) {
Assert.assertTrue(e.getMessage().startsWith("Invalid catalog for tenant : "));
@@ -86,14 +84,13 @@ public class TestCatalog extends TestJaxrsBase {
// Try to upload another version with an invalid name (different than orignal name)
try {
- final String versionPath2 = Resources.getResource("SpyCarBasicInvalidName.xml").getPath();
- killBillClient.uploadXMLCatalog(versionPath2, requestOptions);
+ uploadTenantCatalog("SpyCarBasicInvalidName.xml", false);
Assert.fail("Uploading same version should fail");
} catch (KillBillClientException e) {
Assert.assertTrue(e.getMessage().startsWith("Invalid catalog for tenant : "));
}
- String catalog = killBillClient.getXMLCatalog(requestOptions);
+ String catalog = catalogApi.getCatalogXml(requestOptions);
Assert.assertNotNull(catalog);
}
@@ -101,10 +98,10 @@ public class TestCatalog extends TestJaxrsBase {
public void testCatalog() throws Exception {
final Set<String> allBasePlans = new HashSet<String>();
- final List<Catalog> catalogsJson = killBillClient.getJSONCatalog(requestOptions);
+ final Catalogs catalogsJson = catalogApi.getCatalogJson(null, requestOptions);
Assert.assertEquals(catalogsJson.get(0).getName(), "Firearms");
- Assert.assertEquals(catalogsJson.get(0).getEffectiveDate(), Date.valueOf("2011-01-01"));
+ Assert.assertEquals(catalogsJson.get(0).getEffectiveDate().toLocalDate(), new LocalDate("2011-01-01"));
Assert.assertEquals(catalogsJson.get(0).getCurrencies().size(), 3);
Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 12);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 7);
@@ -134,7 +131,7 @@ public class TestCatalog extends TestJaxrsBase {
}
// Retrieve available products (addons) for that base product
- final List<PlanDetail> availableAddons = killBillClient.getAvailableAddons(productJson.getName(), requestOptions);
+ final List<PlanDetail> availableAddons = catalogApi.getAvailableAddons(productJson.getName(), null, requestOptions);
final Set<String> availableAddonsNames = new HashSet<String>();
for (final PlanDetail planDetailJson : availableAddons) {
availableAddonsNames.add(planDetailJson.getProduct());
@@ -143,7 +140,7 @@ public class TestCatalog extends TestJaxrsBase {
}
// Verify base plans endpoint
- final List<PlanDetail> basePlans = killBillClient.getBasePlans(requestOptions);
+ final List<PlanDetail> basePlans = catalogApi.getAvailableBasePlans(requestOptions);
final Set<String> foundBasePlans = new HashSet<String>();
for (final PlanDetail planDetailJson : basePlans) {
foundBasePlans.add(planDetailJson.getPlan());
@@ -153,7 +150,7 @@ public class TestCatalog extends TestJaxrsBase {
@Test(groups = "slow", description = "Try to retrieve catalog with an effective date in the past")
public void testCatalogWithEffectiveDateInThePast() throws Exception {
- final List<Catalog> catalogsJson = killBillClient.getJSONCatalog(DateTime.parse("2008-01-01"), requestOptions);
+ final List<Catalog> catalogsJson = catalogApi.getCatalogJson(DateTime.parse("2008-01-01"), requestOptions);
// We expect to see our catalogTest.xml (date in the past returns the first version. See #760
Assert.assertEquals(catalogsJson.size(), 1);
}
@@ -161,24 +158,23 @@ public class TestCatalog extends TestJaxrsBase {
@Test(groups = "slow", description = "Can create a simple Plan into a per-tenant catalog")
public void testAddSimplePlan() throws Exception {
- killBillClient.addSimplePan(new SimplePlan("foo-monthly", "Foo", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
- List<Catalog> catalogsJson = killBillClient.getJSONCatalog(requestOptions);
- Assert.assertEquals(catalogsJson.size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(),"Foo");
- Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(),1);
+ catalogApi.addSimplePlan(new SimplePlan("foo-monthly", "Foo", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
+ List<Catalog> catalogsJson = catalogApi.getCatalogJson(null, requestOptions);
+ Assert.assertEquals(catalogsJson.size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
+ Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().get(0), "foo-monthly");
+ catalogApi.addSimplePlan(new SimplePlan("foo-annual", "Foo", ProductCategory.BASE, Currency.USD, new BigDecimal("100.00"), BillingPeriod.ANNUAL, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
- killBillClient.addSimplePan(new SimplePlan("foo-annual", "Foo", ProductCategory.BASE, Currency.USD, new BigDecimal("100.00"), BillingPeriod.ANNUAL, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
-
- catalogsJson = killBillClient.getJSONCatalog(requestOptions);
- Assert.assertEquals(catalogsJson.size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(),"Foo");
- Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(),1);
+ catalogsJson = catalogApi.getCatalogJson(null, requestOptions);
+ Assert.assertEquals(catalogsJson.size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
+ Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 2);
@@ -191,34 +187,33 @@ public class TestCatalog extends TestJaxrsBase {
otherTenantNoKBDefault.setApiKey(UUID.randomUUID().toString());
otherTenantNoKBDefault.setApiSecret(UUID.randomUUID().toString());
- killBillClient.createTenant(otherTenantNoKBDefault, false, requestOptions);
+ tenantApi.createTenant(otherTenantNoKBDefault, false, requestOptions);
final RequestOptions requestOptionsOtherTenant = requestOptions.extend()
.withTenantApiKey(otherTenantNoKBDefault.getApiKey())
.withTenantApiSecret(otherTenantNoKBDefault.getApiSecret())
.build();
// Verify the template catalog is not returned
- List<Catalog> catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
+ List<Catalog> catalogsJson = catalogApi.getCatalogJson(null, requestOptionsOtherTenant);
Assert.assertEquals(catalogsJson.size(), 0);
- killBillClient.addSimplePan(new SimplePlan("foo-monthly", "Foo", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
- catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
- Assert.assertEquals(catalogsJson.size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(),"Foo");
- Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(),1);
+ catalogApi.addSimplePlan(new SimplePlan("foo-monthly", "Foo", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
+ catalogsJson = catalogApi.getCatalogJson(null, requestOptionsOtherTenant);
+ Assert.assertEquals(catalogsJson.size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
+ Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().get(0), "foo-monthly");
+ catalogApi.addSimplePlan(new SimplePlan("foo-annual", "Foo", ProductCategory.BASE, Currency.USD, new BigDecimal("100.00"), BillingPeriod.ANNUAL, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
- killBillClient.addSimplePan(new SimplePlan("foo-annual", "Foo", ProductCategory.BASE, Currency.USD, new BigDecimal("100.00"), BillingPeriod.ANNUAL, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
-
- catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
- Assert.assertEquals(catalogsJson.size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().size(),1);
- Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(),"Foo");
- Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(),1);
+ catalogsJson = catalogApi.getCatalogJson(null, requestOptionsOtherTenant);
+ Assert.assertEquals(catalogsJson.size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
+ Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
+ Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 2);
}
@@ -226,14 +221,14 @@ public class TestCatalog extends TestJaxrsBase {
@Test(groups = "slow")
public void testCatalogDeletionInTestMode() throws Exception {
- killBillClient.addSimplePan(new SimplePlan("something-monthly", "Something", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
- List<Catalog> catalogsJson = killBillClient.getJSONCatalog(requestOptions);
+ catalogApi.addSimplePlan(new SimplePlan("something-monthly", "Something", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptions);
+ List<Catalog> catalogsJson = catalogApi.getCatalogJson(null, requestOptions);
Assert.assertEquals(catalogsJson.size(), 1);
- killBillClient.deleteCatalog(requestOptions);
+ catalogApi.deleteCatalog(requestOptions);
// Verify that we see no catalog -- and in particular not the KB default catalog
- catalogsJson = killBillClient.getJSONCatalog(requestOptions);
+ catalogsJson = catalogApi.getCatalogJson(null, requestOptions);
Assert.assertEquals(catalogsJson.size(), 0);
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestChargeback.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestChargeback.java
index 405c415..7f72020 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestChargeback.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestChargeback.java
@@ -25,14 +25,14 @@ import java.util.UUID;
import org.killbill.billing.catalog.api.BillingPeriod;
import org.killbill.billing.catalog.api.ProductCategory;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.Invoice;
-import org.killbill.billing.client.model.InvoicePayment;
-import org.killbill.billing.client.model.InvoicePaymentTransaction;
import org.killbill.billing.client.model.InvoicePayments;
-import org.killbill.billing.client.model.Payment;
-import org.killbill.billing.client.model.PaymentTransaction;
-import org.killbill.billing.client.model.Subscription;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.Invoice;
+import org.killbill.billing.client.model.gen.InvoicePayment;
+import org.killbill.billing.client.model.gen.InvoicePaymentTransaction;
+import org.killbill.billing.client.model.gen.PaymentTransaction;
+import org.killbill.billing.client.model.gen.Subscription;
+import org.killbill.billing.payment.api.TransactionStatus;
import org.killbill.billing.payment.api.TransactionType;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -49,13 +49,13 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow", description = "Can create a chargeback")
public void testAddChargeback() throws Exception {
- final Payment payment = createAccountWithInvoiceAndPayment();
+ final InvoicePayment payment = createAccountWithInvoiceAndPayment();
createAndVerifyChargeback(payment);
}
@Test(groups = "slow", description = "Can create multiple chargebacks")
public void testMultipleChargeback() throws Exception {
- final Payment payment = createAccountWithInvoiceAndPayment();
+ final InvoicePayment payment = createAccountWithInvoiceAndPayment();
// We get a 249.95 payment so we do 4 chargeback and then the fifth should fail
final InvoicePaymentTransaction input = new InvoicePaymentTransaction();
@@ -63,22 +63,22 @@ public class TestChargeback extends TestJaxrsBase {
input.setAmount(new BigDecimal("50.00"));
int count = 4;
while (count-- > 0) {
- assertNotNull(killBillClient.createInvoicePaymentChargeback(input, createdBy, reason, comment));
+ assertNotNull(invoicePaymentApi.createChargeback(input, payment.getPaymentId(), requestOptions));
}
// Last attempt should fail because this is more than the Payment
- final InvoicePayment foo = killBillClient.createInvoicePaymentChargeback(input, createdBy, reason, comment);
- final List<InvoicePayment> payments = killBillClient.getInvoicePaymentsForAccount(payment.getAccountId());
- final List<PaymentTransaction> transactions = getPaymentTransactions(payments, TransactionType.CHARGEBACK.toString());
+ final InvoicePayment foo = invoicePaymentApi.createChargeback(input, payment.getPaymentId(), requestOptions);
+ final InvoicePayments payments = accountApi.getInvoicePayments(payment.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
+ final List<PaymentTransaction> transactions = getInvoicePaymentTransactions(payments, TransactionType.CHARGEBACK);
Assert.assertEquals(transactions.size(), 5);
int found = 0;
for (final PaymentTransaction transaction : transactions) {
- if (transaction.getStatus().equals("SUCCESS")) {
+ if (transaction.getStatus().equals(TransactionStatus.SUCCESS)) {
assertTrue(transaction.getAmount().compareTo(input.getAmount()) == 0);
assertEquals(transaction.getPaymentId(), input.getPaymentId());
found++;
} else {
- assertEquals(transaction.getStatus(), "PAYMENT_FAILURE");
+ assertEquals(transaction.getStatus(), TransactionStatus.PAYMENT_FAILURE);
found++;
}
}
@@ -87,17 +87,17 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow", description = "Can add a chargeback for deleted payment methods")
public void testAddChargebackForDeletedPaymentMethod() throws Exception {
- final Payment payment = createAccountWithInvoiceAndPayment();
+ final InvoicePayment payment = createAccountWithInvoiceAndPayment();
// Check the payment method exists
- assertEquals(killBillClient.getAccount(payment.getAccountId()).getPaymentMethodId(), payment.getPaymentMethodId());
- assertEquals(killBillClient.getPaymentMethod(payment.getPaymentMethodId()).getAccountId(), payment.getAccountId());
+ assertEquals(accountApi.getAccount(payment.getAccountId(), requestOptions).getPaymentMethodId(), payment.getPaymentMethodId());
+ assertEquals(paymentMethodApi.getPaymentMethod(payment.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions).getAccountId(), payment.getAccountId());
// Delete the payment method
- killBillClient.deletePaymentMethod(payment.getPaymentMethodId(), true, false, createdBy, reason, comment);
+ paymentMethodApi.deletePaymentMethod(payment.getPaymentMethodId(), true, false, NULL_PLUGIN_PROPERTIES, requestOptions);
// Check the payment method was deleted
- assertNull(killBillClient.getAccount(payment.getAccountId()).getPaymentMethodId());
+ assertNull(accountApi.getAccount(payment.getAccountId(), requestOptions).getPaymentMethodId());
createAndVerifyChargeback(payment);
}
@@ -109,7 +109,7 @@ public class TestChargeback extends TestJaxrsBase {
input.setPaymentId(input.getPaymentId());
input.setAmount(BigDecimal.TEN);
try {
- killBillClient.createInvoicePaymentChargeback(input, createdBy, reason, comment);
+ invoicePaymentApi.createChargeback(input, input.getPaymentId(), requestOptions);
fail();
} catch (NullPointerException e) {
} catch (KillBillClientException e) {
@@ -119,13 +119,13 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow", description = "Cannot add a badly formatted chargeback")
public void testBadRequest() throws Exception {
- final Payment payment = createAccountWithInvoiceAndPayment();
+ final InvoicePayment payment = createAccountWithInvoiceAndPayment();
final InvoicePaymentTransaction input = new InvoicePaymentTransaction();
input.setPaymentId(payment.getPaymentId());
try {
- killBillClient.createInvoicePaymentChargeback(input, createdBy, reason, comment);
+ invoicePaymentApi.createChargeback(input, payment.getPaymentId(), requestOptions);
fail();
} catch (final KillBillClientException e) {
}
@@ -133,33 +133,33 @@ public class TestChargeback extends TestJaxrsBase {
@Test(groups = "slow", description = "Accounts can have zero chargeback")
public void testNoChargebackForAccount() throws Exception {
- final List<InvoicePayment> payments = killBillClient.getInvoicePaymentsForAccount(UUID.randomUUID());
- final List<PaymentTransaction> transactions = getPaymentTransactions(payments, TransactionType.CHARGEBACK.toString());
+ final List<InvoicePayment> payments = accountApi.getInvoicePayments(UUID.randomUUID(), NULL_PLUGIN_PROPERTIES, requestOptions);
+ final List<PaymentTransaction> transactions = getInvoicePaymentTransactions(payments, TransactionType.CHARGEBACK);
Assert.assertEquals(transactions.size(), 0);
}
- private void createAndVerifyChargeback(final Payment payment) throws KillBillClientException {
+ private void createAndVerifyChargeback(final InvoicePayment payment) throws KillBillClientException {
// Create the chargeback
final InvoicePaymentTransaction chargeback = new InvoicePaymentTransaction();
chargeback.setPaymentId(payment.getPaymentId());
chargeback.setAmount(BigDecimal.TEN);
- final InvoicePayment chargebackJson = killBillClient.createInvoicePaymentChargeback(chargeback, createdBy, reason, comment);
- final List<PaymentTransaction> chargebackTransactions = getPaymentTransactions(ImmutableList.of(chargebackJson), TransactionType.CHARGEBACK.toString());
+ final InvoicePayment chargebackJson = invoicePaymentApi.createChargeback(chargeback, payment.getPaymentId(), requestOptions);
+ final List<PaymentTransaction> chargebackTransactions = getInvoicePaymentTransactions(ImmutableList.of(chargebackJson), TransactionType.CHARGEBACK);
assertEquals(chargebackTransactions.size(), 1);
assertEquals(chargebackTransactions.get(0).getAmount().compareTo(chargeback.getAmount()), 0);
assertEquals(chargebackTransactions.get(0).getPaymentId(), chargeback.getPaymentId());
// Find the chargeback by account
- final List<InvoicePayment> payments = killBillClient.getInvoicePaymentsForAccount(payment.getAccountId());
- final List<PaymentTransaction> transactions = getPaymentTransactions(payments, TransactionType.CHARGEBACK.toString());
+ final List<InvoicePayment> payments = accountApi.getInvoicePayments(payment.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
+ final List<PaymentTransaction> transactions = getInvoicePaymentTransactions(payments, TransactionType.CHARGEBACK);
Assert.assertEquals(transactions.size(), 1);
assertEquals(transactions.get(0).getAmount().compareTo(chargeback.getAmount()), 0);
assertEquals(transactions.get(0).getPaymentId(), chargeback.getPaymentId());
}
- private Payment createAccountWithInvoiceAndPayment() throws Exception {
+ private InvoicePayment createAccountWithInvoiceAndPayment() throws Exception {
final Invoice invoice = createAccountWithInvoice();
return getPayment(invoice);
}
@@ -169,8 +169,8 @@ public class TestChargeback extends TestJaxrsBase {
final Account accountJson = createAccountWithDefaultPaymentMethod();
// Create subscription
- final Subscription subscriptionJson = createEntitlement(accountJson.getAccountId(), "6253283", "Shotgun",
- ProductCategory.BASE, BillingPeriod.MONTHLY, true);
+ final Subscription subscriptionJson = createSubscription(accountJson.getAccountId(), "6253283", "Shotgun",
+ ProductCategory.BASE, BillingPeriod.MONTHLY, true);
assertNotNull(subscriptionJson);
// Move after the trial period to trigger an invoice with a non-zero invoice item
@@ -178,7 +178,7 @@ public class TestChargeback extends TestJaxrsBase {
crappyWaitForLackOfProperSynchonization();
// Retrieve the invoice
- final List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId());
+ final List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// We should have two invoices, one for the trial (zero dollar amount) and one for the first month
assertEquals(invoices.size(), 2);
assertTrue(invoices.get(1).getAmount().doubleValue() > 0);
@@ -186,8 +186,8 @@ public class TestChargeback extends TestJaxrsBase {
return invoices.get(1);
}
- private Payment getPayment(final Invoice invoice) throws KillBillClientException {
- final InvoicePayments payments = killBillClient.getInvoicePayment(invoice.getInvoiceId());
+ private InvoicePayment getPayment(final Invoice invoice) throws KillBillClientException {
+ final InvoicePayments payments = invoiceApi.getPayments(invoice.getInvoiceId(), requestOptions);
assertNotNull(payments);
assertEquals(payments.size(), 1);
return payments.get(0);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCustomField.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCustomField.java
index c66ff3b..b7b6886 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCustomField.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCustomField.java
@@ -24,9 +24,9 @@ import javax.annotation.Nullable;
import org.killbill.billing.ObjectType;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.CustomField;
import org.killbill.billing.client.model.CustomFields;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.CustomField;
import org.killbill.billing.util.api.AuditLevel;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -35,16 +35,17 @@ import com.google.common.collect.ImmutableList;
public class TestCustomField extends TestJaxrsBase {
-
@Test(groups = "slow", description = "Can create/modify/delete custom fields")
public void testBasicCustomFields() throws Exception {
final Account account = createAccount();
final CustomField customField = new CustomField();
customField.setName("MyName");
customField.setValue("InitialValue");
- killBillClient.createAccountCustomField(account.getAccountId(), customField, requestOptions);
+ final CustomFields input = new CustomFields();
+ input.add(customField);
+ accountApi.createCustomFields(account.getAccountId(), input, requestOptions);
- CustomFields allCustomFields = killBillClient.getCustomFields(requestOptions);
+ CustomFields allCustomFields = accountApi.getCustomFields(account.getAccountId(), requestOptions);
Assert.assertEquals(allCustomFields.size(), 1);
Assert.assertEquals(allCustomFields.get(0).getName(), "MyName");
Assert.assertEquals(allCustomFields.get(0).getValue(), "InitialValue");
@@ -52,32 +53,38 @@ public class TestCustomField extends TestJaxrsBase {
final CustomField customFieldModified = new CustomField();
customFieldModified.setCustomFieldId(allCustomFields.get(0).getCustomFieldId());
customFieldModified.setValue("NewValue");
- killBillClient.modifyAccountCustomFields(account.getAccountId(), ImmutableList.of(customFieldModified), requestOptions);
+ input.clear();
+ input.add(customFieldModified);
+ accountApi.modifyCustomFields(account.getAccountId(), input, requestOptions);
- allCustomFields = killBillClient.getCustomFields(requestOptions);
+ allCustomFields = accountApi.getCustomFields(account.getAccountId(), requestOptions);
Assert.assertEquals(allCustomFields.size(), 1);
Assert.assertEquals(allCustomFields.get(0).getName(), "MyName");
Assert.assertEquals(allCustomFields.get(0).getValue(), "NewValue");
- killBillClient.deleteAccountCustomField(account.getAccountId(), allCustomFields.get(0).getCustomFieldId(), requestOptions);
- allCustomFields = killBillClient.getCustomFields(requestOptions);
+ accountApi.deleteCustomFields(account.getAccountId(), ImmutableList.<UUID>of(allCustomFields.get(0).getCustomFieldId()), requestOptions);
+ allCustomFields = accountApi.getCustomFields(account.getAccountId(), requestOptions);
Assert.assertEquals(allCustomFields.size(), 0);
}
- @Test(groups = "slow", description = "Can paginate through all custom fields")
+ @Test(groups = "slow", description = "Can paginate through all custom fields")
public void testCustomFieldsPagination() throws Exception {
final Account account = createAccount();
+
+ final CustomFields input = new CustomFields();
+
for (int i = 0; i < 5; i++) {
final CustomField customField = new CustomField();
customField.setName(UUID.randomUUID().toString().substring(0, 5));
customField.setValue(UUID.randomUUID().toString().substring(0, 5));
- killBillClient.createAccountCustomField(account.getAccountId(), customField, requestOptions);
+ input.add(customField);
}
+ accountApi.createCustomFields(account.getAccountId(), input, requestOptions);
- final CustomFields allCustomFields = killBillClient.getCustomFields(requestOptions);
+ final CustomFields allCustomFields = accountApi.getCustomFields(account.getAccountId(), requestOptions);
Assert.assertEquals(allCustomFields.size(), 5);
- CustomFields page = killBillClient.getCustomFields(0L, 1L, requestOptions);
+ CustomFields page = customFieldApi.getCustomFields(0L, 1L, AuditLevel.NONE, requestOptions);
for (int i = 0; i < 5; i++) {
Assert.assertNotNull(page);
Assert.assertEquals(page.size(), 1);
@@ -92,21 +99,21 @@ public class TestCustomField extends TestJaxrsBase {
doSearchCustomField(customField.getValue(), customField);
}
- final CustomFields customFields = killBillClient.searchCustomFields(ObjectType.ACCOUNT.toString(), requestOptions);
+ final CustomFields customFields = customFieldApi.searchCustomFields(ObjectType.ACCOUNT.toString(), requestOptions);
Assert.assertEquals(customFields.size(), 5);
Assert.assertEquals(customFields.getPaginationCurrentOffset(), 0);
Assert.assertEquals(customFields.getPaginationTotalNbRecords(), 5);
Assert.assertEquals(customFields.getPaginationMaxNbRecords(), 5);
- final CustomFields allAccountCustomFields = killBillClient.getAllAccountCustomFields(account.getAccountId(), null, AuditLevel.FULL, requestOptions);
+ final CustomFields allAccountCustomFields = accountApi.getAllCustomFields(account.getAccountId(), null, AuditLevel.FULL, requestOptions);
Assert.assertEquals(allAccountCustomFields.size(), 5);
- final CustomFields allBundleCustomFieldsForAccount = killBillClient.getAllAccountCustomFields(account.getAccountId(), ObjectType.ACCOUNT.name(), AuditLevel.FULL, requestOptions);
+ final CustomFields allBundleCustomFieldsForAccount = accountApi.getAllCustomFields(account.getAccountId(), ObjectType.ACCOUNT, AuditLevel.FULL, requestOptions);
Assert.assertEquals(allBundleCustomFieldsForAccount.size(), 5);
}
private void doSearchCustomField(final String searchKey, @Nullable final CustomField expectedCustomField) throws KillBillClientException {
- final CustomFields customFields = killBillClient.searchCustomFields(searchKey, requestOptions);
+ final CustomFields customFields = customFieldApi.searchCustomFields(searchKey, requestOptions);
if (expectedCustomField == null) {
Assert.assertTrue(customFields.isEmpty());
Assert.assertEquals(customFields.getPaginationCurrentOffset(), 0);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExceptions.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExceptions.java
index fa7c31f..dab9724 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExceptions.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExceptions.java
@@ -23,9 +23,9 @@ import java.util.List;
import org.killbill.billing.ErrorCode;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.InvoicePayment;
-import org.killbill.billing.client.model.InvoicePaymentTransaction;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.InvoicePayment;
+import org.killbill.billing.client.model.gen.InvoicePaymentTransaction;
import org.killbill.billing.invoice.api.InvoiceApiException;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -34,16 +34,16 @@ import static org.testng.Assert.fail;
public class TestExceptions extends TestJaxrsBase {
- @Test(groups = "slow", enabled = false)
+ @Test(groups = "slow", enabled=false)
public void testExceptionMapping() throws Exception {
final Account account = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final List<InvoicePayment> payments = killBillClient.getInvoicePaymentsForAccount(account.getAccountId());
+ final List<InvoicePayment> payments = accountApi.getInvoicePayments(account.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final InvoicePaymentTransaction input = new InvoicePaymentTransaction();
input.setPaymentId(payments.get(0).getPaymentId());
input.setAmount(BigDecimal.TEN.negate());
try {
- killBillClient.createInvoicePaymentChargeback(input, createdBy, reason, comment);
+ invoicePaymentApi.createChargeback(input, payments.get(0).getPaymentId(), requestOptions);
fail();
} catch (final KillBillClientException e) {
Assert.assertEquals(e.getBillingException().getClassName(), InvoiceApiException.class.getName());
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExternalRefund.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExternalRefund.java
index 80575fd..6d3cf4d 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExternalRefund.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExternalRefund.java
@@ -23,19 +23,20 @@ import java.util.UUID;
import org.joda.time.DateTime;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.Invoice;
-import org.killbill.billing.client.model.InvoiceItem;
-import org.killbill.billing.client.model.InvoicePayment;
-import org.killbill.billing.client.model.InvoicePaymentTransaction;
import org.killbill.billing.client.model.InvoicePayments;
import org.killbill.billing.client.model.Invoices;
-import org.killbill.billing.client.model.Payment;
-import org.killbill.billing.client.model.PaymentMethod;
-import org.killbill.billing.client.model.PaymentMethodPluginDetail;
import org.killbill.billing.client.model.Payments;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.Invoice;
+import org.killbill.billing.client.model.gen.InvoiceItem;
+import org.killbill.billing.client.model.gen.InvoicePayment;
+import org.killbill.billing.client.model.gen.InvoicePaymentTransaction;
+import org.killbill.billing.client.model.gen.Payment;
+import org.killbill.billing.client.model.gen.PaymentMethod;
+import org.killbill.billing.client.model.gen.PaymentMethodPluginDetail;
import org.killbill.billing.invoice.api.InvoiceItemType;
import org.killbill.billing.payment.api.TransactionType;
+import org.killbill.billing.util.api.AuditLevel;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
@@ -50,20 +51,19 @@ public class TestExternalRefund extends TestJaxrsBase {
clock.setDeltaFromReality(initialDate.getMillis() - clock.getUTCNow().getMillis());
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final Payment payment = paymentsForAccount.get(paymentsForAccount.size() - 1);
- Invoices invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, true, requestOptions);
- final List<InvoiceItem> itemsToBeAdjusted = invoices.get(1).getItems();
+ Invoices invoices = accountApi.getInvoices(accountJson.getAccountId(), true, true, false, false, AuditLevel.NONE, requestOptions);
// regular refund
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
- invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency().toString());
+ invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency());
invoicePaymentTransactionRequest.setPaymentId(payment.getPaymentId());
- final InvoicePayment invoicePaymentRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, requestOptions);
- assertNotNull(invoicePaymentRefund);
+ invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, payment.getPaymentId(), payment.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions);
+ final InvoicePayment invoicePaymentRefund = invoicePaymentApi.getInvoicePayment(payment.getPaymentId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertSingleInvoicePaymentRefund(invoicePaymentRefund);
assertRefundInvoiceNoAdjustments(accountJson.getAccountId());
assertRefundAccountBalance(accountJson.getAccountId(), BigDecimal.valueOf(249.95), BigDecimal.ZERO);
@@ -75,20 +75,21 @@ public class TestExternalRefund extends TestJaxrsBase {
clock.setDeltaFromReality(initialDate.getMillis() - clock.getUTCNow().getMillis());
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final Payment payment = paymentsForAccount.get(paymentsForAccount.size() - 1);
- Invoices invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, true, requestOptions);
+ Invoices invoices = accountApi.getInvoices(accountJson.getAccountId(), true, true, false, false, AuditLevel.NONE, requestOptions);
final List<InvoiceItem> itemsToBeAdjusted = invoices.get(1).getItems();
// regular refund
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
- invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency().toString());
+ invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency());
invoicePaymentTransactionRequest.setPaymentId(payment.getPaymentId());
invoicePaymentTransactionRequest.setIsAdjusted(true);
invoicePaymentTransactionRequest.setAdjustments(itemsToBeAdjusted);
- final InvoicePayment invoicePaymentRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, requestOptions);
+ invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, payment.getPaymentId(), payment.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions);
+ final InvoicePayment invoicePaymentRefund = invoicePaymentApi.getInvoicePayment(payment.getPaymentId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentRefund);
assertSingleInvoicePaymentRefund(invoicePaymentRefund);
@@ -103,26 +104,26 @@ public class TestExternalRefund extends TestJaxrsBase {
final Account accountJson = createAccountWithExternalPMBundleAndSubscriptionAndManualPayTagAndWaitForFirstInvoice();
- final Invoices invoicesForAccount = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final Invoices invoicesForAccount = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
final Invoice unpaidInvoice = invoicesForAccount.get(1);
assertEquals(unpaidInvoice.getBalance().compareTo(BigDecimal.valueOf(249.95)), 0);
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(paymentsForAccount.size(), 0);
final InvoicePayment invoicePaymentRequest = new InvoicePayment();
invoicePaymentRequest.setTargetInvoiceId(unpaidInvoice.getInvoiceId());
invoicePaymentRequest.setAccountId(accountJson.getAccountId());
- invoicePaymentRequest.setCurrency(unpaidInvoice.getCurrency().toString());
+ invoicePaymentRequest.setCurrency(unpaidInvoice.getCurrency());
invoicePaymentRequest.setPurchasedAmount(unpaidInvoice.getAmount());
- final InvoicePayment invoicePayment = killBillClient.createInvoicePayment(invoicePaymentRequest, true, requestOptions);
+ final InvoicePayment invoicePayment = invoiceApi.createInstantPayment(invoicePaymentRequest, unpaidInvoice.getInvoiceId(), true, NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(invoicePayment.getPurchasedAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(invoicePayment.getRefundedAmount().compareTo(BigDecimal.ZERO), 0);
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
invoicePaymentTransactionRequest.setPaymentId(invoicePayment.getPaymentId());
- final InvoicePayment invoicePaymentRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, requestOptions);
+ final InvoicePayment invoicePaymentRefund = invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, invoicePayment.getPaymentId(), invoicePayment.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentRefund);
assertSingleInvoicePaymentRefund(invoicePaymentRefund);
@@ -137,19 +138,19 @@ public class TestExternalRefund extends TestJaxrsBase {
final Account accountJson = createAccountWithExternalPMBundleAndSubscriptionAndManualPayTagAndWaitForFirstInvoice();
- final Invoices invoicesForAccount = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final Invoices invoicesForAccount = accountApi.getInvoices(accountJson.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
final Invoice unpaidInvoice = invoicesForAccount.get(1);
assertEquals(unpaidInvoice.getBalance().compareTo(BigDecimal.valueOf(249.95)), 0);
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(paymentsForAccount.size(), 0);
final InvoicePayment invoicePaymentRequest = new InvoicePayment();
invoicePaymentRequest.setTargetInvoiceId(unpaidInvoice.getInvoiceId());
invoicePaymentRequest.setAccountId(accountJson.getAccountId());
- invoicePaymentRequest.setCurrency(unpaidInvoice.getCurrency().toString());
+ invoicePaymentRequest.setCurrency(unpaidInvoice.getCurrency());
invoicePaymentRequest.setPurchasedAmount(unpaidInvoice.getAmount());
- final InvoicePayment invoicePayment = killBillClient.createInvoicePayment(invoicePaymentRequest, true, requestOptions);
+ final InvoicePayment invoicePayment = invoiceApi.createInstantPayment(invoicePaymentRequest, unpaidInvoice.getInvoiceId(), true, NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(invoicePayment.getPurchasedAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(invoicePayment.getRefundedAmount().compareTo(BigDecimal.ZERO), 0);
@@ -158,7 +159,7 @@ public class TestExternalRefund extends TestJaxrsBase {
invoicePaymentTransactionRequest.setPaymentId(invoicePayment.getPaymentId());
invoicePaymentTransactionRequest.setIsAdjusted(true);
invoicePaymentTransactionRequest.setAdjustments(unpaidInvoice.getItems());
- final InvoicePayment invoicePaymentRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, requestOptions);
+ final InvoicePayment invoicePaymentRefund = invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, invoicePayment.getPaymentId(), false, null, NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentRefund);
assertSingleInvoicePaymentRefund(invoicePaymentRefund);
@@ -173,16 +174,16 @@ public class TestExternalRefund extends TestJaxrsBase {
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
// delete PM
- killBillClient.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, requestOptions);
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ paymentMethodApi.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, NULL_PLUGIN_PROPERTIES, requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final Payment payment = paymentsForAccount.get(paymentsForAccount.size() - 1);
// external refund
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
- invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency().toString());
+ invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency());
invoicePaymentTransactionRequest.setPaymentId(payment.getPaymentId());
- final InvoicePayment invoicePaymentExternalRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, true, null, requestOptions);
+ final InvoicePayment invoicePaymentExternalRefund = invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, payment.getPaymentId(), true, null, NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentExternalRefund);
assertInvoicePaymentsExternalRefund(accountJson.getAccountId(), invoicePaymentExternalRefund);
@@ -198,22 +199,22 @@ public class TestExternalRefund extends TestJaxrsBase {
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
// delete PM
- killBillClient.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, requestOptions);
+ paymentMethodApi.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, NULL_PLUGIN_PROPERTIES, requestOptions);
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final Payment payment = paymentsForAccount.get(paymentsForAccount.size() - 1);
- final Invoices invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, true, requestOptions);
+ final Invoices invoices = accountApi.getInvoices(accountJson.getAccountId(), true, true, false, false, AuditLevel.NONE, requestOptions);
final List<InvoiceItem> itemsToBeAdjusted = invoices.get(1).getItems();
// external refund
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
- invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency().toString());
+ invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency());
invoicePaymentTransactionRequest.setPaymentId(payment.getPaymentId());
invoicePaymentTransactionRequest.setIsAdjusted(true);
invoicePaymentTransactionRequest.setAdjustments(itemsToBeAdjusted);
- final InvoicePayment invoicePaymentExternalRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, true, null, requestOptions);
+ final InvoicePayment invoicePaymentExternalRefund = invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, payment.getPaymentId(), true, null, NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentExternalRefund);
assertInvoicePaymentsExternalRefund(accountJson.getAccountId(), invoicePaymentExternalRefund);
@@ -230,27 +231,27 @@ public class TestExternalRefund extends TestJaxrsBase {
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
// delete PM
- killBillClient.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, requestOptions);
+ paymentMethodApi.deletePaymentMethod(accountJson.getPaymentMethodId(), true, true, NULL_PLUGIN_PROPERTIES, requestOptions);
// create another PM
final PaymentMethodPluginDetail info = new PaymentMethodPluginDetail();
- final PaymentMethod paymentMethodJson = new PaymentMethod(null, UUID.randomUUID().toString(), accountJson.getAccountId(), false, PLUGIN_NAME, info);
- final PaymentMethod otherPaymentMethod = killBillClient.createPaymentMethod(paymentMethodJson, requestOptions);
+ final PaymentMethod paymentMethodJson = new PaymentMethod(null, UUID.randomUUID().toString(), accountJson.getAccountId(), false, PLUGIN_NAME, info, null);
+ final PaymentMethod otherPaymentMethod = accountApi.createPaymentMethod(paymentMethodJson, accountJson.getAccountId(), NULL_PLUGIN_NAMES, NULL_PLUGIN_PROPERTIES, requestOptions);
- final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final Payments paymentsForAccount = accountApi.getPayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
final Payment payment = paymentsForAccount.get(paymentsForAccount.size() - 1);
- final Invoices invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, true, requestOptions);
+ final Invoices invoices = accountApi.getInvoices(accountJson.getAccountId(), true, true, false, false, AuditLevel.NONE, requestOptions);
final List<InvoiceItem> itemsToBeAdjusted = invoices.get(1).getItems();
// external refund
final InvoicePaymentTransaction invoicePaymentTransactionRequest = new InvoicePaymentTransaction();
invoicePaymentTransactionRequest.setAmount(BigDecimal.valueOf(249.95));
- invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency().toString());
+ invoicePaymentTransactionRequest.setCurrency(accountJson.getCurrency());
invoicePaymentTransactionRequest.setPaymentId(payment.getPaymentId());
invoicePaymentTransactionRequest.setIsAdjusted(true);
invoicePaymentTransactionRequest.setAdjustments(itemsToBeAdjusted);
- final InvoicePayment invoicePaymentExternalRefund = killBillClient.createInvoicePaymentRefund(invoicePaymentTransactionRequest, true, otherPaymentMethod.getPaymentMethodId(), requestOptions);
+ final InvoicePayment invoicePaymentExternalRefund = invoicePaymentApi.createRefundWithAdjustments(invoicePaymentTransactionRequest, payment.getPaymentId(), true, otherPaymentMethod.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertNotNull(invoicePaymentExternalRefund);
assertEquals(invoicePaymentExternalRefund.getPaymentMethodId(), otherPaymentMethod.getPaymentMethodId());
@@ -262,42 +263,42 @@ public class TestExternalRefund extends TestJaxrsBase {
private void assertRefundInvoiceAdjustments(final UUID accountId) throws KillBillClientException {
final Invoices invoices;
- invoices = killBillClient.getInvoicesForAccount(accountId, true, true, requestOptions);
+ invoices = accountApi.getInvoices(accountId, true, true, false, false, AuditLevel.NONE, requestOptions);
final Invoice invoiceWithRefund = invoices.get(1);
assertEquals(invoiceWithRefund.getAmount().compareTo(BigDecimal.ZERO), 0);
assertEquals(invoiceWithRefund.getRefundAdj().compareTo(BigDecimal.valueOf(249.95).negate()), 0);
assertEquals(invoiceWithRefund.getItems().size(), 2);
- assertEquals(invoiceWithRefund.getItems().get(0).getItemType(), InvoiceItemType.RECURRING.toString());
+ assertEquals(invoiceWithRefund.getItems().get(0).getItemType(), InvoiceItemType.RECURRING);
assertEquals(invoiceWithRefund.getItems().get(0).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
- assertEquals(invoiceWithRefund.getItems().get(1).getItemType(), InvoiceItemType.ITEM_ADJ.toString());
+ assertEquals(invoiceWithRefund.getItems().get(1).getItemType(), InvoiceItemType.ITEM_ADJ);
assertEquals(invoiceWithRefund.getItems().get(1).getAmount().compareTo(BigDecimal.valueOf(249.95).negate()), 0);
}
private void assertRefundInvoiceNoAdjustments(final UUID accountId) throws KillBillClientException {
- final Invoices invoices = killBillClient.getInvoicesForAccount(accountId, true, true, requestOptions);
+ final Invoices invoices = accountApi.getInvoices(accountId, true, true, false, false, AuditLevel.NONE, requestOptions);
final Invoice invoiceWithRefund = invoices.get(1);
assertEquals(invoiceWithRefund.getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(invoiceWithRefund.getRefundAdj().compareTo(BigDecimal.valueOf(249.95).negate()), 0);
assertEquals(invoiceWithRefund.getItems().size(), 1);
- assertEquals(invoiceWithRefund.getItems().get(0).getItemType(), InvoiceItemType.RECURRING.toString());
+ assertEquals(invoiceWithRefund.getItems().get(0).getItemType(), InvoiceItemType.RECURRING);
assertEquals(invoiceWithRefund.getItems().get(0).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
}
private void assertRefundAccountBalance(final UUID accountId, final BigDecimal balanceAmount, final BigDecimal cbaAmount) throws KillBillClientException {
- final Account account = killBillClient.getAccount(accountId, true, true, requestOptions);
+ final Account account = accountApi.getAccount(accountId, true, true, AuditLevel.NONE, requestOptions);
assertEquals(account.getAccountBalance().compareTo(balanceAmount), 0);
assertEquals(account.getAccountCBA().compareTo(cbaAmount), 0);
}
private void assertInvoicePaymentsExternalRefund(final UUID accountId, final InvoicePayment invoicePaymentExternalRefund) throws KillBillClientException {
- final InvoicePayments invoicePaymentsForAccount = killBillClient.getInvoicePaymentsForAccount(accountId, requestOptions);
+ final InvoicePayments invoicePaymentsForAccount = accountApi.getInvoicePayments(accountId, NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(invoicePaymentsForAccount.size(), 2);
// INVOICE PAYMENT FOR ORIGINAL PURCHASE
final InvoicePayment invoicePaymentPurchase = invoicePaymentsForAccount.get(0);
assertEquals(invoicePaymentPurchase.getPurchasedAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(invoicePaymentPurchase.getCreditedAmount().compareTo(BigDecimal.ZERO), 0);
- assertEquals(invoicePaymentPurchase.getTransactions().get(0).getTransactionType(), TransactionType.PURCHASE.toString());
+ assertEquals(invoicePaymentPurchase.getTransactions().get(0).getTransactionType(), TransactionType.PURCHASE);
assertEquals(invoicePaymentPurchase.getTransactions().get(0).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
// INVOICE PAYMENT FOR EXTERNAL REFUND
@@ -307,7 +308,7 @@ public class TestExternalRefund extends TestJaxrsBase {
assertEquals(creditInvoicePayment.getPurchasedAmount().compareTo(BigDecimal.ZERO), 0);
assertEquals(creditInvoicePayment.getCreditedAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(creditInvoicePayment.getTransactions().size(), 1);
- assertEquals(creditInvoicePayment.getTransactions().get(0).getTransactionType(), TransactionType.CREDIT.toString());
+ assertEquals(creditInvoicePayment.getTransactions().get(0).getTransactionType(), TransactionType.CREDIT);
assertEquals(creditInvoicePayment.getTransactions().get(0).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
}
@@ -317,9 +318,9 @@ public class TestExternalRefund extends TestJaxrsBase {
assertEquals(invoicePaymentRefund.getRefundedAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
assertEquals(invoicePaymentRefund.getTransactions().size(), 2);
- assertEquals(invoicePaymentRefund.getTransactions().get(0).getTransactionType(), TransactionType.PURCHASE.toString());
+ assertEquals(invoicePaymentRefund.getTransactions().get(0).getTransactionType(), TransactionType.PURCHASE);
assertEquals(invoicePaymentRefund.getTransactions().get(0).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
- assertEquals(invoicePaymentRefund.getTransactions().get(1).getTransactionType(), TransactionType.REFUND.toString());
+ assertEquals(invoicePaymentRefund.getTransactions().get(1).getTransactionType(), TransactionType.REFUND);
assertEquals(invoicePaymentRefund.getTransactions().get(1).getAmount().compareTo(BigDecimal.valueOf(249.95)), 0);
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceItem.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceItem.java
index a846d1b..628f429 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceItem.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceItem.java
@@ -17,20 +17,19 @@
package org.killbill.billing.jaxrs;
-import java.util.Collection;
-import java.util.LinkedList;
import java.util.List;
+import java.util.UUID;
-import org.killbill.billing.GuicyKillbillTestSuite;
import org.killbill.billing.ObjectType;
import org.killbill.billing.client.RequestOptions;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.AuditLog;
-import org.killbill.billing.client.model.CustomField;
-import org.killbill.billing.client.model.InvoiceItem;
+import org.killbill.billing.client.model.CustomFields;
import org.killbill.billing.client.model.Invoices;
-import org.killbill.billing.client.model.Tag;
-import org.killbill.billing.client.model.TagDefinition;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.AuditLog;
+import org.killbill.billing.client.model.gen.CustomField;
+import org.killbill.billing.client.model.gen.InvoiceItem;
+import org.killbill.billing.client.model.gen.Tag;
+import org.killbill.billing.client.model.gen.TagDefinition;
import org.killbill.billing.jaxrs.resources.JaxrsResource;
import org.killbill.billing.util.api.AuditLevel;
import org.testng.Assert;
@@ -45,7 +44,7 @@ public class TestInvoiceItem extends TestJaxrsBase {
@Test(groups = "slow", description = "Add tags to invoice item")
public void testTags() throws Exception {
final Account accountJson = createAccountNoPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final Invoices invoicesJson = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final Invoices invoicesJson = accountApi.getInvoices(accountJson.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
Assert.assertNotNull(invoicesJson);
Assert.assertEquals(invoicesJson.size(), 2);
@@ -55,9 +54,9 @@ public class TestInvoiceItem extends TestJaxrsBase {
Assert.assertNotNull(invoiceItems);
// Create tag definition
- final TagDefinition input = new TagDefinition(null, false, "tagtest", "invoice item tag test", ImmutableList.<ObjectType>of(ObjectType.INVOICE_ITEM));
+ final TagDefinition input = new TagDefinition(null, false, "tagtest", "invoice item tag test", ImmutableList.<ObjectType>of(ObjectType.INVOICE_ITEM), null);
- final TagDefinition objFromJson = killBillClient.createTagDefinition(input, requestOptions);
+ final TagDefinition objFromJson = tagDefinitionApi.createTagDefinition(input, requestOptions);
Assert.assertNotNull(objFromJson);
Assert.assertEquals(objFromJson.getName(), input.getName());
Assert.assertEquals(objFromJson.getDescription(), input.getDescription());
@@ -66,23 +65,18 @@ public class TestInvoiceItem extends TestJaxrsBase {
final Multimap<String, String> followQueryParams = HashMultimap.create();
followQueryParams.put(JaxrsResource.QUERY_ACCOUNT_ID, accountJson.getAccountId().toString());
final RequestOptions followRequestOptions = requestOptions.extend().withQueryParamsForFollow(followQueryParams).build();
- killBillClient.createInvoiceItemTag(invoiceItems.get(0).getInvoiceItemId(),objFromJson.getId(), followRequestOptions);
+ invoiceItemApi.createTags(invoiceItems.get(0).getInvoiceItemId(), ImmutableList.<String>of(objFromJson.getId().toString()), followRequestOptions);
- // Add account id to request
- final Multimap<String, String> queryParams = HashMultimap.create();
- queryParams.put(JaxrsResource.QUERY_ACCOUNT_ID, accountJson.getAccountId().toString());
- final RequestOptions addedRequestOptions = requestOptions.extend().withQueryParams(queryParams).build();
-
// Retrieves all tags
- final List<Tag> tags1 = killBillClient.getInvoiceItemTags(invoiceItems.get(0).getInvoiceItemId(), AuditLevel.FULL, addedRequestOptions);
+ final List<Tag> tags1 = invoiceItemApi.getTags(invoiceItems.get(0).getInvoiceItemId(), accountJson.getAccountId(), null, AuditLevel.FULL, requestOptions);
Assert.assertEquals(tags1.size(), 1);
Assert.assertEquals(tags1.get(0).getTagDefinitionId(), objFromJson.getId());
// Verify adding the same tag a second time doesn't do anything
- killBillClient.createInvoiceItemTag(invoiceItems.get(0).getInvoiceItemId(), objFromJson.getId(), followRequestOptions);
+ invoiceItemApi.createTags(invoiceItems.get(0).getInvoiceItemId(), ImmutableList.<String>of(objFromJson.getId().toString()), followRequestOptions);
// Retrieves all tags again
- final List<Tag> tags2 = killBillClient.getInvoiceItemTags(invoiceItems.get(0).getInvoiceItemId(), AuditLevel.FULL, addedRequestOptions);
+ final List<Tag> tags2 = invoiceItemApi.getTags(invoiceItems.get(0).getInvoiceItemId(), accountJson.getAccountId(), null, AuditLevel.FULL, requestOptions);
Assert.assertEquals(tags2, tags1);
// Verify audit logs
@@ -96,15 +90,15 @@ public class TestInvoiceItem extends TestJaxrsBase {
Assert.assertNotNull(auditLogJson.getUserToken());
// remove it
- killBillClient.deleteInvoiceItemTag(invoiceItems.get(0).getInvoiceItemId(), objFromJson.getId(), requestOptions);
- final List<Tag> tags3 = killBillClient.getInvoiceItemTags(invoiceItems.get(0).getInvoiceItemId(), AuditLevel.FULL, addedRequestOptions);
+ invoiceItemApi.deleteTags(invoiceItems.get(0).getInvoiceItemId(), ImmutableList.<UUID>of(objFromJson.getId()), requestOptions);
+ final List<Tag> tags3 = invoiceItemApi.getTags(invoiceItems.get(0).getInvoiceItemId(), accountJson.getAccountId(), null, AuditLevel.FULL, requestOptions);
Assert.assertEquals(tags3.size(), 0);
- killBillClient.deleteTagDefinition(objFromJson.getId(),requestOptions);
- List<TagDefinition> objsFromJson = killBillClient.getTagDefinitions(requestOptions);
+ tagDefinitionApi.deleteTagDefinition(objFromJson.getId(), requestOptions);
+ List<TagDefinition> objsFromJson = tagDefinitionApi.getTagDefinitions(requestOptions);
Assert.assertNotNull(objsFromJson);
Boolean isFound = false;
- for (TagDefinition tagDefinition : objsFromJson){
+ for (TagDefinition tagDefinition : objsFromJson) {
isFound |= tagDefinition.getId().equals(objFromJson.getId());
}
Assert.assertFalse(isFound);
@@ -113,7 +107,7 @@ public class TestInvoiceItem extends TestJaxrsBase {
@Test(groups = "slow", description = "Add custom fields to invoice item")
public void testCustomFields() throws Exception {
final Account accountJson = createAccountNoPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final Invoices invoicesJson = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final Invoices invoicesJson = accountApi.getInvoices(accountJson.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
Assert.assertNotNull(invoicesJson);
Assert.assertEquals(invoicesJson.size(), 2);
@@ -122,20 +116,20 @@ public class TestInvoiceItem extends TestJaxrsBase {
Assert.assertNotNull(invoiceItems);
- final Collection<CustomField> customFields = new LinkedList<CustomField>();
+ final CustomFields customFields = new CustomFields();
customFields.add(new CustomField(null, invoiceItems.get(0).getInvoiceItemId(), ObjectType.INVOICE_ITEM, "1", "value1", null));
customFields.add(new CustomField(null, invoiceItems.get(0).getInvoiceItemId(), ObjectType.INVOICE_ITEM, "2", "value2", null));
customFields.add(new CustomField(null, invoiceItems.get(0).getInvoiceItemId(), ObjectType.INVOICE_ITEM, "3", "value3", null));
- killBillClient.createInvoiceItemCustomField(invoiceItems.get(0).getInvoiceItemId(), customFields, requestOptions);
+ invoiceItemApi.createCustomFields(invoiceItems.get(0).getInvoiceItemId(), customFields, requestOptions);
- final List<CustomField> invoiceItemCustomFields = killBillClient.getInvoiceItemCustomFields(invoiceItems.get(0).getInvoiceItemId(), requestOptions);
+ final List<CustomField> invoiceItemCustomFields = invoiceItemApi.getCustomFields(invoiceItems.get(0).getInvoiceItemId(), requestOptions);
Assert.assertEquals(invoiceItemCustomFields.size(), 3);
// Delete all custom fields for account
- killBillClient.deleteInvoiceItemCustomFields(invoiceItems.get(0).getInvoiceItemId(), requestOptions);
+ invoiceItemApi.deleteCustomFields(invoiceItems.get(0).getInvoiceItemId(), null, requestOptions);
- final List<CustomField> remainingCustomFields = killBillClient.getInvoiceItemCustomFields(invoiceItems.get(0).getInvoiceItemId(), requestOptions);
+ final List<CustomField> remainingCustomFields = invoiceItemApi.getCustomFields(invoiceItems.get(0).getInvoiceItemId(), requestOptions);
Assert.assertEquals(remainingCustomFields.size(), 0);
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceVoid.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceVoid.java
index ed56795..53c9373 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceVoid.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoiceVoid.java
@@ -28,12 +28,12 @@ import org.killbill.billing.api.FlakyRetryAnalyzer;
import org.killbill.billing.catalog.api.BillingPeriod;
import org.killbill.billing.catalog.api.ProductCategory;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.Invoice;
-import org.killbill.billing.client.model.InvoicePayment;
-import org.killbill.billing.client.model.InvoicePaymentTransaction;
import org.killbill.billing.client.model.InvoicePayments;
-import org.killbill.billing.client.model.PaymentTransaction;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.Invoice;
+import org.killbill.billing.client.model.gen.InvoicePayment;
+import org.killbill.billing.client.model.gen.InvoicePaymentTransaction;
+import org.killbill.billing.client.model.gen.PaymentTransaction;
import org.killbill.billing.invoice.api.InvoiceStatus;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.util.api.AuditLevel;
@@ -52,41 +52,41 @@ public class TestInvoiceVoid extends TestJaxrsBase {
assertNotNull(accountJson);
// Verify we didn't get any invoicePayment
- final List<InvoicePayment> noPaymentsFromJson = killBillClient.getInvoicePaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final List<InvoicePayment> noPaymentsFromJson = accountApi.getInvoicePayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(noPaymentsFromJson.size(), 0);
// Get the invoices
- List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoices.size(), 2);
// verify account balance
- Account account = killBillClient.getAccount(accountJson.getAccountId(), true, true, requestOptions);
+ Account account = accountApi.getAccount(accountJson.getAccountId(), true, true, AuditLevel.NONE, requestOptions);
assertEquals(account.getAccountBalance().compareTo(invoices.get(1).getBalance()), 0);
// void the invoice
- killBillClient.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
// Get the invoices excluding voided
- invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// the voided invoice should not be returned
assertEquals(invoices.size(), 1);
// Get the invoices including voided
- invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, false, true, true, AuditLevel.NONE, requestOptions);
+ invoices = accountApi.getInvoices(accountJson.getAccountId(), true, false, false, true, AuditLevel.NONE, requestOptions);
assertEquals(invoices.size(), 2);
- assertEquals(invoices.get(1).getStatus(), InvoiceStatus.VOID.toString());
+ assertEquals(invoices.get(1).getStatus(), InvoiceStatus.VOID);
assertEquals(invoices.get(1).getBalance().compareTo(BigDecimal.ZERO), 0);
// check that account balance is zero
- account = killBillClient.getAccount(accountJson.getAccountId(), true, true, requestOptions);
+ account = accountApi.getAccount(accountJson.getAccountId(), true, true, AuditLevel.NONE, requestOptions);
assertEquals(account.getAccountBalance().compareTo(BigDecimal.ZERO), 0);
// After invoice was voided verify the subscription is re-invoiced on a new invoice
// trigger an invoice generation
- killBillClient.createInvoice(accountJson.getAccountId(), clock.getToday(DateTimeZone.forID(accountJson.getTimeZone())), requestOptions);
+ invoiceApi.createFutureInvoice(accountJson.getAccountId(), clock.getToday(DateTimeZone.forID(accountJson.getTimeZone())), requestOptions);
// Get the invoices excluding voided
- invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// the voided invoice should not be returned
assertEquals(invoices.size(), 2);
@@ -95,7 +95,7 @@ public class TestInvoiceVoid extends TestJaxrsBase {
// try to void invoice
try {
- killBillClient.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
Assert.fail("VoidInvoice call should fail with 400");
} catch (final KillBillClientException e) {
assertTrue(true);
@@ -106,13 +106,13 @@ public class TestInvoiceVoid extends TestJaxrsBase {
// try to void invoice
try {
- killBillClient.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
} catch (final KillBillClientException e) {
assertTrue(false);
}
// check that account balance is zero
- account = killBillClient.getAccount(accountJson.getAccountId(), true, true, requestOptions);
+ account = accountApi.getAccount(accountJson.getAccountId(), true, true, AuditLevel.NONE, requestOptions);
assertEquals(account.getAccountBalance().compareTo(BigDecimal.ZERO), 0);
}
@@ -123,15 +123,15 @@ public class TestInvoiceVoid extends TestJaxrsBase {
assertNotNull(accountJson);
// Verify we didn't get any invoicePayment
- final List<InvoicePayment> noPaymentsFromJson = killBillClient.getInvoicePaymentsForAccount(accountJson.getAccountId(), requestOptions);
+ final List<InvoicePayment> noPaymentsFromJson = accountApi.getInvoicePayments(accountJson.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(noPaymentsFromJson.size(), 0);
// Get the invoices
- List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoices.size(), 2);
// verify account balance
- Account account = killBillClient.getAccount(accountJson.getAccountId(), true, true, requestOptions);
+ Account account = accountApi.getAccount(accountJson.getAccountId(), true, true, AuditLevel.NONE, requestOptions);
assertEquals(account.getAccountBalance().compareTo(invoices.get(1).getBalance()), 0);
// process payment
@@ -139,7 +139,7 @@ public class TestInvoiceVoid extends TestJaxrsBase {
// try to void invoice
try {
- killBillClient.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(invoices.get(1).getInvoiceId(), requestOptions);
Assert.fail("VoidInvoice call should fail with 400");
} catch (final KillBillClientException e) {
assertTrue(true);
@@ -148,7 +148,7 @@ public class TestInvoiceVoid extends TestJaxrsBase {
}
// Flaky, see https://github.com/killbill/killbill/issues/860
- @Test(groups = "slow", description = "Void a child invoice", retryAnalyzer = FlakyRetryAnalyzer.class)
+ @Test(groups = "slow", description = "Void a child invoice") // , retryAnalyzer = FlakyRetryAnalyzer.class)
public void testChildVoidInvoice() throws Exception {
final DateTime initialDate = new DateTime(2012, 4, 25, 0, 3, 42, 0);
final LocalDate triggeredDate = new LocalDate(2012, 5, 26);
@@ -158,38 +158,38 @@ public class TestInvoiceVoid extends TestJaxrsBase {
final Account childAccount1 = createAccount(parentAccount.getAccountId());
// Add a bundle and subscription
- createEntitlement(childAccount1.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ createSubscription(childAccount1.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
// trigger an invoice generation
- killBillClient.createInvoice(childAccount1.getAccountId(), triggeredDate, requestOptions);
- List<Invoice> child1Invoices = killBillClient.getInvoicesForAccount(childAccount1.getAccountId(), true, false, requestOptions);
+ invoiceApi.createFutureInvoice(childAccount1.getAccountId(), triggeredDate, requestOptions);
+ List<Invoice> child1Invoices = accountApi.getInvoices(childAccount1.getAccountId(), true, false, false, true, AuditLevel.NONE, requestOptions);
assertEquals(child1Invoices.size(), 2);
// move one day so that the parent invoice is committed
clock.addDays(1);
crappyWaitForLackOfProperSynchonization();
- List<Invoice> parentInvoices = killBillClient.getInvoicesForAccount(parentAccount.getAccountId(), true, false, requestOptions);
+ List<Invoice> parentInvoices = accountApi.getInvoices(parentAccount.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
assertEquals(parentInvoices.size(), 1);
// try to void child invoice
- killBillClient.voidInvoice(child1Invoices.get(1).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(child1Invoices.get(1).getInvoiceId(), requestOptions);
// move the clock 1 month to check if invoices change
clock.addDays(31);
crappyWaitForLackOfProperSynchonization();
// The parent added other invoice, now it has two (duplicate)
- parentInvoices = killBillClient.getInvoicesForAccount(parentAccount.getAccountId(), true, false, requestOptions);
+ parentInvoices = accountApi.getInvoices(parentAccount.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
assertEquals(parentInvoices.size(), 2);
// the child added one invoice as expected
- child1Invoices = killBillClient.getInvoicesForAccount(childAccount1.getAccountId(), true, false, requestOptions);
+ child1Invoices = accountApi.getInvoices(childAccount1.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
assertEquals(child1Invoices.size(), 2);
}
// Flaky, see https://github.com/killbill/killbill/issues/860
- @Test(groups = "slow", description = "Void a parent invoice", retryAnalyzer = FlakyRetryAnalyzer.class)
+ @Test(groups = "slow", description = "Void a parent invoice") //, retryAnalyzer = FlakyRetryAnalyzer.class)
public void testParentVoidInvoice() throws Exception {
final DateTime initialDate = new DateTime(2012, 4, 25, 0, 3, 42, 0);
final LocalDate triggeredDate = new LocalDate(2012, 5, 26);
@@ -199,22 +199,22 @@ public class TestInvoiceVoid extends TestJaxrsBase {
final Account childAccount1 = createAccount(parentAccount.getAccountId());
// Add a bundle and subscription
- createEntitlement(childAccount1.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ createSubscription(childAccount1.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
// trigger an invoice generation
- killBillClient.createInvoice(childAccount1.getAccountId(), triggeredDate, requestOptions);
- List<Invoice> child1Invoices = killBillClient.getInvoicesForAccount(childAccount1.getAccountId(), true, false, requestOptions);
+ invoiceApi.createFutureInvoice(childAccount1.getAccountId(), triggeredDate, requestOptions);
+ List<Invoice> child1Invoices = accountApi.getInvoices(childAccount1.getAccountId(), true, false, false, true, AuditLevel.NONE, requestOptions);
assertEquals(child1Invoices.size(), 2);
// move one day so that the parent invoice is committed
clock.addDays(1);
crappyWaitForLackOfProperSynchonization();
- List<Invoice> parentInvoices = killBillClient.getInvoicesForAccount(parentAccount.getAccountId(), true, false, requestOptions);
+ List<Invoice> parentInvoices = accountApi.getInvoices(parentAccount.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
assertEquals(parentInvoices.size(), 1);
// try to void parent invoice
- killBillClient.voidInvoice(parentInvoices.get(0).getInvoiceId(), requestOptions);
+ invoiceApi.voidInvoice(parentInvoices.get(0).getInvoiceId(), requestOptions);
// move the clock 1 month to check if invoices change
clock.addDays(31);
@@ -222,11 +222,11 @@ public class TestInvoiceVoid extends TestJaxrsBase {
// since the child did not have any change, the parent does not have an invoice
// after the void.
- parentInvoices = killBillClient.getInvoicesForAccount(parentAccount.getAccountId(), true, false, requestOptions);
+ parentInvoices = accountApi.getInvoices(parentAccount.getAccountId(), true, false, false, false, AuditLevel.NONE, requestOptions);
assertEquals(parentInvoices.size(), 0);
// the child does not have any change
- child1Invoices = killBillClient.getInvoicesForAccount(childAccount1.getAccountId(), true, false, requestOptions);
+ child1Invoices = accountApi.getInvoices(childAccount1.getAccountId(), true, false, false, true, AuditLevel.NONE, requestOptions);
assertEquals(child1Invoices.size(), 2);
}
@@ -238,7 +238,7 @@ public class TestInvoiceVoid extends TestJaxrsBase {
invoicePayment.setAccountId(accountJson.getAccountId());
invoicePayment.setTargetInvoiceId(invoice.getInvoiceId());
- final InvoicePayment result = killBillClient.createInvoicePayment(invoicePayment, false, requestOptions);
+ final InvoicePayment result = invoiceApi.createInstantPayment(invoicePayment, invoice.getInvoiceId(), true, NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(result.getTransactions().size(), 1);
assertTrue(result.getTransactions().get(0).getAmount().compareTo(payAmount) == 0);
@@ -250,12 +250,12 @@ public class TestInvoiceVoid extends TestJaxrsBase {
final InvoicePaymentTransaction refund = new InvoicePaymentTransaction();
refund.setPaymentId(payment.getPaymentId());
refund.setAmount(payment.getPurchasedAmount());
- killBillClient.createInvoicePaymentRefund(refund, requestOptions);
+ invoicePaymentApi.createRefundWithAdjustments(refund, payment.getPaymentId(), payment.getPaymentMethodId(), NULL_PLUGIN_PROPERTIES, requestOptions);
- final InvoicePayments allPayments = killBillClient.getInvoicePaymentsForAccount(payment.getAccountId(), requestOptions);
+ final InvoicePayments allPayments = accountApi.getInvoicePayments(payment.getAccountId(), NULL_PLUGIN_PROPERTIES, requestOptions);
assertEquals(allPayments.size(), 1);
- final List<PaymentTransaction> objRefundFromJson = getPaymentTransactions(allPayments, TransactionType.REFUND.toString());
+ final List<PaymentTransaction> objRefundFromJson = getInvoicePaymentTransactions(allPayments, TransactionType.REFUND);
assertEquals(objRefundFromJson.size(), 1);
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestJaxrsBase.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestJaxrsBase.java
index fd5f44d..af7edf7 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestJaxrsBase.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestJaxrsBase.java
@@ -18,9 +18,12 @@
package org.killbill.billing.jaxrs;
+import java.io.File;
+import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
+import java.nio.charset.Charset;
import java.util.EventListener;
import java.util.Iterator;
import java.util.List;
@@ -39,6 +42,7 @@ import org.eclipse.jetty.servlet.FilterHolder;
import org.joda.time.LocalDate;
import org.killbill.billing.GuicyKillbillTestWithEmbeddedDBModule;
import org.killbill.billing.api.TestApiListener;
+import org.killbill.billing.client.KillBillClientException;
import org.killbill.billing.client.KillBillHttpClient;
import org.killbill.billing.client.api.gen.AccountApi;
import org.killbill.billing.client.api.gen.AdminApi;
@@ -100,6 +104,8 @@ import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
+import com.google.common.io.Files;
+import com.google.common.io.Resources;
import com.google.inject.Module;
import com.google.inject.util.Modules;
@@ -372,6 +378,23 @@ public class TestJaxrsBase extends KillbillClient {
}));
}
+ protected String uploadTenantCatalog(final String catalog, final boolean fetch) throws IOException, KillBillClientException {
+ final String body = getResourceBodyString(catalog);
+ catalogApi.uploadCatalogXml(body, requestOptions);
+ return fetch ? catalogApi.getCatalogXml(requestOptions) : null;
+ }
+
+
+ protected void uploadTenantOverdueConfig(final String overdue) throws IOException, KillBillClientException {
+ final String body = getResourceBodyString(overdue);
+ overdueApi.uploadOverdueConfigXml(body, requestOptions);
+ }
+
+ protected String getResourceBodyString(final String resource) throws IOException {
+ final String catalogPath = Resources.getResource(resource).getPath();
+ final File catalogFile = new File(catalogPath);
+ return Files.toString(catalogFile, Charset.forName("UTF-8"));
+ }
protected void printThreadDump() {
final StringBuilder dump = new StringBuilder("Thread dump:\n");
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestOverdue.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestOverdue.java
index 6b13996..5f90e66 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestOverdue.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestOverdue.java
@@ -22,18 +22,17 @@ import java.math.BigDecimal;
import java.util.Comparator;
import java.util.List;
-import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.Invoice;
-import org.killbill.billing.client.model.InvoicePayment;
import org.killbill.billing.client.model.Invoices;
import org.killbill.billing.client.model.Tags;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.Invoice;
+import org.killbill.billing.client.model.gen.InvoicePayment;
import org.killbill.billing.util.tag.ControlTagType;
import org.testng.Assert;
import org.testng.annotations.Test;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Ordering;
-import com.google.common.io.Resources;
import static org.testng.Assert.assertEquals;
@@ -41,10 +40,9 @@ public class TestOverdue extends TestJaxrsBase {
@Test(groups = "slow", description = "Upload and retrieve a per tenant overdue config")
public void testMultiTenantOverdueConfig() throws Exception {
- final String overdueConfigPath = Resources.getResource("overdue.xml").getPath();
- killBillClient.uploadXMLOverdueConfig(overdueConfigPath, requestOptions);
+ uploadTenantOverdueConfig("overdue.xml");
- final String overdueConfig = killBillClient.getXMLOverdueConfig(requestOptions);
+ final String overdueConfig = overdueApi.getOverdueConfigXml(requestOptions);
Assert.assertNotNull(overdueConfig);
}
@@ -54,29 +52,29 @@ public class TestOverdue extends TestJaxrsBase {
final Account accountJson = createAccountNoPMBundleAndSubscriptionAndWaitForFirstInvoice();
// Get the invoices
- final List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoices.size(), 2);
// We're still clear - see the configuration
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).isIsClearState());
clock.addDays(30);
crappyWaitForLackOfProperSynchonization();
- Assert.assertEquals(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getName(), "OD1");
+ Assert.assertEquals(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).getName(), "OD1");
clock.addDays(10);
crappyWaitForLackOfProperSynchonization();
- Assert.assertEquals(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getName(), "OD2");
+ Assert.assertEquals(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).getName(), "OD2");
clock.addDays(10);
crappyWaitForLackOfProperSynchonization();
- Assert.assertEquals(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getName(), "OD3");
+ Assert.assertEquals(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).getName(), "OD3");
// Post external payments, paying the most recent invoice first: this is to avoid a race condition where
// a refresh overdue notification kicks in after the first payment, which makes the account goes CLEAR and
// triggers an AUTO_INVOICE_OFF tag removal (hence adjustment of the other invoices balance).
- final Invoices invoicesForAccount = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final Invoices invoicesForAccount = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
final List<Invoice> mostRecentInvoiceFirst = Ordering.<Invoice>from(new Comparator<Invoice>() {
@Override
public int compare(final Invoice invoice1, final Invoice invoice2) {
@@ -90,7 +88,7 @@ public class TestOverdue extends TestJaxrsBase {
invoicePayment.setPurchasedAmount(invoice.getAmount());
invoicePayment.setAccountId(accountJson.getAccountId());
invoicePayment.setTargetInvoiceId(invoice.getInvoiceId());
- killBillClient.createInvoicePayment(invoicePayment, true, requestOptions);
+ invoiceApi.createInstantPayment(invoicePayment, invoice.getInvoiceId(), true, NULL_PLUGIN_PROPERTIES, requestOptions);
}
}
@@ -98,17 +96,16 @@ public class TestOverdue extends TestJaxrsBase {
crappyWaitForLackOfProperSynchonization();
// Verify we're in clear state
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).isIsClearState());
}
@Test(groups = "slow", description = "Allow overdue condition by control tag defined in overdue config xml file")
public void testControlTagOverdueConfig() throws Exception {
- final String overdueConfigPath = Resources.getResource("overdueWithControlTag.xml").getPath();
- killBillClient.uploadXMLOverdueConfig(overdueConfigPath, requestOptions);
+ uploadTenantOverdueConfig("overdueWithControlTag.xml");
// Create an account without a payment method and assign a TEST tag
final Account accountJson = createAccountNoPMBundleAndSubscription();
- final Tags accountTag = killBillClient.createAccountTag(accountJson.getAccountId(), ControlTagType.TEST.getId(), requestOptions);
+ final Tags accountTag = accountApi.createTags(accountJson.getAccountId(), ImmutableList.<String>of(ControlTagType.TEST.getId().toString()), requestOptions);
assertEquals(accountTag.get(0).getTagDefinitionId(), ControlTagType.TEST.getId());
// Create an account without a TEST tag
@@ -119,35 +116,35 @@ public class TestOverdue extends TestJaxrsBase {
crappyWaitForLackOfProperSynchonization();
// Get the invoices
- final List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoices.size(), 2);
- final List<Invoice> invoicesNoTag = killBillClient.getInvoicesForAccount(accountJsonNoTag.getAccountId(), requestOptions);
+ final List<Invoice> invoicesNoTag = accountApi.getInvoices(accountJsonNoTag.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoicesNoTag.size(), 2);
// We're still clear - see the configuration
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getIsClearState());
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJsonNoTag.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).isIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJsonNoTag.getAccountId(), requestOptions).isIsClearState());
clock.addDays(30);
crappyWaitForLackOfProperSynchonization();
// This account is expected to move to OD1 state because it matches with controlTag defined
- Assert.assertEquals(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getName(), "OD1");
+ Assert.assertEquals(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).getName(), "OD1");
// This account is not expected to move to OD1 state because it does not match with controlTag defined
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJsonNoTag.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJsonNoTag.getAccountId(), requestOptions).isIsClearState());
}
@Test(groups = "slow", description = "Allow overdue condition by exclusion control tag defined in overdue config xml file")
public void testExclusionControlTagOverdueConfig() throws Exception {
- final String overdueConfigPath = Resources.getResource("overdueWithExclusionControlTag.xml").getPath();
- killBillClient.uploadXMLOverdueConfig(overdueConfigPath, requestOptions);
+
+ uploadTenantOverdueConfig("overdueWithExclusionControlTag.xml");
// Create an account without a payment method and assign a TEST tag
final Account accountJson = createAccountNoPMBundleAndSubscription();
- final Tags accountTag = killBillClient.createAccountTag(accountJson.getAccountId(), ControlTagType.TEST.getId(), requestOptions);
+ final Tags accountTag = accountApi.createTags(accountJson.getAccountId(), ImmutableList.<String>of(ControlTagType.TEST.getId().toString()), requestOptions);
assertEquals(accountTag.get(0).getTagDefinitionId(), ControlTagType.TEST.getId());
// Create an account without a TEST tag
@@ -159,24 +156,24 @@ public class TestOverdue extends TestJaxrsBase {
crappyWaitForLackOfProperSynchonization();
// Get the invoices
- final List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), requestOptions);
+ final List<Invoice> invoices = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoices.size(), 2);
- final List<Invoice> invoicesNoTag = killBillClient.getInvoicesForAccount(accountJsonNoTag.getAccountId(), requestOptions);
+ final List<Invoice> invoicesNoTag = accountApi.getInvoices(accountJsonNoTag.getAccountId(), requestOptions);
// 2 invoices but look for the non zero dollar one
assertEquals(invoicesNoTag.size(), 2);
// We're still clear - see the configuration
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getIsClearState());
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJsonNoTag.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).isIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJsonNoTag.getAccountId(), requestOptions).isIsClearState());
clock.addDays(30);
crappyWaitForLackOfProperSynchonization();
// This account is not expected to move to OD1 state because it does not match with exclusion controlTag defined
- Assert.assertTrue(killBillClient.getOverdueStateForAccount(accountJson.getAccountId(), requestOptions).getIsClearState());
+ Assert.assertTrue(accountApi.getOverdueAccount(accountJson.getAccountId(), requestOptions).isIsClearState());
// This account is expected to move to OD1 state because it matches with exclusion controlTag defined
- Assert.assertEquals(killBillClient.getOverdueStateForAccount(accountJsonNoTag.getAccountId(), requestOptions).getName(), "OD1");
+ Assert.assertEquals(accountApi.getOverdueAccount(accountJsonNoTag.getAccountId(), requestOptions).getName(), "OD1");
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPaymentGateway.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPaymentGateway.java
index 5c87db5..3cfe097 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPaymentGateway.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPaymentGateway.java
@@ -19,20 +19,17 @@ package org.killbill.billing.jaxrs;
import java.util.UUID;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.ComboHostedPaymentPage;
-import org.killbill.billing.client.model.HostedPaymentPageFields;
-import org.killbill.billing.client.model.HostedPaymentPageFormDescriptor;
-import org.killbill.billing.client.model.PaymentMethod;
-import org.killbill.billing.client.model.PaymentMethodPluginDetail;
-import org.killbill.billing.client.model.PluginProperty;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.ComboHostedPaymentPage;
+import org.killbill.billing.client.model.gen.HostedPaymentPageFields;
+import org.killbill.billing.client.model.gen.HostedPaymentPageFormDescriptor;
+import org.killbill.billing.client.model.gen.PaymentMethod;
+import org.killbill.billing.client.model.gen.PaymentMethodPluginDetail;
+import org.killbill.billing.client.model.gen.PluginProperty;
import org.testng.Assert;
import org.testng.annotations.Test;
-import com.ning.http.client.Response;
-
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
public class TestPaymentGateway extends TestJaxrsBase {
@@ -42,7 +39,7 @@ public class TestPaymentGateway extends TestJaxrsBase {
final HostedPaymentPageFields hppFields = new HostedPaymentPageFields();
- final HostedPaymentPageFormDescriptor hostedPaymentPageFormDescriptor = killBillClient.buildFormDescriptor(hppFields, account.getAccountId(), null, ImmutableMap.<String, String>of(), requestOptions);
+ final HostedPaymentPageFormDescriptor hostedPaymentPageFormDescriptor = paymentGatewayApi.buildFormDescriptor(hppFields, account.getAccountId(), null, NULL_PLUGIN_NAMES, NULL_PLUGIN_PROPERTIES, requestOptions);
Assert.assertEquals(hostedPaymentPageFormDescriptor.getKbAccountId(), account.getAccountId());
}
@@ -52,19 +49,18 @@ public class TestPaymentGateway extends TestJaxrsBase {
account.setAccountId(null);
final PaymentMethodPluginDetail info = new PaymentMethodPluginDetail();
- final PaymentMethod paymentMethod = new PaymentMethod(null, UUID.randomUUID().toString(), null, true, PLUGIN_NAME, info);
+ final PaymentMethod paymentMethod = new PaymentMethod(null, UUID.randomUUID().toString(), null, true, PLUGIN_NAME, info, null);
final HostedPaymentPageFields hppFields = new HostedPaymentPageFields();
- final ComboHostedPaymentPage comboHostedPaymentPage = new ComboHostedPaymentPage(account, paymentMethod, ImmutableList.<PluginProperty>of(), hppFields);
+ final ComboHostedPaymentPage comboHostedPaymentPage = new ComboHostedPaymentPage(account, paymentMethod, hppFields, ImmutableList.<PluginProperty>of(), null);
- final HostedPaymentPageFormDescriptor hostedPaymentPageFormDescriptor = killBillClient.buildFormDescriptor(comboHostedPaymentPage, ImmutableMap.<String, String>of(), requestOptions);
+ final HostedPaymentPageFormDescriptor hostedPaymentPageFormDescriptor = paymentGatewayApi.buildComboFormDescriptor(comboHostedPaymentPage, NULL_PLUGIN_NAMES, NULL_PLUGIN_PROPERTIES, requestOptions);
Assert.assertNotNull(hostedPaymentPageFormDescriptor.getKbAccountId());
}
@Test(groups = "slow")
public void testProcessNotification() throws Exception {
- final Response response = killBillClient.processNotification("TOTO", PLUGIN_NAME, ImmutableMap.<String, String>of(), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 200);
+ paymentGatewayApi.processNotification("TOTO", PLUGIN_NAME, NULL_PLUGIN_NAMES, NULL_PLUGIN_PROPERTIES, requestOptions);
}
}