Details
diff --git a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
index b953707..253d677 100644
--- a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
+++ b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
@@ -19,7 +19,10 @@ package com.ning.billing.account.api;
import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
+
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.util.customfield.CustomizableEntityBase;
import com.ning.billing.util.tag.DefaultTag;
@@ -40,22 +43,46 @@ public class DefaultAccount extends CustomizableEntityBase implements Account {
private final String paymentProviderName;
private final BigDecimal balance;
private final DefaultTagStore tags;
+ private final DateTime createdDate;
+ private final DateTime updatedDate;
public DefaultAccount(AccountData data) {
this(UUID.randomUUID(), data.getExternalKey(), data.getEmail(), data.getName(),
data.getFirstNameLength(), data.getPhone(), data.getCurrency(), data.getBillCycleDay(),
- data.getPaymentProviderName(), BigDecimal.ZERO);
+ data.getPaymentProviderName(), BigDecimal.ZERO, null, null);
}
public DefaultAccount(UUID id, AccountData data) {
this(id, data.getExternalKey(), data.getEmail(), data.getName(),
data.getFirstNameLength(), data.getPhone(), data.getCurrency(), data.getBillCycleDay(),
- data.getPaymentProviderName(), BigDecimal.ZERO);
- }
-
- public DefaultAccount(UUID id, String externalKey, String email, String name, int firstNameLength,
- String phone, Currency currency, int billCycleDay, String paymentProviderName,
+ data.getPaymentProviderName(), BigDecimal.ZERO, null, null);
+ }
+
+ public DefaultAccount(UUID id,
+ String externalKey,
+ String email,
+ String name,
+ int firstNameLength,
+ String phone,
+ Currency currency,
+ int billCycleDay,
+ String paymentProviderName,
BigDecimal balance) {
+ this(id, externalKey, email, name, firstNameLength, phone, currency, billCycleDay, paymentProviderName, balance, null, null);
+ }
+
+ public DefaultAccount(UUID id,
+ String externalKey,
+ String email,
+ String name,
+ int firstNameLength,
+ String phone,
+ Currency currency,
+ int billCycleDay,
+ String paymentProviderName,
+ BigDecimal balance,
+ DateTime createdDate,
+ DateTime updatedDate) {
super(id);
this.externalKey = externalKey;
this.email = email;
@@ -66,6 +93,8 @@ public class DefaultAccount extends CustomizableEntityBase implements Account {
this.billCycleDay = billCycleDay;
this.paymentProviderName = paymentProviderName;
this.balance = balance;
+ this.createdDate = createdDate == null ? new DateTime(DateTimeZone.UTC) : createdDate;
+ this.updatedDate = updatedDate == null ? new DateTime(DateTimeZone.UTC) : updatedDate;
this.tags = new DefaultTagStore(id, getObjectName());
}
@@ -90,6 +119,20 @@ public class DefaultAccount extends CustomizableEntityBase implements Account {
return email;
}
+ public DefaultTagStore getTags() {
+ return tags;
+ }
+
+ @Override
+ public DateTime getCreatedDate() {
+ return createdDate;
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return updatedDate;
+ }
+
@Override
public int getFirstNameLength() {
return firstNameLength;
@@ -162,4 +205,10 @@ public class DefaultAccount extends CustomizableEntityBase implements Account {
public BigDecimal getBalance() {
return balance;
}
+
+ @Override
+ public String toString() {
+ return "DefaultAccount [externalKey=" + externalKey + ", email=" + email + ", name=" + name + ", firstNameLength=" + firstNameLength + ", phone=" + phone + ", currency=" + currency + ", billCycleDay=" + billCycleDay + ", paymentProviderName=" + paymentProviderName + ", balance=" + balance + ", tags=" + tags + ", createdDate=" + createdDate + ", updatedDate=" + updatedDate + "]";
+ }
+
}
\ No newline at end of file
diff --git a/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java b/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
index e05e967..c2866f7 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/AccountBuilder.java
@@ -16,14 +16,16 @@
package com.ning.billing.account.api.user;
-import com.ning.billing.account.api.DefaultAccount;
-import com.ning.billing.catalog.api.Currency;
-
import java.math.BigDecimal;
import java.util.UUID;
+import org.joda.time.DateTime;
+
+import com.ning.billing.account.api.DefaultAccount;
+import com.ning.billing.catalog.api.Currency;
+
public class AccountBuilder {
- private UUID id;
+ private final UUID id;
private String externalKey;
private String email;
private String name;
@@ -33,6 +35,8 @@ public class AccountBuilder {
private int billingCycleDay;
private String paymentProviderName;
private BigDecimal balance;
+ private DateTime createdDate;
+ private DateTime updatedDate;
public AccountBuilder() {
this(UUID.randomUUID());
@@ -87,8 +91,19 @@ public class AccountBuilder {
return this;
}
+ public AccountBuilder createdDate(DateTime createdDate) {
+ this.createdDate = createdDate;
+ return this;
+ }
+
+ public AccountBuilder updatedDate(DateTime updatedDate) {
+ this.updatedDate = updatedDate;
+ return this;
+ }
+
public DefaultAccount build() {
return new DefaultAccount(id, externalKey, email, name, firstNameLength,
- phone, currency, billingCycleDay, paymentProviderName, balance);
+ phone, currency, billingCycleDay, paymentProviderName,
+ balance, createdDate, updatedDate);
}
}
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
index 21122e2..978872c 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
@@ -16,12 +16,19 @@
package com.ning.billing.account.dao;
-import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.account.api.user.AccountBuilder;
-import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.UuidMapper;
-import com.ning.billing.util.entity.EntityDao;
+import java.lang.annotation.Annotation;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Date;
+import java.util.UUID;
+
+import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import org.skife.jdbi.v2.SQLStatement;
import org.skife.jdbi.v2.StatementContext;
import org.skife.jdbi.v2.sqlobject.Bind;
@@ -36,15 +43,11 @@ import org.skife.jdbi.v2.sqlobject.mixins.Transmogrifier;
import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTemplate3;
import org.skife.jdbi.v2.tweak.ResultSetMapper;
-import java.lang.annotation.Annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.math.BigDecimal;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.UUID;
+import com.ning.billing.account.api.Account;
+import com.ning.billing.account.api.user.AccountBuilder;
+import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.util.UuidMapper;
+import com.ning.billing.util.entity.EntityDao;
@ExternalizedSqlViaStringTemplate3
@RegisterMapper({UuidMapper.class, AccountSqlDao.AccountMapper.class})
@@ -64,8 +67,15 @@ public interface AccountSqlDao extends EntityDao<Account>, Transactional<Account
public void update(@AccountBinder Account account);
public static class AccountMapper implements ResultSetMapper<Account> {
+
+ private DateTime getDate(ResultSet rs, String fieldName) throws SQLException {
+ final Timestamp resultStamp = rs.getTimestamp(fieldName);
+ return rs.wasNull() ? null : new DateTime(resultStamp).toDateTime(DateTimeZone.UTC);
+ }
+
@Override
public Account map(int index, ResultSet result, StatementContext context) throws SQLException {
+
UUID id = UUID.fromString(result.getString("id"));
String externalKey = result.getString("external_key");
String email = result.getString("email");
@@ -76,12 +86,16 @@ public interface AccountSqlDao extends EntityDao<Account>, Transactional<Account
String currencyString = result.getString("currency");
Currency currency = (currencyString == null) ? null : Currency.valueOf(currencyString);
String paymentProviderName = result.getString("payment_provider_name");
+ DateTime createdDate = getDate(result, "created_dt");
+ DateTime updatedDate = getDate(result, "updated_dt");
return new AccountBuilder(id).externalKey(externalKey).email(email)
.name(name).firstNameLength(firstNameLength)
.phone(phone).currency(currency)
.billingCycleDay(billingCycleDay)
.paymentProviderName(paymentProviderName)
+ .createdDate(createdDate)
+ .updatedDate(updatedDate)
.build();
}
}
@@ -91,8 +105,14 @@ public interface AccountSqlDao extends EntityDao<Account>, Transactional<Account
@Target({ElementType.PARAMETER})
public @interface AccountBinder {
public static class AccountBinderFactory implements BinderFactory {
+ @Override
public Binder build(Annotation annotation) {
return new Binder<AccountBinder, Account>() {
+ private Date getDate(DateTime dateTime) {
+ return dateTime == null ? null : dateTime.toDate();
+ }
+
+ @Override
public void bind(SQLStatement q, AccountBinder bind, Account account) {
q.bind("id", account.getId().toString());
q.bind("externalKey", account.getExternalKey());
@@ -104,6 +124,8 @@ public interface AccountSqlDao extends EntityDao<Account>, Transactional<Account
q.bind("currency", (currency == null) ? null : currency.toString());
q.bind("billingCycleDay", account.getBillCycleDay());
q.bind("paymentProviderName", account.getPaymentProviderName());
+ q.bind("createdDate", getDate(account.getCreatedDate()));
+ q.bind("updatedDate", getDate(account.getUpdatedDate()));
}
};
}
diff --git a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
index 7c0e76e..412bcbf 100644
--- a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
+++ b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
@@ -1,45 +1,62 @@
group AccountDaoSql;
+accountFields(prefix) ::= <<
+ <prefix>id,
+ <prefix>external_key,
+ <prefix>email,
+ <prefix>name,
+ <prefix>first_name_length,
+ <prefix>phone,
+ <prefix>currency,
+ <prefix>billing_cycle_day,
+ <prefix>payment_provider_name,
+ <prefix>created_dt,
+ <prefix>updated_dt
+>>
+
+
create() ::= <<
- INSERT INTO accounts
- (id, external_key, email, name, first_name_length, phone, currency, billing_cycle_day, payment_provider_name)
- VALUES
- (:id, :externalKey, :email, :name, :firstNameLength, :phone, :currency, :billingCycleDay, :paymentProviderName);
+ INSERT INTO accounts (<accountFields()>)
+ VALUES (:id, :externalKey, :email, :name, :firstNameLength, :phone, :currency, :billingCycleDay, :paymentProviderName, :createdDate, :updatedDate);
>>
update() ::= <<
UPDATE accounts
- SET email = :email, name = :name, first_name_length = :firstNameLength, phone = :phone,
- currency = :currency, billing_cycle_day = :billingCycleDay, payment_provider_name = :paymentProviderName
+ SET email = :email,
+ name = :name,
+ first_name_length = :firstNameLength,
+ phone = :phone,
+ currency = :currency,
+ billing_cycle_day = :billingCycleDay,
+ payment_provider_name = :paymentProviderName,
+ updated_dt = NOW()
WHERE id = :id;
>>
getAccountByKey() ::= <<
- select id, external_key, email, name, first_name_length, phone, currency, billing_cycle_day, payment_provider_name
+ select <accountFields()>
from accounts
where external_key = :externalKey;
>>
getById() ::= <<
- select
- a.id, a.external_key, a.email, a.name, a.first_name_length,
- a.phone, a.currency, a.billing_cycle_day, a.payment_provider_name
- from accounts a
- where a.id = :id;
+ SELECT <accountFields()>
+ FROM accounts
+ WHERE id = :id;
>>
get() ::= <<
- select id, external_key, email, name, first_name_length, phone, currency, billing_cycle_day, payment_provider_name
- from accounts;
+ SELECT <accountFields()>
+ FROM accounts;
>>
getIdFromKey() ::= <<
- select id
- from accounts
- where external_key = :externalKey;
+ SELECT id
+ FROM accounts
+ WHERE external_key = :externalKey;
>>
test() ::= <<
- select 1 from accounts;
+ SELECT 1 FROM accounts;
>>
;
\ No newline at end of file
diff --git a/account/src/main/resources/com/ning/billing/account/ddl.sql b/account/src/main/resources/com/ning/billing/account/ddl.sql
index ccfed72..fff193e 100644
--- a/account/src/main/resources/com/ning/billing/account/ddl.sql
+++ b/account/src/main/resources/com/ning/billing/account/ddl.sql
@@ -9,6 +9,8 @@ CREATE TABLE accounts (
currency char(3) DEFAULT NULL,
billing_cycle_day int DEFAULT NULL,
payment_provider_name varchar(20) DEFAULT NULL,
+ created_dt datetime,
+ updated_dt datetime,
PRIMARY KEY(id)
) ENGINE=innodb;
CREATE UNIQUE INDEX accounts_external_key ON accounts(external_key);
diff --git a/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
index a4b0b98..40a57b9 100644
--- a/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/TestSimpleAccountDao.java
@@ -16,26 +16,29 @@
package com.ning.billing.account.dao;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
import java.util.UUID;
+
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import org.testng.annotations.Test;
+
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
import com.ning.billing.account.api.AccountData;
import com.ning.billing.account.api.DefaultAccount;
-import com.ning.billing.util.tag.DefaultTagDescription;
-import com.ning.billing.util.tag.Tag;
-import com.ning.billing.util.tag.TagDescription;
import com.ning.billing.account.api.user.AccountBuilder;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.util.clock.DefaultClock;
+import com.ning.billing.util.tag.DefaultTagDescription;
+import com.ning.billing.util.tag.Tag;
+import com.ning.billing.util.tag.TagDescription;
import com.ning.billing.util.tag.dao.TagDescriptionDao;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
@Test(groups = {"account-dao"})
public class TestSimpleAccountDao extends AccountDaoTestBase {
private final String key = "test1234";
@@ -48,10 +51,19 @@ public class TestSimpleAccountDao extends AccountDaoTestBase {
String thisEmail = email + " " + UUID.randomUUID();
String name = firstName + " " + lastName;
String phone = "123-456-7890";
+ DateTime createdDate = new DateTime(DateTimeZone.UTC);
+ DateTime updatedDate = new DateTime(DateTimeZone.UTC);
int firstNameLength = firstName.length();
- return new AccountBuilder().externalKey(thisKey).name(name).phone(phone).firstNameLength(firstNameLength)
- .email(thisEmail).currency(Currency.USD).build();
+ return new AccountBuilder().externalKey(thisKey)
+ .name(name)
+ .phone(phone)
+ .firstNameLength(firstNameLength)
+ .email(thisEmail)
+ .currency(Currency.USD)
+ .createdDate(createdDate)
+ .updatedDate(updatedDate)
+ .build();
}
public void testBasic() {
@@ -151,34 +163,51 @@ public class TestSimpleAccountDao extends AccountDaoTestBase {
public String getExternalKey() {
return account.getExternalKey();
}
+
@Override
public String getName() {
return "Jane Doe";
}
+
@Override
public int getFirstNameLength() {
return 4;
}
+
@Override
public String getEmail() {
return account.getEmail();
}
+
@Override
public String getPhone() {
return account.getPhone();
}
+
@Override
public int getBillCycleDay() {
return account.getBillCycleDay();
}
+
@Override
public Currency getCurrency() {
return account.getCurrency();
}
+
@Override
public String getPaymentProviderName() {
return account.getPaymentProviderName();
}
+
+ @Override
+ public DateTime getCreatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
};
Account updatedAccount = new DefaultAccount(account.getId(), accountData);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
index 3b38c8c..6fdfe50 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
@@ -16,14 +16,16 @@
package com.ning.billing.analytics;
-import sun.reflect.generics.reflectiveObjects.NotImplementedException;
-
import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
+
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
+
import com.ning.billing.account.api.Account;
-import com.ning.billing.account.api.AccountData;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.tag.Tag;
@@ -167,4 +169,14 @@ public class MockAccount implements Account
public BigDecimal getBalance() {
return BigDecimal.ZERO;
}
+
+ @Override
+ public DateTime getCreatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
}
diff --git a/api/src/main/java/com/ning/billing/account/api/AccountData.java b/api/src/main/java/com/ning/billing/account/api/AccountData.java
index 9b8f399..98bc595 100644
--- a/api/src/main/java/com/ning/billing/account/api/AccountData.java
+++ b/api/src/main/java/com/ning/billing/account/api/AccountData.java
@@ -16,8 +16,9 @@
package com.ning.billing.account.api;
+import org.joda.time.DateTime;
+
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.entity.Entity;
public interface AccountData {
@@ -36,4 +37,9 @@ public interface AccountData {
public Currency getCurrency();
public String getPaymentProviderName();
+
+ public DateTime getCreatedDate();
+
+ public DateTime getUpdatedDate();
+
}
diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
index ed4e671..f24b703 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
@@ -32,8 +32,4 @@ public interface InvoiceUserApi {
public void notifyOfPaymentAttempt(InvoicePayment invoicePayment);
-// public void paymentAttemptFailed(UUID invoiceId, UUID paymentId, DateTime paymentAttemptDate);
-//
-// public void paymentAttemptSuccessful(UUID invoiceId, BigDecimal amount, Currency currency,
-// UUID paymentId, DateTime paymentDate);
}
diff --git a/api/src/main/java/com/ning/billing/payment/api/CreditCardPaymentMethodInfo.java b/api/src/main/java/com/ning/billing/payment/api/CreditCardPaymentMethodInfo.java
index 2071982..75a4ab2 100644
--- a/api/src/main/java/com/ning/billing/payment/api/CreditCardPaymentMethodInfo.java
+++ b/api/src/main/java/com/ning/billing/payment/api/CreditCardPaymentMethodInfo.java
@@ -69,7 +69,7 @@ public final class CreditCardPaymentMethodInfo extends PaymentMethodInfo {
String cardType,
String expirationDate,
String maskNumber) {
- super(id, accountId, defaultMethod, "creditCard");
+ super(id, accountId, defaultMethod, "CreditCard");
this.cardHolderName = cardHolderName;
this.cardType = cardType;
this.expirationDate = expirationDate;
diff --git a/api/src/main/java/com/ning/billing/payment/api/PaypalPaymentMethodInfo.java b/api/src/main/java/com/ning/billing/payment/api/PaypalPaymentMethodInfo.java
index 702d672..65c36e9 100644
--- a/api/src/main/java/com/ning/billing/payment/api/PaypalPaymentMethodInfo.java
+++ b/api/src/main/java/com/ning/billing/payment/api/PaypalPaymentMethodInfo.java
@@ -55,7 +55,7 @@ public final class PaypalPaymentMethodInfo extends PaymentMethodInfo {
Boolean defaultMethod,
String baid,
String email) {
- super(id, accountId, defaultMethod, "paypal");
+ super(id, accountId, defaultMethod, "PayPal");
if (Strings.isNullOrEmpty(accountId) || Strings.isNullOrEmpty(baid) || Strings.isNullOrEmpty(email)) {
throw new IllegalArgumentException("accountId, baid and email should be present");
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
index cc08699..da35883 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import com.ning.billing.account.api.Account;
import com.ning.billing.catalog.api.Currency;
@@ -148,7 +149,17 @@ public class BrainDeadAccount implements Account {
@Override
public void addFields(List<CustomField> fields) {
throw new UnsupportedOperationException();
-
+
}
+ @Override
+ public DateTime getCreatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
+
}
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
index 7f8e88a..d24d61a 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/TestApiBase.java
@@ -16,12 +16,18 @@
package com.ning.billing.entitlement.api;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
import java.io.IOException;
-import java.lang.reflect.Method;
import java.net.URL;
import java.util.List;
import java.util.UUID;
+
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -29,6 +35,7 @@ import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
+
import com.google.inject.Injector;
import com.ning.billing.account.api.AccountData;
import com.ning.billing.catalog.DefaultCatalogService;
@@ -43,7 +50,6 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.catalog.api.TimeUnit;
import com.ning.billing.config.EntitlementConfig;
import com.ning.billing.entitlement.api.ApiTestListener.NextEvent;
-import com.ning.billing.entitlement.api.EntitlementService;
import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
import com.ning.billing.entitlement.api.migration.EntitlementMigrationApi;
import com.ning.billing.entitlement.api.user.EntitlementUserApi;
@@ -64,11 +70,6 @@ import com.ning.billing.util.clock.ClockMock;
import com.ning.billing.util.eventbus.DefaultEventBusService;
import com.ning.billing.util.eventbus.EventBusService;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
public abstract class TestApiBase {
@@ -290,26 +291,41 @@ public abstract class TestApiBase {
public String getEmail() {
return "accountName@yahoo.com";
}
+
@Override
public String getPhone() {
return "4152876341";
}
+
@Override
public String getExternalKey() {
return "k123456";
}
+
@Override
public int getBillCycleDay() {
return 1;
}
+
@Override
public Currency getCurrency() {
return Currency.USD;
}
+
@Override
public String getPaymentProviderName() {
return "Paypal";
}
+
+ @Override
+ public DateTime getCreatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
+
+ @Override
+ public DateTime getUpdatedDate() {
+ return new DateTime(DateTimeZone.UTC);
+ }
};
return accountData;
}