killbill-memoizeit

payment: Modify MockPaymentProviderPluginProvider to set

10/14/2015 2:47:43 PM

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/core/janitor/IncompletePaymentTransactionTask.java b/payment/src/main/java/org/killbill/billing/payment/core/janitor/IncompletePaymentTransactionTask.java
index 8133904..15dc191 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/janitor/IncompletePaymentTransactionTask.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/janitor/IncompletePaymentTransactionTask.java
@@ -112,6 +112,7 @@ public class IncompletePaymentTransactionTask extends CompletionTaskBase<Payment
                                                                                                                   rehydratedPaymentTransaction.getCreatedDate(),
                                                                                                                   rehydratedPaymentTransaction.getCreatedDate(),
                                                                                                                   PaymentPluginStatus.UNDEFINED,
+                                                                                                                  null,
                                                                                                                   null);
                 PaymentTransactionInfoPlugin paymentTransactionInfoPlugin;
                 try {
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/ChargebackOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/ChargebackOperation.java
index 7193ab1..a2993a6 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/ChargebackOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/ChargebackOperation.java
@@ -80,6 +80,7 @@ public class ChargebackOperation extends PaymentOperation {
                                                 null,
                                                 null,
                                                 status,
+                                                null,
                                                 null);
     }
 }
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/PaymentOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/PaymentOperation.java
index 7d31cbb..c39facf 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/PaymentOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/payments/PaymentOperation.java
@@ -121,6 +121,7 @@ public abstract class PaymentOperation extends OperationCallbackBase<PaymentTran
                                                                                                 paymentStateContext.getCallContext().getCreatedDate(),
                                                                                                 paymentStateContext.getCallContext().getCreatedDate(),
                                                                                                 PaymentPluginStatus.UNDEFINED,
+                                                                                                null,
                                                                                                 null);
         paymentStateContext.setPaymentTransactionInfoPlugin(paymentInfoPlugin);
         return new OperationException(e, OperationResult.EXCEPTION);
@@ -199,6 +200,7 @@ public abstract class PaymentOperation extends OperationCallbackBase<PaymentTran
                                                                                                         paymentStateContext.getPaymentTransactionModelDao().getEffectiveDate(),
                                                                                                         paymentStateContext.getPaymentTransactionModelDao().getCreatedDate(),
                                                                                                         buildPaymentPluginStatusFromOperationResult(paymentStateContext.getOverridePluginOperationResult()),
+                                                                                                        null,
                                                                                                         null);
                 paymentStateContext.setPaymentTransactionInfoPlugin(paymentInfoPlugin);
                 return paymentStateContext.getOverridePluginOperationResult();
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentInfoPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentInfoPlugin.java
index e2b187d..2b3ade2 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentInfoPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentInfoPlugin.java
@@ -37,12 +37,13 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
     private final DateTime effectiveDate;
     private final DateTime createdDate;
     private final PaymentPluginStatus status;
-    private final String error;
+    private final String gatewayError;
+    private final String gatewayErrorCode;
     private final Currency currency;
     private final TransactionType transactionType;
 
     public DefaultNoOpPaymentInfoPlugin(final UUID kbPaymentId, final UUID kbTransactionPaymentId, final TransactionType transactionType, final BigDecimal amount, final Currency currency, final DateTime effectiveDate,
-                                        final DateTime createdDate, final PaymentPluginStatus status, final String error) {
+                                        final DateTime createdDate, final PaymentPluginStatus status, final String gatewayErrorCode, final String gatewayError) {
         this.kbPaymentId = kbPaymentId;
         this.kbTransactionPaymentId = kbTransactionPaymentId;
         this.transactionType = transactionType;
@@ -50,7 +51,8 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
         this.effectiveDate = effectiveDate;
         this.createdDate = createdDate;
         this.status = status;
-        this.error = error;
+        this.gatewayErrorCode = gatewayErrorCode;
+        this.gatewayError = gatewayError;
         this.currency = currency;
     }
 
@@ -96,12 +98,12 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
 
     @Override
     public String getGatewayError() {
-        return error;
+        return gatewayError;
     }
 
     @Override
     public String getGatewayErrorCode() {
-        return null;
+        return gatewayErrorCode;
     }
 
     @Override
@@ -127,7 +129,7 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
         sb.append(", effectiveDate=").append(effectiveDate);
         sb.append(", createdDate=").append(createdDate);
         sb.append(", status=").append(status);
