killbill-memoizeit
Changes
payment/src/main/java/org/killbill/billing/payment/core/janitor/IncompletePaymentTransactionTask.java 1(+1 -0)
payment/src/main/java/org/killbill/billing/payment/core/sm/payments/ChargebackOperation.java 1(+1 -0)
payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentInfoPlugin.java 18(+10 -8)
payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java 12(+6 -6)
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 {