public Account createAccount(final CallContext callContext) throws AccountApiException {
final Account accountData = new MockAccountBuilder().name(UUID.randomUUID().toString().substring(1, 8))
.firstNameLength(6)
.email(UUID.randomUUID().toString().substring(1, 8))
.phone(UUID.randomUUID().toString().substring(1, 8))
.migrated(false)
.externalKey(UUID.randomUUID().toString().substring(1, 8))
.billingCycleDayLocal(31)
.currency(accountCurrency)
.paymentMethodId(UUID.randomUUID())
.timeZone(DateTimeZone.UTC)
.createdDate(clock.getUTCNow())
.build();
final MutableCallContext mutableCallContext = new MutableCallContext(internalCallContext);
final Account account;
if (isFastTest()) {
account = GuicyKillbillTestSuiteNoDB.createMockAccount(accountData, accountUserApi, accountApi, immutableAccountApi, nonEntityDao, clock, internalCallContextFactory, mutableCallContext, internalCallContext);
} else {
account = accountUserApi.createAccount(accountData, callContext);
}
GuicyKillbillTestSuite.refreshCallContext(account.getId(), clock, internalCallContextFactory, mutableCallContext, internalCallContext);
return account;
}