-        sb.append(", error='").append(error).append('\'');
+        sb.append(", error='").append(gatewayError).append('\'');
         sb.append(", currency=").append(currency);
         sb.append('}');
         return sb.toString();
@@ -156,7 +158,7 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
         if (effectiveDate != null ? effectiveDate.compareTo(that.effectiveDate) != 0 : that.effectiveDate != null) {
             return false;
         }
-        if (error != null ? !error.equals(that.error) : that.error != null) {
+        if (gatewayError != null ? !gatewayError.equals(that.gatewayError) : that.gatewayError != null) {
             return false;
         }
         if (transactionType != null ? !transactionType.equals(that.transactionType) : that.transactionType != null) {
@@ -184,7 +186,7 @@ public class DefaultNoOpPaymentInfoPlugin implements PaymentTransactionInfoPlugi
         result = 31 * result + (transactionType != null ? transactionType.hashCode() : 0);
         result = 31 * result + (createdDate != null ? createdDate.hashCode() : 0);
         result = 31 * result + (status != null ? status.hashCode() : 0);
-        result = 31 * result + (error != null ? error.hashCode() : 0);
+        result = 31 * result + (gatewayError != null ? gatewayError.hashCode() : 0);
         result = 31 * result + (currency != null ? currency.hashCode() : 0);
         return result;
     }
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
index 840defd..33f1e30 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
@@ -60,27 +60,27 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
 
     @Override
     public PaymentTransactionInfoPlugin authorizePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext callContext) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.AUTHORIZE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.AUTHORIZE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
     public PaymentTransactionInfoPlugin capturePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext callContext) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.CAPTURE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.CAPTURE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
     public PaymentTransactionInfoPlugin purchasePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
     public PaymentTransactionInfoPlugin voidPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final Iterable<PluginProperty> properties, final CallContext callContext) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.VOID, BigDecimal.ZERO, null, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.VOID, BigDecimal.ZERO, null, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
     public PaymentTransactionInfoPlugin creditPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext callContext) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.CREDIT, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.CREDIT, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
@@ -95,7 +95,7 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
 
     @Override
     public PaymentTransactionInfoPlugin refundPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
-        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.REFUND, refundAmount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
+        return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.REFUND, refundAmount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null, null);
     }
 
     @Override
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
index 102097d..f3f94e7 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
@@ -56,6 +56,9 @@ import com.google.inject.Inject;
  */
 public class MockPaymentProviderPlugin implements PaymentPluginApi {
 
+    public static final String GATEWAY_ERROR_CODE = "gatewayErrorCode";
+    public static final String GATEWAY_ERROR = "gatewayError";
+
     public static final String PLUGIN_PROPERTY_PAYMENT_PLUGIN_STATUS_OVERRIDE = "paymentPluginStatusOverride";
 
     public static final String PLUGIN_NAME = "__NO_OP__";
@@ -351,6 +354,8 @@ public class MockPaymentProviderPlugin implements PaymentPluginApi {
         } else {
             status = (makeAllInvoicesFailWithError.get() || makeNextInvoiceFailWithError.getAndSet(false)) ? PaymentPluginStatus.ERROR : PaymentPluginStatus.PROCESSED;
         }
+        final String errorCode = status == PaymentPluginStatus.PROCESSED ? "" : GATEWAY_ERROR_CODE;
+        final String error = status == PaymentPluginStatus.PROCESSED ? "" : GATEWAY_ERROR;
 
         InternalPaymentInfo info = payments.get(kbPaymentId.toString());
         if (info == null) {
@@ -358,7 +363,7 @@ public class MockPaymentProviderPlugin implements PaymentPluginApi {
             payments.put(kbPaymentId.toString(), info);
         }
 
-        final PaymentTransactionInfoPlugin result = new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, type, amount, currency, clock.getUTCNow(), clock.getUTCNow(), status, null);
+        final PaymentTransactionInfoPlugin result = new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, type, amount, currency, clock.getUTCNow(), clock.getUTCNow(), status, errorCode, error);
         List<PaymentTransactionInfoPlugin> existingTransactions = paymentTransactions.get(kbPaymentId.toString());
         if (existingTransactions == null) {
             existingTransactions = new ArrayList<PaymentTransactionInfoPlugin>();
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/TestDefaultNoOpPaymentInfoPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/TestDefaultNoOpPaymentInfoPlugin.java
index c4efb54..e0a40d7 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/TestDefaultNoOpPaymentInfoPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/TestDefaultNoOpPaymentInfoPlugin.java
@@ -41,15 +41,15 @@ public class TestDefaultNoOpPaymentInfoPlugin extends PaymentTestSuiteNoDB {
         final String error = UUID.randomUUID().toString();
 
         final DefaultNoOpPaymentInfoPlugin info = new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, Currency.USD, effectiveDate, createdDate,
-                                                                                   status, error);
+                                                                                   status, error, null);
         Assert.assertEquals(info, info);
 
         final DefaultNoOpPaymentInfoPlugin sameInfo = new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, Currency.USD, effectiveDate, createdDate,
