killbill-memoizeit

Cleanup for chargeback json in jaxrs

9/13/2013 11:39:11 PM

Details

diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountTimelineJson.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountTimelineJson.java
index 5c87754..f4091a8 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountTimelineJson.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/AccountTimelineJson.java
@@ -159,7 +159,7 @@ public class AccountTimelineJson {
             final List<ChargebackJson> chargebacks = new ArrayList<ChargebackJson>();
             for (final InvoicePayment chargeback : chargebacksByPayment.get(payment.getId())) {
                 final List<AuditLog> auditLogs = chargebacksAuditLogs.get(chargeback.getId());
-                chargebacks.add(new ChargebackJson(chargeback, auditLogs));
+                chargebacks.add(new ChargebackJson(payment.getAccountId(), chargeback, auditLogs));
             }
 
             final int nbOfPaymentAttempts = payment.getAttempts().size();
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
index d7b3c39..2c6cdad 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/json/ChargebackJson.java
@@ -18,6 +18,7 @@ package com.ning.billing.jaxrs.json;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.UUID;
 
 import javax.annotation.Nullable;
 
@@ -31,6 +32,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class ChargebackJson extends JsonBase {
 
+    private final String accountId;
     private final DateTime requestedDate;
     private final DateTime effectiveDate;
     private final BigDecimal amount;
@@ -38,13 +40,15 @@ public class ChargebackJson extends JsonBase {
     private final String currency;
 
     @JsonCreator
-    public ChargebackJson(@JsonProperty("requestedDate") final DateTime requestedDate,
+    public ChargebackJson(@JsonProperty("accountId") final String accountId,
+                          @JsonProperty("requestedDate") final DateTime requestedDate,
                           @JsonProperty("effectiveDate") final DateTime effectiveDate,
                           @JsonProperty("amount") final BigDecimal chargebackAmount,
                           @JsonProperty("paymentId") final String paymentId,
                           @JsonProperty("currency") final String currency,
                           @JsonProperty("auditLogs") @Nullable final List<AuditLogJson> auditLogs) {
         super(auditLogs);
+        this.accountId = accountId;
         this.requestedDate = requestedDate;
         this.effectiveDate = effectiveDate;
         this.amount = chargebackAmount;
@@ -52,15 +56,19 @@ public class ChargebackJson extends JsonBase {
         this.currency = currency;
     }
 
-    public ChargebackJson(final InvoicePayment chargeback) {
-        this(chargeback, null);
+    public ChargebackJson(final UUID accountId, final InvoicePayment chargeback) {
+        this(accountId, chargeback, null);
     }
 
-    public ChargebackJson(final InvoicePayment chargeback, @Nullable final List<AuditLog> auditLogs) {
-        this(chargeback.getPaymentDate(), chargeback.getPaymentDate(), chargeback.getAmount().negate(),
+    public ChargebackJson(final UUID accountId, final InvoicePayment chargeback, @Nullable final List<AuditLog> auditLogs) {
+        this(accountId.toString(), chargeback.getPaymentDate(), chargeback.getPaymentDate(), chargeback.getAmount().negate(),
              chargeback.getPaymentId().toString(), chargeback.getCurrency().toString(), toAuditLogJson(auditLogs));
     }
 
+    public String getAccountId() {
+        return accountId;
+    }
+
     public DateTime getRequestedDate() {
         return requestedDate;
     }
@@ -100,6 +108,9 @@ public class ChargebackJson extends JsonBase {
               (effectiveDate != null && that.effectiveDate != null && effectiveDate.compareTo(that.effectiveDate) == 0))) {
             return false;
         }
+        if (accountId != null ? !accountId.equals(that.accountId) : that.accountId != null) {
+            return false;
+        }
         if (paymentId != null ? !paymentId.equals(that.paymentId) : that.paymentId != null) {
             return false;
         }
@@ -119,8 +130,21 @@ public class ChargebackJson extends JsonBase {
         int result = requestedDate != null ? requestedDate.hashCode() : 0;
         result = 31 * result + (effectiveDate != null ? effectiveDate.hashCode() : 0);
         result = 31 * result + (amount != null ? amount.hashCode() : 0);
+        result = 31 * result + (accountId != null ? accountId.hashCode() : 0);
         result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0);
         result = 31 * result + (currency != null ? currency.hashCode() : 0);
         return result;
     }
+
+    @Override
+    public String toString() {
+        return "ChargebackJson{" +
+               "accountId='" + accountId + '\'' +
+               ", requestedDate=" + requestedDate +
+               ", effectiveDate=" + effectiveDate +
+               ", amount=" + amount +
+               ", paymentId='" + paymentId + '\'' +
+               ", currency='" + currency + '\'' +
+               '}';
+    }
 }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
index c9faa12..db66db3 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
@@ -58,7 +58,6 @@ import com.ning.billing.jaxrs.json.AccountEmailJson;
 import com.ning.billing.jaxrs.json.AccountJson;
 import com.ning.billing.jaxrs.json.AccountTimelineJson;
 import com.ning.billing.jaxrs.json.BundleJson;
-import com.ning.billing.jaxrs.json.ChargebackCollectionJson;
 import com.ning.billing.jaxrs.json.ChargebackJson;
 import com.ning.billing.jaxrs.json.CustomFieldJson;
 import com.ning.billing.jaxrs.json.InvoiceEmailJson;
@@ -451,16 +450,15 @@ public class AccountResource extends JaxRsResourceBase {
     @GET
     @Path("/{accountId:" + UUID_PATTERN + "}/" + CHARGEBACKS)
     @Produces(APPLICATION_JSON)
-    public Response getChargebacksForAccount(@PathParam("accountId") final String accountId,
+    public Response getChargebacksForAccount(@PathParam("accountId") final String accountIdStr,
                                   @javax.ws.rs.core.Context final HttpServletRequest request) {
-        final List<InvoicePayment> chargebacks = invoicePaymentApi.getChargebacksByAccountId(UUID.fromString(accountId), context.createContext(request));
+        final UUID accountId = UUID.fromString(accountIdStr);
+        final List<InvoicePayment> chargebacks = invoicePaymentApi.getChargebacksByAccountId(accountId, context.createContext(request));
         final List<ChargebackJson> chargebacksJson = new ArrayList<ChargebackJson>();
         for (final InvoicePayment chargeback : chargebacks) {
-            chargebacksJson.add(new ChargebackJson(chargeback));
+            chargebacksJson.add(new ChargebackJson(accountId, chargeback));
         }
-
-        final ChargebackCollectionJson json = new ChargebackCollectionJson(accountId, chargebacksJson);
-        return Response.status(Response.Status.OK).entity(json).build();
+        return Response.status(Response.Status.OK).entity(chargebacksJson).build();
     }
 
 
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
index 6b1bd9f..b52ddce 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
@@ -42,6 +42,7 @@ import com.ning.billing.util.api.AuditUserApi;
 import com.ning.billing.util.api.CustomFieldUserApi;
 import com.ning.billing.util.api.TagUserApi;
 import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.TenantContext;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -72,8 +73,10 @@ public class ChargebackResource extends JaxRsResourceBase {
     @Produces(APPLICATION_JSON)
     public Response getChargeback(@PathParam("chargebackId") final String chargebackId,
                                   @javax.ws.rs.core.Context final HttpServletRequest request) throws InvoiceApiException {
-        final InvoicePayment chargeback = invoicePaymentApi.getChargebackById(UUID.fromString(chargebackId), context.createContext(request));
-        final ChargebackJson chargebackJson = new ChargebackJson(chargeback);
+        final TenantContext tenantContext = context.createContext(request);
+        final InvoicePayment chargeback = invoicePaymentApi.getChargebackById(UUID.fromString(chargebackId), tenantContext);
+        final UUID accountId = invoicePaymentApi.getAccountIdFromInvoicePaymentId(chargeback.getId(), tenantContext);
+        final ChargebackJson chargebackJson = new ChargebackJson(accountId, chargeback);
 
         return Response.status(Response.Status.OK).entity(chargebackJson).build();
     }
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
index 25ce694..01a17f1 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/PaymentResource.java
@@ -47,7 +47,6 @@ import com.ning.billing.clock.Clock;
 import com.ning.billing.invoice.api.InvoiceApiException;
 import com.ning.billing.invoice.api.InvoicePayment;
 import com.ning.billing.invoice.api.InvoicePaymentApi;
-import com.ning.billing.jaxrs.json.ChargebackCollectionJson;
 import com.ning.billing.jaxrs.json.ChargebackJson;
 import com.ning.billing.jaxrs.json.CustomFieldJson;
 import com.ning.billing.jaxrs.json.InvoiceItemJsonSimple;
@@ -118,7 +117,7 @@ public class PaymentResource extends JaxRsResourceBase {
 
             final List<ChargebackJson> chargebacks = new ArrayList<ChargebackJson>();
             for (final InvoicePayment chargeback : invoicePaymentApi.getChargebacksByPaymentId(paymentId, tenantContext)) {
-                chargebacks.add(new ChargebackJson(chargeback));
+                chargebacks.add(new ChargebackJson(payment.getAccountId(), chargeback));
             }
 
             final int nbOfPaymentAttempts = payment.getAttempts().size();
@@ -172,14 +171,12 @@ public class PaymentResource extends JaxRsResourceBase {
         }
 
         final UUID invoicePaymentId = chargebacks.get(0).getId();
-        final String accountId = invoicePaymentApi.getAccountIdFromInvoicePaymentId(invoicePaymentId, tenantContext).toString();
+        final UUID accountId = invoicePaymentApi.getAccountIdFromInvoicePaymentId(invoicePaymentId, tenantContext);
         final List<ChargebackJson> chargebacksJson = new ArrayList<ChargebackJson>();
         for (final InvoicePayment chargeback : chargebacks) {
-            chargebacksJson.add(new ChargebackJson(chargeback));
+            chargebacksJson.add(new ChargebackJson(accountId, chargeback));
         }
-        final ChargebackCollectionJson json = new ChargebackCollectionJson(accountId, chargebacksJson);
-
-        return Response.status(Response.Status.OK).entity(json).build();
+        return Response.status(Response.Status.OK).entity(chargebacksJson).build();
     }
 
 
diff --git a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
index e40ae9b..4caee20 100644
--- a/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
+++ b/jaxrs/src/test/java/com/ning/billing/jaxrs/json/TestChargebackJson.java
@@ -36,10 +36,11 @@ public class TestChargebackJson extends JaxrsTestSuiteNoDB {
         final DateTime requestedDate = new DateTime(DateTimeZone.UTC);
         final DateTime effectiveDate = new DateTime(DateTimeZone.UTC);
         final BigDecimal chargebackAmount = BigDecimal.TEN;
+        final String accountId = UUID.randomUUID().toString();
         final String paymentId = UUID.randomUUID().toString();
         final String currency = "USD";
         final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
-        final ChargebackJson chargebackJson = new ChargebackJson(requestedDate, effectiveDate, chargebackAmount, paymentId,
+        final ChargebackJson chargebackJson = new ChargebackJson(accountId, requestedDate, effectiveDate, chargebackAmount, paymentId,
                                                                  currency, auditLogs);
         Assert.assertEquals(chargebackJson.getRequestedDate(), requestedDate);
         Assert.assertEquals(chargebackJson.getEffectiveDate(), effectiveDate);
diff --git a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
index 227d2d9..ab8dc2c 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/KillbillClient.java
@@ -726,7 +726,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
     //
 
     protected ChargebackJson createChargeBack(final String paymentId, final BigDecimal chargebackAmount) throws IOException {
-        final ChargebackJson input = new ChargebackJson(null, null, chargebackAmount, paymentId, null, null);
+        final ChargebackJson input = new ChargebackJson(null, null, null, chargebackAmount, paymentId, null, null);
         final String jsonInput = mapper.writeValueAsString(input);
 
         // Create the chargeback
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java b/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
index 7729321..4b92c61 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestChargeback.java
@@ -31,7 +31,6 @@ import org.testng.annotations.Test;
 import com.ning.billing.catalog.api.BillingPeriod;
 import com.ning.billing.catalog.api.ProductCategory;
 import com.ning.billing.jaxrs.json.AccountJson;
-import com.ning.billing.jaxrs.json.ChargebackCollectionJson;
 import com.ning.billing.jaxrs.json.ChargebackJson;
 import com.ning.billing.jaxrs.json.InvoiceJsonSimple;
 import com.ning.billing.jaxrs.json.PaymentJsonSimple;
@@ -60,7 +59,7 @@ public class TestChargeback extends TestJaxrsBase {
         final PaymentJsonSimple payment = createAccountWithInvoiceAndPayment();
 
         // We get a 249.95 payment so we do 4 chargeback and then the fifth should fail
-        final ChargebackJson input = new ChargebackJson(null, null, new BigDecimal("50.00"), payment.getPaymentId(), null, null);
+        final ChargebackJson input = new ChargebackJson(null, null, null, new BigDecimal("50.00"), payment.getPaymentId(), null, null);
         final String jsonInput = mapper.writeValueAsString(input);
 
         //
@@ -76,21 +75,21 @@ public class TestChargeback extends TestJaxrsBase {
         assertEquals(response.getStatusCode(), javax.ws.rs.core.Response.Status.BAD_REQUEST.getStatusCode(), response.getResponseBody());
 
         // Find the chargeback by account
-        response = doGet(JaxrsResource.ACCOUNTS_PATH   +  "/" + payment.getAccountId() +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        response = doGet(JaxrsResource.ACCOUNTS_PATH + "/" + payment.getAccountId() + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         assertEquals(response.getStatusCode(), javax.ws.rs.core.Response.Status.OK.getStatusCode());
-        ChargebackCollectionJson objFromJson = mapper.readValue(response.getResponseBody(), ChargebackCollectionJson.class);
-        assertEquals(objFromJson.getChargebacks().size(), 4);
-        for (int i = 0; i < objFromJson.getChargebacks().size(); i++) {
-            final ChargebackJson chargeBack = objFromJson.getChargebacks().get(i);
+        List<ChargebackJson> chargebacks = mapper.readValue(response.getResponseBody(), new TypeReference<List<ChargebackJson>>() {});
+        assertEquals(chargebacks.size(), 4);
+        for (int i = 0; i < chargebacks.size(); i++) {
+            final ChargebackJson chargeBack = chargebacks.get(i);
             assertTrue(chargeBack.getAmount().compareTo(input.getAmount()) == 0);
             assertEquals(chargeBack.getPaymentId(), input.getPaymentId());
         }
 
         // Find the chargeback by payment
-        response = doGet(JaxrsResource.PAYMENTS_PATH  +  "/" + payment.getPaymentId() +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        response = doGet(JaxrsResource.PAYMENTS_PATH + "/" + payment.getPaymentId() + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         assertEquals(response.getStatusCode(), javax.ws.rs.core.Response.Status.OK.getStatusCode());
-        objFromJson = mapper.readValue(response.getResponseBody(), ChargebackCollectionJson.class);
-        assertEquals(objFromJson.getChargebacks().size(), 4);
+        chargebacks = mapper.readValue(response.getResponseBody(), new TypeReference<List<ChargebackJson>>() {});
+        assertEquals(chargebacks.size(), 4);
     }
 
     @Test(groups = "slow")
@@ -112,7 +111,7 @@ public class TestChargeback extends TestJaxrsBase {
 
     @Test(groups = "slow")
     public void testInvoicePaymentDoesNotExist() throws Exception {
-        final ChargebackJson input = new ChargebackJson(new DateTime(DateTimeZone.UTC), new DateTime(DateTimeZone.UTC),
+        final ChargebackJson input = new ChargebackJson(null, new DateTime(DateTimeZone.UTC), new DateTime(DateTimeZone.UTC),
                                                         BigDecimal.TEN, UUID.randomUUID().toString(),
                                                         null, null);
         final String jsonInput = mapper.writeValueAsString(input);
@@ -124,7 +123,7 @@ public class TestChargeback extends TestJaxrsBase {
 
     @Test(groups = "slow")
     public void testBadRequest() throws Exception {
-        final ChargebackJson input = new ChargebackJson(null, null, null, null, null, null);
+        final ChargebackJson input = new ChargebackJson(null, null, null, null, null, null, null);
         final String jsonInput = mapper.writeValueAsString(input);
 
         // Try to create the chargeback
@@ -135,24 +134,23 @@ public class TestChargeback extends TestJaxrsBase {
     @Test(groups = "slow")
     public void testNoChargebackForAccount() throws Exception {
         final String accountId = UUID.randomUUID().toString();
-        final Response response = doGet(JaxrsResource.ACCOUNTS_PATH   +  "/" + accountId +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        final Response response = doGet(JaxrsResource.ACCOUNTS_PATH + "/" + accountId + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         assertEquals(response.getStatusCode(), Status.OK.getStatusCode(), response.getResponseBody());
 
-        final ChargebackCollectionJson chargebackCollectionJson = mapper.readValue(response.getResponseBody(), ChargebackCollectionJson.class);
-        Assert.assertEquals(chargebackCollectionJson.getAccountId(), accountId);
-        Assert.assertEquals(chargebackCollectionJson.getChargebacks().size(), 0);
+        final List<ChargebackJson> chargebackJson = mapper.readValue(response.getResponseBody(), new TypeReference<List<ChargebackJson>>() {});
+        Assert.assertEquals(chargebackJson.size(), 0);
     }
 
     @Test(groups = "slow")
     public void testNoChargebackForPayment() throws Exception {
         final String paymentId = UUID.randomUUID().toString();
-        final Response response = doGet(JaxrsResource.PAYMENTS_PATH   +  "/" + paymentId +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        final Response response = doGet(JaxrsResource.PAYMENTS_PATH + "/" + paymentId + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         // STEPH needs to fix that we get 200 instaed of 204 although stepping through code, i see we do return NO_CONTENT. mistery that needs to be solved!!!!
         //assertEquals(response.getStatusCode(),Status.NO_CONTENT.getStatusCode(), response.getResponseBody());
     }
 
     private void createAndVerifyChargeback(final PaymentJsonSimple payment) throws IOException {
-        final ChargebackJson input = new ChargebackJson(null, null, BigDecimal.TEN, payment.getPaymentId(), null, null);
+        final ChargebackJson input = new ChargebackJson(null, null, null, BigDecimal.TEN, payment.getPaymentId(), null, null);
         final String jsonInput = mapper.writeValueAsString(input);
 
         // Create the chargeback
@@ -166,19 +164,19 @@ public class TestChargeback extends TestJaxrsBase {
         verifySingleChargebackResponse(response, input);
 
         // Find the chargeback by account
-        response = doGet(JaxrsResource.ACCOUNTS_PATH   +  "/" + payment.getAccountId() +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        response = doGet(JaxrsResource.ACCOUNTS_PATH + "/" + payment.getAccountId() + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         verifyCollectionChargebackResponse(response, input);
 
         // Find the chargeback by payment
-        response = doGet(JaxrsResource.PAYMENTS_PATH   +  "/" + payment.getPaymentId() +  "/" +JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
+        response = doGet(JaxrsResource.PAYMENTS_PATH + "/" + payment.getPaymentId() + "/" + JaxrsResource.CHARGEBACKS, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);
         verifyCollectionChargebackResponse(response, input);
     }
 
     private void verifyCollectionChargebackResponse(final Response response, final ChargebackJson input) throws IOException {
         assertEquals(response.getStatusCode(), Status.OK.getStatusCode());
-        final ChargebackCollectionJson objFromJson = mapper.readValue(response.getResponseBody(), ChargebackCollectionJson.class);
-        assertEquals(objFromJson.getChargebacks().size(), 1);
-        final ChargebackJson chargeBack = objFromJson.getChargebacks().get(0);
+        final List<ChargebackJson> chargebackJson = mapper.readValue(response.getResponseBody(), new TypeReference<List<ChargebackJson>>() {});
+        assertEquals(chargebackJson.size(), 1);
+        final ChargebackJson chargeBack = chargebackJson.get(0);
         assertTrue(chargeBack.getAmount().compareTo(input.getAmount()) == 0);
         assertEquals(chargeBack.getPaymentId(), input.getPaymentId());
     }