@Test(groups = "slow", description = "Test Account: basic DAO calls")
public void testBasic() throws AccountApiException {
final AccountModelDao account = createTestAccount();
accountDao.create(account, internalCallContext);
refreshCallContext(account.getId());
AccountModelDao retrievedAccount = accountDao.getAccountByKey(account.getExternalKey(), internalCallContext);
checkAccountsEqual(retrievedAccount, account);
retrievedAccount = accountDao.getById(retrievedAccount.getId(), internalCallContext);
checkAccountsEqual(retrievedAccount, account);
final Pagination<AccountModelDao> allAccounts = accountDao.getAll(internalCallContext);
final List<AccountModelDao> all = ImmutableList.<AccountModelDao>copyOf(allAccounts);
Assert.assertNotNull(all);
Assert.assertEquals(all.size(), 1);
checkAccountsEqual(all.get(0), account);
final List<AuditLog> auditLogsForAccount = auditDao.getAuditLogsForId(TableName.ACCOUNT, account.getId(), AuditLevel.FULL, internalCallContext);
Assert.assertEquals(auditLogsForAccount.size(), 1);
Assert.assertEquals(auditLogsForAccount.get(0).getChangeType(), ChangeType.INSERT);
}