-                                                                                       status, error);
+                                                                                       status, error, null);
         Assert.assertEquals(sameInfo, info);
 
         final DefaultNoOpPaymentInfoPlugin otherInfo = new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, Currency.USD, effectiveDate, createdDate,
-                                                                                        status, UUID.randomUUID().toString());
+                                                                                        status, UUID.randomUUID().toString(), null);
         Assert.assertNotEquals(otherInfo, info);
     }
 }
diff --git a/payment/src/test/java/org/killbill/billing/payment/TestJanitor.java b/payment/src/test/java/org/killbill/billing/payment/TestJanitor.java
index e99ccaa..d81caa8 100644
--- a/payment/src/test/java/org/killbill/billing/payment/TestJanitor.java
+++ b/payment/src/test/java/org/killbill/billing/payment/TestJanitor.java
@@ -416,7 +416,7 @@ public class TestJanitor extends PaymentTestSuiteWithEmbeddedDB {
         // Artificially move the transaction status to PENDING AND update state on the plugin as well
         final List<PaymentTransactionInfoPlugin> paymentTransactions = mockPaymentProviderPlugin.getPaymentInfo(account.getId(), payment.getId(), ImmutableList.<PluginProperty>of(), callContext);
         final PaymentTransactionInfoPlugin oTx = paymentTransactions.remove(0);
-        final PaymentTransactionInfoPlugin updatePaymentTransaction = new DefaultNoOpPaymentInfoPlugin(oTx.getKbPaymentId(), oTx.getKbTransactionPaymentId(), oTx.getTransactionType(), oTx.getAmount(), oTx.getCurrency(), oTx.getCreatedDate(), oTx.getCreatedDate(), PaymentPluginStatus.PENDING, null);
+        final PaymentTransactionInfoPlugin updatePaymentTransaction = new DefaultNoOpPaymentInfoPlugin(oTx.getKbPaymentId(), oTx.getKbTransactionPaymentId(), oTx.getTransactionType(), oTx.getAmount(), oTx.getCurrency(), oTx.getCreatedDate(), oTx.getCreatedDate(), PaymentPluginStatus.PENDING, null, null);
         paymentTransactions.add(updatePaymentTransaction);
         mockPaymentProviderPlugin.updatePaymentTransactions(payment.getId(), paymentTransactions);
 
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPayment.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPayment.java
index 22a5996..09d899a 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPayment.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPayment.java
@@ -32,18 +32,51 @@ import org.killbill.billing.client.model.PaymentMethodPluginDetail;
 import org.killbill.billing.client.model.PaymentTransaction;
 import org.killbill.billing.client.model.Payments;
 import org.killbill.billing.client.model.PluginProperty;
+import org.killbill.billing.osgi.api.OSGIServiceRegistration;
 import org.killbill.billing.payment.api.TransactionType;
+import org.killbill.billing.payment.plugin.api.PaymentPluginApi;
 import org.killbill.billing.payment.plugin.api.PaymentPluginStatus;
 import org.killbill.billing.payment.provider.MockPaymentProviderPlugin;
 import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
+import com.google.inject.Inject;
+
+import static org.testng.Assert.assertEquals;
 
 public class TestPayment extends TestJaxrsBase {
 
+    @Inject
+    protected OSGIServiceRegistration<PaymentPluginApi> registry;
+
+    private MockPaymentProviderPlugin mockPaymentProviderPlugin;
+
+    @BeforeMethod(groups = "slow")
+    public void beforeMethod() throws Exception {
+        super.beforeMethod();
+        mockPaymentProviderPlugin = (MockPaymentProviderPlugin) registry.getServiceForName(PLUGIN_NAME);
+        mockPaymentProviderPlugin.clear();
+    }
+
+    @Test(groups = "slow")
+    public void testWithFailedPayment() throws Exception {
+        final Account account = createAccountWithDefaultPaymentMethod();
+
+        mockPaymentProviderPlugin.makeNextPaymentFailWithError();
+
+        final PaymentTransaction authTransaction = new PaymentTransaction();
+        authTransaction.setAmount(BigDecimal.ONE);
+        authTransaction.setCurrency(account.getCurrency());
+        authTransaction.setTransactionType(TransactionType.AUTHORIZE.name());
+        final Payment payment = killBillClient.createPayment(account.getAccountId(), account.getPaymentMethodId(), authTransaction, ImmutableMap.<String, String>of(), createdBy, reason, comment);
+        assertEquals(payment.getTransactions().get(0).getGatewayErrorCode(), MockPaymentProviderPlugin.GATEWAY_ERROR_CODE);
+        assertEquals(payment.getTransactions().get(0).getGatewayErrorMsg(), MockPaymentProviderPlugin.GATEWAY_ERROR);
+    }
+
     @Test(groups = "slow")
     public void testCreateRetrievePayment() throws Exception {
         final Account account = createAccountWithDefaultPaymentMethod();
@@ -133,7 +166,7 @@ public class TestPayment extends TestJaxrsBase {
             killBillClient.completePayment(completeTransactionByPaymentId, pluginProperties, createdBy, reason, comment);
             Assert.fail();
         } catch (final KillBillClientException e) {
-            Assert.assertEquals(e.getMessage(), "PaymentTransactionJson transactionType and externalKey need to be set");
+            assertEquals(e.getMessage(), "PaymentTransactionJson transactionType and externalKey need to be set");
         }
 
         // We cannot complete using just the payment external key as JAX-RS doesn't know which transaction to complete
@@ -143,7 +176,7 @@ public class TestPayment extends TestJaxrsBase {
             killBillClient.completePayment(completeTransactionByPaymentExternalKey, pluginProperties, createdBy, reason, comment);
             Assert.fail();
         } catch (final KillBillClientException e) {
-            Assert.assertEquals(e.getMessage(), "PaymentTransactionJson transactionType and externalKey need to be set");
+            assertEquals(e.getMessage(), "PaymentTransactionJson transactionType and externalKey need to be set");
         }
 
         // Finally, it should work if we specify the payment id and transaction external key
@@ -290,15 +323,15 @@ public class TestPayment extends TestJaxrsBase {
                                     final int nbTransactions,
                                     final int paymentNb) throws KillBillClientException {
         Assert.assertNotNull(payment.getPaymentNumber());
-        Assert.assertEquals(payment.getPaymentExternalKey(), paymentExternalKey);
-        Assert.assertEquals(payment.getAuthAmount().compareTo(authAmount), 0);
-        Assert.assertEquals(payment.getCapturedAmount().compareTo(capturedAmount), 0);
-        Assert.assertEquals(payment.getRefundedAmount().compareTo(refundedAmount), 0);
-        Assert.assertEquals(payment.getTransactions().size(), nbTransactions);
+        assertEquals(payment.getPaymentExternalKey(), paymentExternalKey);
+        assertEquals(payment.getAuthAmount().compareTo(authAmount), 0);
+        assertEquals(payment.getCapturedAmount().compareTo(capturedAmount), 0);
+        assertEquals(payment.getRefundedAmount().compareTo(refundedAmount), 0);
+        assertEquals(payment.getTransactions().size(), nbTransactions);
 
         final Payments Payments = killBillClient.getPayments();
-        Assert.assertEquals(Payments.size(), paymentNb);
-        Assert.assertEquals(Payments.get(paymentNb - 1), payment);
+        assertEquals(Payments.size(), paymentNb);
+        assertEquals(Payments.get(paymentNb - 1), payment);
     }
 
     private void verifyPayment(final Account account,
@@ -327,27 +360,27 @@ public class TestPayment extends TestJaxrsBase {
                                             final BigDecimal refundedAmount,
                                             final int nbTransactions,
                                             final int paymentNb) throws KillBillClientException {
-        Assert.assertEquals(payment.getAccountId(), account.getAccountId());
-        Assert.assertEquals(payment.getPaymentMethodId(), MoreObjects.firstNonNull(paymentMethodId, account.getPaymentMethodId()));
+        assertEquals(payment.getAccountId(), account.getAccountId());
+        assertEquals(payment.getPaymentMethodId(), MoreObjects.firstNonNull(paymentMethodId, account.getPaymentMethodId()));
         Assert.assertNotNull(payment.getPaymentId());
         Assert.assertNotNull(payment.getPaymentNumber());
-        Assert.assertEquals(payment.getPaymentExternalKey(), paymentExternalKey);
-        Assert.assertEquals(payment.getAuthAmount().compareTo(authAmount), 0);
-        Assert.assertEquals(payment.getCapturedAmount().compareTo(capturedAmount), 0);
-        Assert.assertEquals(payment.getRefundedAmount().compareTo(refundedAmount), 0);
-        Assert.assertEquals(payment.getCurrency(), account.getCurrency());
-        Assert.assertEquals(payment.getTransactions().size(), nbTransactions);
+        assertEquals(payment.getPaymentExternalKey(), paymentExternalKey);
+        assertEquals(payment.getAuthAmount().compareTo(authAmount), 0);
+        assertEquals(payment.getCapturedAmount().compareTo(capturedAmount), 0);
+        assertEquals(payment.getRefundedAmount().compareTo(refundedAmount), 0);
+        assertEquals(payment.getCurrency(), account.getCurrency());
+        assertEquals(payment.getTransactions().size(), nbTransactions);
 
         final Payments Payments = killBillClient.getPayments();
-        Assert.assertEquals(Payments.size(), paymentNb);
-        Assert.assertEquals(Payments.get(paymentNb - 1), payment);
+        assertEquals(Payments.size(), paymentNb);
+        assertEquals(Payments.get(paymentNb - 1), payment);
 
         final Payment retrievedPayment = killBillClient.getPayment(payment.getPaymentId());
-        Assert.assertEquals(retrievedPayment, payment);
+        assertEquals(retrievedPayment, payment);
 
         final Payments paymentsForAccount = killBillClient.getPaymentsForAccount(account.getAccountId());
-        Assert.assertEquals(paymentsForAccount.size(), paymentNb);
-        Assert.assertEquals(paymentsForAccount.get(paymentNb - 1), payment);
+        assertEquals(paymentsForAccount.size(), paymentNb);
+        assertEquals(paymentsForAccount.get(paymentNb - 1), payment);
     }
 
     private void verifyPaymentTransaction(final Account account,
@@ -358,19 +391,19 @@ public class TestPayment extends TestJaxrsBase {
                                           @Nullable final BigDecimal amount,
                                           final String transactionType,
                                           final String transactionStatus) {
-        Assert.assertEquals(paymentTransaction.getPaymentId(), paymentId);
+        assertEquals(paymentTransaction.getPaymentId(), paymentId);
         Assert.assertNotNull(paymentTransaction.getTransactionId());
-        Assert.assertEquals(paymentTransaction.getTransactionType(), transactionType);
-        Assert.assertEquals(paymentTransaction.getStatus(), transactionStatus);
+        assertEquals(paymentTransaction.getTransactionType(), transactionType);
+        assertEquals(paymentTransaction.getStatus(), transactionStatus);
         if (amount == null) {
             Assert.assertNull(paymentTransaction.getAmount());
             Assert.assertNull(paymentTransaction.getCurrency());
         } else {
-            Assert.assertEquals(paymentTransaction.getAmount().compareTo(amount), 0);
-            Assert.assertEquals(paymentTransaction.getCurrency(), account.getCurrency());
+            assertEquals(paymentTransaction.getAmount().compareTo(amount), 0);
+            assertEquals(paymentTransaction.getCurrency(), account.getCurrency());
         }
-        Assert.assertEquals(paymentTransaction.getTransactionExternalKey(), transactionExternalKey);
-        Assert.assertEquals(paymentTransaction.getPaymentExternalKey(), paymentExternalKey);
+        assertEquals(paymentTransaction.getTransactionExternalKey(), transactionExternalKey);
+        assertEquals(paymentTransaction.getPaymentExternalKey(), paymentExternalKey);
     }
 
     private void verifyPaymentWithPendingRefund(final Account account, final UUID paymentMethodId, final String paymentExternalKey, final String authTransactionExternalKey, final BigDecimal purchaseAmount, final String refundTransactionExternalKey, final Payment refundPayment) throws KillBillClientException {