killbill-memoizeit

Merge remote-tracking branch 'origin/hierarchical-accounts'

1/13/2016 12:01:21 PM

Details

diff --git a/account/src/main/java/org/killbill/billing/account/api/DefaultAccount.java b/account/src/main/java/org/killbill/billing/account/api/DefaultAccount.java
index 378013e..8b21c4e 100644
--- a/account/src/main/java/org/killbill/billing/account/api/DefaultAccount.java
+++ b/account/src/main/java/org/killbill/billing/account/api/DefaultAccount.java
@@ -28,8 +28,6 @@ import org.killbill.billing.account.dao.AccountModelDao;
 import org.killbill.billing.catalog.api.Currency;
 import org.killbill.billing.entity.EntityBase;
 
-import com.sun.org.apache.xpath.internal.operations.Bool;
-
 import static org.killbill.billing.account.api.DefaultMutableAccountData.DEFAULT_BILLING_CYCLE_DAY_LOCAL;
 
 public class DefaultAccount extends EntityBase implements Account {
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
index 03851d5..d4c8a4d 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
@@ -387,7 +387,29 @@ public class TestAccount extends TestJaxrsBase {
         Assert.assertTrue(retrievedAccount.equals(childAccount));
         Assert.assertEquals(retrievedAccount.getParentAccountId(), parentAccount.getAccountId());
         Assert.assertTrue(retrievedAccount.getIsPaymentDelegatedToParent());
+    }
+
+    @Test(groups = "slow", description = "retrieve children accounts by parent account id")
+    public void testGetChildrenAccounts() throws Exception {
+
+        final Account parentAccount = createAccount();
+
+        final Account childInput = getAccount();
+        childInput.setParentAccountId(parentAccount.getAccountId());
+        childInput.setIsPaymentDelegatedToParent(true);
+        final Account childAccount = killBillClient.createAccount(childInput, createdBy, reason, comment);
+
+        final Account childInput2 = getAccount();
+        childInput2.setParentAccountId(parentAccount.getAccountId());
+        childInput2.setIsPaymentDelegatedToParent(true);
+        final Account childAccount2 = killBillClient.createAccount(childInput2, createdBy, reason, comment);
+
+        // Retrieves children accounts by parent account id
+        final Accounts childrenAccounts = killBillClient.getChildrenAccounts(parentAccount.getAccountId(), true, true);
+        Assert.assertEquals(childrenAccounts.size(), 2);
 
+        Assert.assertTrue(childrenAccounts.get(0).equals(childAccount));
+        Assert.assertTrue(childrenAccounts.get(1).equals(childAccount2));
     }
 
 }
\ No newline at end of file
diff --git a/util/src/test/java/org/killbill/billing/mock/api/MockAccountUserApi.java b/util/src/test/java/org/killbill/billing/mock/api/MockAccountUserApi.java
index f052a7f..fc586f2 100644
--- a/util/src/test/java/org/killbill/billing/mock/api/MockAccountUserApi.java
+++ b/util/src/test/java/org/killbill/billing/mock/api/MockAccountUserApi.java
@@ -22,7 +22,6 @@ import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.joda.time.DateTimeZone;
-
 import org.killbill.billing.account.api.Account;
 import org.killbill.billing.account.api.AccountApiException;
 import org.killbill.billing.account.api.AccountData;
@@ -170,7 +169,6 @@ public class MockAccountUserApi implements AccountUserApi {
 
     @Override
     public List<Account> getChildrenAccounts(final UUID uuid, final TenantContext tenantContext) throws AccountApiException {
-        // TODO implement
-        return null;
+        throw new UnsupportedOperationException();
     }
 }