killbill-aplcache
Changes
entitlement/src/test/java/org/killbill/billing/entitlement/api/TestEntitlementDateHelper.java 1(+1 -0)
entitlement/src/test/java/org/killbill/billing/entitlement/engine/core/TestEntitlementUtils.java 27(+6 -21)
Details
diff --git a/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestEntitlementDateHelper.java b/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestEntitlementDateHelper.java
index 71fa477..07ddabf 100644
--- a/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestEntitlementDateHelper.java
+++ b/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestEntitlementDateHelper.java
@@ -138,6 +138,7 @@ public class TestEntitlementDateHelper extends EntitlementTestSuiteNoDB {
accountInternalApi,
immutableAccountInternalApi,
nonEntityDao,
+ clock,
internalCallContextFactory,
callContext,
internalCallContext);
diff --git a/entitlement/src/test/java/org/killbill/billing/entitlement/engine/core/TestEntitlementUtils.java b/entitlement/src/test/java/org/killbill/billing/entitlement/engine/core/TestEntitlementUtils.java
index 5e43715..8b41884 100644
--- a/entitlement/src/test/java/org/killbill/billing/entitlement/engine/core/TestEntitlementUtils.java
+++ b/entitlement/src/test/java/org/killbill/billing/entitlement/engine/core/TestEntitlementUtils.java
@@ -26,22 +26,14 @@ import javax.annotation.Nullable;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
-import org.killbill.billing.ObjectType;
-import org.killbill.billing.entitlement.AccountEventsStreams;
-import org.killbill.billing.payment.api.PluginProperty;
-import org.killbill.billing.util.cache.Cachable.CacheType;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
import org.killbill.billing.account.api.Account;
import org.killbill.billing.api.TestApiListener.NextEvent;
-import org.killbill.billing.callcontext.InternalTenantContext;
import org.killbill.billing.catalog.api.BillingActionPolicy;
import org.killbill.billing.catalog.api.BillingPeriod;
import org.killbill.billing.catalog.api.PlanPhaseSpecifier;
import org.killbill.billing.catalog.api.PriceListSet;
import org.killbill.billing.catalog.api.ProductCategory;
+import org.killbill.billing.entitlement.AccountEventsStreams;
import org.killbill.billing.entitlement.EntitlementService;
import org.killbill.billing.entitlement.EntitlementTestSuiteWithEmbeddedDB;
import org.killbill.billing.entitlement.EventsStream;
@@ -52,7 +44,10 @@ import org.killbill.billing.entitlement.api.DefaultEntitlementApi;
import org.killbill.billing.entitlement.api.Entitlement;
import org.killbill.billing.entitlement.api.Entitlement.EntitlementActionPolicy;
import org.killbill.billing.entitlement.api.EntitlementApiException;
-import org.killbill.billing.entitlement.dao.BlockingStateSqlDao;
+import org.killbill.billing.payment.api.PluginProperty;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
import com.google.common.base.Objects;
import com.google.common.base.Predicate;
@@ -61,8 +56,6 @@ import com.google.common.collect.Iterables;
public class TestEntitlementUtils extends EntitlementTestSuiteWithEmbeddedDB {
- private BlockingStateSqlDao sqlDao;
- private Account account;
private DefaultEntitlement baseEntitlement;
private DefaultEntitlement addOnEntitlement;
// Dates for the base plan only
@@ -73,10 +66,8 @@ public class TestEntitlementUtils extends EntitlementTestSuiteWithEmbeddedDB {
@BeforeMethod(groups = "slow")
public void setUp() throws Exception {
- sqlDao = dbi.onDemand(BlockingStateSqlDao.class);
-
clock.setDay(initialDate);
- account = createAccount(getAccountData(7));
+ final Account account = createAccount(getAccountData(7));
testListener.pushExpectedEvents(NextEvent.CREATE, NextEvent.CREATE);
@@ -452,7 +443,6 @@ public class TestEntitlementUtils extends EntitlementTestSuiteWithEmbeddedDB {
}
private Collection<BlockingState> computeFutureBlockingStatesForAssociatedAddonsViaAccount(final DefaultEntitlement baseEntitlement) throws EntitlementApiException {
- setContextAccountRecordId();
final AccountEventsStreams accountEventsStreams = eventsStreamBuilder.buildForAccount(internalCallContext);
final EventsStream eventsStream = Iterables.<EventsStream>find(Iterables.<EventsStream>concat(accountEventsStreams.getEventsStreams().values()),
@@ -471,7 +461,6 @@ public class TestEntitlementUtils extends EntitlementTestSuiteWithEmbeddedDB {
}
private Collection<BlockingState> computeBlockingStatesForAssociatedAddonsViaAccount(final DefaultEntitlement baseEntitlement, final DateTime effectiveDate) throws EntitlementApiException {
- setContextAccountRecordId();
final AccountEventsStreams accountEventsStreams = eventsStreamBuilder.buildForAccount(internalCallContext);
final EventsStream eventsStream = Iterables.<EventsStream>find(Iterables.<EventsStream>concat(accountEventsStreams.getEventsStreams().values()),
@@ -493,8 +482,4 @@ public class TestEntitlementUtils extends EntitlementTestSuiteWithEmbeddedDB {
}
}));
}
-
- private void setContextAccountRecordId() {
- internalCallContext.setAccountRecordId(nonEntityDao.retrieveRecordIdFromObject(account.getId(), ObjectType.ACCOUNT, controlCacheDispatcher.getCacheController(CacheType.RECORD_ID)));
- }
}
diff --git a/invoice/src/test/java/org/killbill/billing/invoice/TestInvoiceHelper.java b/invoice/src/test/java/org/killbill/billing/invoice/TestInvoiceHelper.java
index 973d658..ae351c7 100644
--- a/invoice/src/test/java/org/killbill/billing/invoice/TestInvoiceHelper.java
+++ b/invoice/src/test/java/org/killbill/billing/invoice/TestInvoiceHelper.java
@@ -258,12 +258,12 @@ public class TestInvoiceHelper {
final Account account;
if (isFastTest()) {
- account = GuicyKillbillTestSuiteNoDB.createMockAccount(accountData, accountUserApi, accountApi, immutableAccountApi, nonEntityDao, internalCallContextFactory, callContext, internalCallContext);
+ account = GuicyKillbillTestSuiteNoDB.createMockAccount(accountData, accountUserApi, accountApi, immutableAccountApi, nonEntityDao, clock, internalCallContextFactory, callContext, internalCallContext);
} else {
account = accountUserApi.createAccount(accountData, callContext);
}
- GuicyKillbillTestSuite.refreshCallContext(account.getId(), internalCallContextFactory, callContext, internalCallContext);
+ GuicyKillbillTestSuite.refreshCallContext(account.getId(), clock, internalCallContextFactory, callContext, internalCallContext);
return account;
}
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestPaymentLeavingStateCallback.java b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestPaymentLeavingStateCallback.java
index 106c179..1ef93cc 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/sm/TestPaymentLeavingStateCallback.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/sm/TestPaymentLeavingStateCallback.java
@@ -121,8 +121,6 @@ public class TestPaymentLeavingStateCallback extends PaymentTestSuiteWithEmbedde
transactions.get(0).getId(), TransactionStatus.SUCCESS, BigDecimal.ONE, Currency.BRL,
"foo", "bar", internalCallContext);
- internalCallContext.setAccountRecordId(123L);
-
paymentStateContext = new PaymentStateContext(true,
paymentId,
null,
diff --git a/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java b/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
index ac1860e..5b56ec4 100644
--- a/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
+++ b/payment/src/test/java/org/killbill/billing/payment/dao/TestDefaultPaymentDao.java
@@ -21,7 +21,7 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
-import org.joda.time.DateTimeZone;
+import org.killbill.billing.account.api.Account;
import org.killbill.billing.callcontext.InternalCallContext;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.payment.PaymentTestSuiteWithEmbeddedDB;
@@ -37,13 +37,13 @@ public class TestDefaultPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
@Test(groups = "slow")
public void testPaymentCRUD() throws Exception {
for (int i = 0; i < 3; i++) {
- testPaymentCRUDForAccount(UUID.randomUUID(), i + 1);
+ testPaymentCRUDForAccount();
}
}
- public void testPaymentCRUDForAccount(final UUID accountId, final int accountNb) {
- // We need to create specific call contexts to make the account_record_id magic work
- internalCallContext.setAccountRecordId((long) accountNb);
+ public void testPaymentCRUDForAccount() throws Exception {
+ final Account account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+ final UUID accountId = account.getId();
final PaymentModelDao specifiedFirstPaymentModelDao = generatePaymentModelDao(accountId);
final PaymentTransactionModelDao specifiedFirstPaymentTransactionModelDao = generatePaymentTransactionModelDao(specifiedFirstPaymentModelDao.getId());
diff --git a/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java b/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
index d75b656..8bc6634 100644
--- a/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
+++ b/payment/src/test/java/org/killbill/billing/payment/dao/TestPaymentDao.java
@@ -25,18 +25,16 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.killbill.billing.callcontext.InternalCallContext;
+import org.killbill.billing.account.api.Account;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.payment.PaymentTestSuiteWithEmbeddedDB;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionStatus;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.payment.dao.PluginPropertySerializer.PluginPropertySerializerException;
-import org.killbill.billing.util.callcontext.CallOrigin;
-import org.killbill.billing.util.callcontext.InternalCallContextFactory;
-import org.killbill.billing.util.callcontext.UserType;
import org.killbill.billing.util.entity.Pagination;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -60,8 +58,6 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
final TransactionType transactionType = TransactionType.AUTHORIZE;
final String pluginName = "superPlugin";
- final UUID accountId = UUID.randomUUID();
-
final List<PluginProperty> properties = new ArrayList<PluginProperty>();
properties.add(new PluginProperty("key1", "value1", false));
properties.add(new PluginProperty("key2", "value2", false));
@@ -315,9 +311,8 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
// Just to guarantee that next clock.getUTCNow() > newTime
try {
Thread.sleep(1000);
- } catch (InterruptedException e) {
+ } catch (final InterruptedException e) {
}
- ;
final Iterable<PaymentTransactionModelDao> transactions2 = paymentDao.getByTransactionStatusAcrossTenants(ImmutableList.of(TransactionStatus.PENDING), clock.getUTCNow(), initialTime, 0L, 1L);
for (PaymentTransactionModelDao paymentTransaction : transactions2) {
@@ -333,10 +328,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
}
@Test(groups = "slow")
- public void testPaymentByStatesAcrossTenants() {
-
- final UUID paymentMethodId = UUID.randomUUID();
- final UUID accountId = UUID.randomUUID();
+ public void testPaymentByStatesAcrossTenants() throws Exception {
final String externalKey1 = "XXhhhhooo1";
final String transactionExternalKey1 = "transactionXX1";
@@ -357,72 +349,72 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
// Right before createdAfterDate, so should not be returned
final DateTime createdDate1 = createdAfterDate.minusHours(1);
- final PaymentModelDao paymentModelDao1 = new PaymentModelDao(createdDate1, createdDate1, accountId, paymentMethodId, externalKey1);
+ clock.setTime(createdDate1);
+ Account account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentModelDao paymentModelDao1 = new PaymentModelDao(createdDate1, createdDate1, account.getId(), account.getPaymentMethodId(), externalKey1);
paymentModelDao1.setStateName("AUTH_ERRORED");
final PaymentTransactionModelDao transaction1 = new PaymentTransactionModelDao(createdDate1, createdDate1, null, transactionExternalKey1,
paymentModelDao1.getId(), TransactionType.AUTHORIZE, createdDate1,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(1L);
- internalCallContext.setCreatedDate(createdDate1);
- internalCallContext.setUpdatedDate(createdDate1);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao1, transaction1, internalCallContext);
// Right after createdAfterDate, so it should be returned
final DateTime createdDate2 = createdAfterDate.plusHours(1);
- final PaymentModelDao paymentModelDao2 = new PaymentModelDao(createdDate2, createdDate2, accountId, paymentMethodId, externalKey2);
+ clock.setTime(createdDate2);
+ account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentModelDao paymentModelDao2 = new PaymentModelDao(createdDate2, createdDate2, account.getId(), account.getPaymentMethodId(), externalKey2);
paymentModelDao2.setStateName("CAPTURE_ERRORED");
final PaymentTransactionModelDao transaction2 = new PaymentTransactionModelDao(createdDate2, createdDate2, null, transactionExternalKey2,
paymentModelDao2.getId(), TransactionType.AUTHORIZE, createdDate2,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(2L);
- internalCallContext.setCreatedDate(createdDate2);
- internalCallContext.setUpdatedDate(createdDate2);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao2, transaction2, internalCallContext);
// Right before createdBeforeDate, so it should be returned
final DateTime createdDate3 = createdBeforeDate.minusDays(1);
- final PaymentModelDao paymentModelDao3 = new PaymentModelDao(createdDate3, createdDate3, accountId, paymentMethodId, externalKey3);
+ clock.setTime(createdDate3);
+ account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentModelDao paymentModelDao3 = new PaymentModelDao(createdDate3, createdDate3, account.getId(), account.getPaymentMethodId(), externalKey3);
paymentModelDao3.setStateName("CAPTURE_ERRORED");
final PaymentTransactionModelDao transaction3 = new PaymentTransactionModelDao(createdDate3, createdDate3, null, transactionExternalKey3,
paymentModelDao3.getId(), TransactionType.AUTHORIZE, createdDate3,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(3L);
- internalCallContext.setCreatedDate(createdDate3);
- internalCallContext.setUpdatedDate(createdDate3);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao3, transaction3, internalCallContext);
// Right before createdBeforeDate but with a SUCCESS state so it should NOT be returned
final DateTime createdDate4 = createdBeforeDate.minusDays(1);
- final PaymentModelDao paymentModelDao4 = new PaymentModelDao(createdDate4, createdDate4, accountId, paymentMethodId, externalKey4);
+ clock.setTime(createdDate4);
+ account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentModelDao paymentModelDao4 = new PaymentModelDao(createdDate4, createdDate4, account.getId(), account.getPaymentMethodId(), externalKey4);
paymentModelDao4.setStateName("CAPTURE_SUCCESS");
final PaymentTransactionModelDao transaction4 = new PaymentTransactionModelDao(createdDate4, createdDate4, null, transactionExternalKey4,
paymentModelDao4.getId(), TransactionType.AUTHORIZE, createdDate4,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(4L);
- internalCallContext.setCreatedDate(createdDate4);
- internalCallContext.setUpdatedDate(createdDate4);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao4, transaction4, internalCallContext);
// Right after createdBeforeDate, so it should NOT be returned
final DateTime createdDate5 = createdBeforeDate.plusDays(1);
- final PaymentModelDao paymentModelDao5 = new PaymentModelDao(createdDate5, createdDate5, accountId, paymentMethodId, externalKey5);
+ clock.setTime(createdDate5);
+ account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentModelDao paymentModelDao5 = new PaymentModelDao(createdDate5, createdDate5, account.getId(), account.getPaymentMethodId(), externalKey5);
paymentModelDao5.setStateName("CAPTURE_ERRORED");
final PaymentTransactionModelDao transaction5 = new PaymentTransactionModelDao(createdDate5, createdDate5, null, transactionExternalKey5,
paymentModelDao5.getId(), TransactionType.AUTHORIZE, createdDate5,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(5L);
- internalCallContext.setCreatedDate(createdDate5);
- internalCallContext.setUpdatedDate(createdDate5);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao5, transaction5, internalCallContext);
final String[] errorStates = {"AUTH_ERRORED", "CAPTURE_ERRORED", "REFUND_ERRORED", "CREDIT_ERRORED"};
@@ -431,25 +423,26 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
}
@Test(groups = "slow")
- public void testPaginationForPaymentByStatesAcrossTenants() {
- // Right before createdAfterDate, so should not be returned
+ public void testPaginationForPaymentByStatesAcrossTenants() throws Exception {
final DateTime createdDate1 = clock.getUTCNow().minusHours(1);
+ clock.setTime(createdDate1);
+
+ final Account account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
final int NB_ENTRIES = 30;
for (int i = 0; i < NB_ENTRIES; i++) {
- final PaymentModelDao paymentModelDao1 = new PaymentModelDao(createdDate1, createdDate1, UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID().toString());
+ final PaymentModelDao paymentModelDao1 = new PaymentModelDao(createdDate1, createdDate1, account.getId(), account.getPaymentMethodId(), UUID.randomUUID().toString());
final PaymentTransactionModelDao transaction1 = new PaymentTransactionModelDao(createdDate1, createdDate1, null, UUID.randomUUID().toString(),
paymentModelDao1.getId(), TransactionType.AUTHORIZE, createdDate1,
TransactionStatus.UNKNOWN, BigDecimal.TEN, Currency.AED,
"unknown", "");
- internalCallContext.setAccountRecordId(1L);
- internalCallContext.setCreatedDate(createdDate1);
- internalCallContext.setUpdatedDate(createdDate1);
paymentDao.insertPaymentWithFirstTransaction(paymentModelDao1, transaction1, internalCallContext);
}
- final Pagination<PaymentTransactionModelDao> result = paymentDao.getByTransactionStatusAcrossTenants(ImmutableList.of(TransactionStatus.UNKNOWN), clock.getUTCNow(), createdDate1, 0L, new Long(NB_ENTRIES));
+ clock.setTime(createdDate1.plusHours(1));
+
+ final Pagination<PaymentTransactionModelDao> result = paymentDao.getByTransactionStatusAcrossTenants(ImmutableList.of(TransactionStatus.UNKNOWN), clock.getUTCNow(), createdDate1, 0L, (long) NB_ENTRIES);
Assert.assertEquals(result.getTotalNbRecords(), new Long(NB_ENTRIES));
final Iterator<PaymentTransactionModelDao> iterator = result.iterator();
@@ -461,10 +454,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
}
@Test(groups = "slow")
- public void testPaymentAttemptsByStateAcrossTenants() {
-
- final UUID paymentMethodId = UUID.randomUUID();
- final UUID accountId = UUID.randomUUID();
+ public void testPaymentAttemptsByStateAcrossTenants() throws Exception {
final String externalKey1 = "gfhfg";
final String transactionExternalKey1 = "sadas";
@@ -477,42 +467,41 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
final String stateName = "FOO";
final String pluginName = "miraculous";
- final PaymentAttemptModelDao attempt1 = new PaymentAttemptModelDao(accountId, paymentMethodId, createdAfterDate, createdAfterDate, externalKey1,
+ clock.setTime(createdAfterDate);
+ Account account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentAttemptModelDao attempt1 = new PaymentAttemptModelDao(account.getId(), account.getPaymentMethodId(), createdAfterDate, createdAfterDate, externalKey1,
UUID.randomUUID(), transactionExternalKey1, TransactionType.AUTHORIZE, stateName, BigDecimal.ONE, Currency.USD,
ImmutableList.<String>of(pluginName), null);
- final PaymentAttemptModelDao attempt2 = new PaymentAttemptModelDao(accountId, paymentMethodId, createdAfterDate, createdAfterDate, externalKey2,
+ paymentDao.insertPaymentAttemptWithProperties(attempt1, internalCallContext);
+
+ account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
+
+ final PaymentAttemptModelDao attempt2 = new PaymentAttemptModelDao(account.getId(), account.getPaymentMethodId(), createdAfterDate, createdAfterDate, externalKey2,
UUID.randomUUID(), transactionExternalKey2, TransactionType.AUTHORIZE, stateName, BigDecimal.ONE, Currency.USD,
ImmutableList.<String>of(pluginName), null);
- internalCallContext.setAccountRecordId(1L);
- internalCallContext.setCreatedDate(createdAfterDate);
- internalCallContext.setUpdatedDate(createdAfterDate);
- paymentDao.insertPaymentAttemptWithProperties(attempt1, internalCallContext);
-
- internalCallContext.setAccountRecordId(2L);
- internalCallContext.setCreatedDate(createdAfterDate);
- internalCallContext.setUpdatedDate(createdAfterDate);
- paymentDao.insertPaymentAttemptWithProperties(attempt2, internalCallContext);
+ paymentDao.insertPaymentAttemptWithProperties(attempt2, internalCallContext);
final Pagination<PaymentAttemptModelDao> result = paymentDao.getPaymentAttemptsByStateAcrossTenants(stateName, createdBeforeDate, 0L, 2L);
Assert.assertEquals(result.getTotalNbRecords().longValue(), 2L);
}
@Test(groups = "slow")
- public void testUpdatePaymentAttempt() throws PluginPropertySerializerException {
+ public void testUpdatePaymentAttempt() throws Exception {
+ final DateTime createdAfterDate = clock.getUTCNow().minusDays(10);
+ clock.setTime(createdAfterDate);
+
+ final Account account = testHelper.createTestAccount(UUID.randomUUID().toString(), true);
- final UUID paymentMethodId = UUID.randomUUID();
- final UUID accountId = UUID.randomUUID();
final String externalKey1 = "2354";
final String transactionExternalKey1 = "jkjkjk";
- final DateTime createdAfterDate = clock.getUTCNow().minusDays(10);
-
final String stateName = "RRRRR";
final String pluginName = "elated";
- final PaymentAttemptModelDao attempt = new PaymentAttemptModelDao(accountId, paymentMethodId, createdAfterDate, createdAfterDate, externalKey1,
+ final PaymentAttemptModelDao attempt = new PaymentAttemptModelDao(account.getId(), account.getPaymentMethodId(), createdAfterDate, createdAfterDate, externalKey1,
UUID.randomUUID(), transactionExternalKey1, TransactionType.AUTHORIZE, stateName, BigDecimal.ONE, Currency.USD,
ImmutableList.<String>of(pluginName), null);
@@ -530,7 +519,6 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
properties.add(new PluginProperty("prop1", "value1", false));
properties.add(new PluginProperty("prop2", "value2", false));
-
final byte [] serializedProperties = PluginPropertySerializer.serialize(properties);
paymentDao.updatePaymentAttemptWithProperties(rehydratedAttempt.getId(), transactionId, newStateName, serializedProperties, internalCallContext);
final PaymentAttemptModelDao attempt2 = paymentDao.getPaymentAttempt(rehydratedAttempt.getId(), internalCallContext);
@@ -540,7 +528,6 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
final Iterable<PluginProperty> properties2 = PluginPropertySerializer.deserialize(attempt2.getPluginProperties());
checkProperty(properties2, new PluginProperty("prop1", "value1", false));
checkProperty(properties2, new PluginProperty("prop2", "value2", false));
-
}
private void checkProperty(final Iterable<PluginProperty> properties, final PluginProperty expected) {
diff --git a/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java b/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
index e52d7a3..0c47d84 100644
--- a/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
+++ b/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
@@ -148,12 +148,12 @@ public class TestPaymentHelper {
Account account;
if (isFastTest()) {
- account = GuicyKillbillTestSuiteNoDB.createMockAccount(accountData, accountApi, accountInternalApi, immutableAccountInternalApi, nonEntityDao, internalCallContextFactory, context, internalCallContext);
+ account = GuicyKillbillTestSuiteNoDB.createMockAccount(accountData, accountApi, accountInternalApi, immutableAccountInternalApi, nonEntityDao, clock, internalCallContextFactory, context, internalCallContext);
} else {
account = accountApi.createAccount(accountData, context);
}
- GuicyKillbillTestSuite.refreshCallContext(account.getId(), internalCallContextFactory, context, internalCallContext);
+ GuicyKillbillTestSuite.refreshCallContext(account.getId(), clock, internalCallContextFactory, context, internalCallContext);
if (addPaymentMethod) {
final PaymentMethodPlugin pm = new DefaultNoOpPaymentMethodPlugin(UUID.randomUUID().toString(), true, null);
diff --git a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuite.java b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuite.java
index 2e9b743..badf00a 100644
--- a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuite.java
+++ b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuite.java
@@ -30,6 +30,7 @@ import org.killbill.billing.platform.test.config.TestKillbillConfigSource;
import org.killbill.billing.util.callcontext.CallContext;
import org.killbill.billing.util.callcontext.InternalCallContextFactory;
import org.killbill.billing.util.callcontext.TenantContext;
+import org.killbill.clock.Clock;
import org.killbill.clock.ClockMock;
import org.skife.config.ConfigSource;
import org.slf4j.Logger;
@@ -103,6 +104,7 @@ public class GuicyKillbillTestSuite {
}
public static void refreshCallContext(final UUID accountId,
+ final Clock clock,
final InternalCallContextFactory internalCallContextFactory,
final TenantContext callContext,
final MutableInternalCallContext internalCallContext) {
@@ -110,10 +112,12 @@ public class GuicyKillbillTestSuite {
internalCallContext.setAccountRecordId(tmp.getAccountRecordId());
internalCallContext.setFixedOffsetTimeZone(tmp.getFixedOffsetTimeZone());
internalCallContext.setReferenceTime(tmp.getReferenceTime());
+ internalCallContext.setCreatedDate(clock.getUTCNow());
+ internalCallContext.setUpdatedDate(clock.getUTCNow());
}
protected void refreshCallContext(final UUID accountId) {
- refreshCallContext(accountId, internalCallContextFactory, callContext, internalCallContext);
+ refreshCallContext(accountId, clock, internalCallContextFactory, callContext, internalCallContext);
}
@BeforeMethod(alwaysRun = true)
diff --git a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteNoDB.java b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteNoDB.java
index 0abf3c0..cc2e479 100644
--- a/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteNoDB.java
+++ b/util/src/test/java/org/killbill/billing/GuicyKillbillTestSuiteNoDB.java
@@ -29,6 +29,7 @@ import org.killbill.billing.dao.MockNonEntityDao;
import org.killbill.billing.util.callcontext.CallContext;
import org.killbill.billing.util.callcontext.InternalCallContextFactory;
import org.killbill.billing.util.dao.NonEntityDao;
+import org.killbill.clock.Clock;
import org.mockito.Mockito;
public class GuicyKillbillTestSuiteNoDB extends GuicyKillbillTestSuite {
@@ -38,6 +39,7 @@ public class GuicyKillbillTestSuiteNoDB extends GuicyKillbillTestSuite {
final AccountInternalApi accountInternalApi,
final ImmutableAccountInternalApi immutableAccountInternalApi,
final NonEntityDao nonEntityDao,
+ final Clock clock,
final InternalCallContextFactory internalCallContextFactory,
final CallContext callContext,
final MutableInternalCallContext internalCallContext) throws AccountApiException {
@@ -51,7 +53,7 @@ public class GuicyKillbillTestSuiteNoDB extends GuicyKillbillTestSuite {
((MockNonEntityDao) nonEntityDao).addTenantRecordIdMapping(account.getId(), internalCallContext);
((MockNonEntityDao) nonEntityDao).addAccountRecordIdMapping(account.getId(), internalCallContext);
- refreshCallContext(account.getId(), internalCallContextFactory, callContext, internalCallContext);
+ refreshCallContext(account.getId(), clock, internalCallContextFactory, callContext, internalCallContext);
return account;
}