Fixing AccountBalanceServiceTest. And ImdgTransactionalHazelcast.getSingleObjectByFieldValues
This commit is contained in:
parent
7a564fce21
commit
59e2b7a3b8
2 changed files with 17 additions and 15 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.spcex.clearing.balance.service;
|
package ru.spcex.clearing.balance.service;
|
||||||
|
|
||||||
|
import com.hazelcast.core.IMap;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
|
@ -12,8 +13,8 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.platform.enumeration.AccountType;
|
import ru.spcex.platform.enumeration.AccountType;
|
||||||
import ru.spcex.platform.enumeration.BalanceAccountType;
|
import ru.spcex.platform.enumeration.BalanceAccountType;
|
||||||
import ru.spcex.platform.enumeration.Status;
|
import ru.spcex.platform.enumeration.Status;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
@ -40,30 +41,32 @@ class AccountBalanceServiceTest extends AbstractServiceTest {
|
||||||
@Qualifier("hazelcastServiceTest")
|
@Qualifier("hazelcastServiceTest")
|
||||||
private ImdgProvider hazelcast;
|
private ImdgProvider hazelcast;
|
||||||
|
|
||||||
private Imdg<Company> companyImdg;
|
private IMap<Long, Company> companyMap;
|
||||||
private Imdg<Account> accountImdg;
|
private IMap<Long, Account> accountMap;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
void init() {
|
void init() {
|
||||||
companyImdg = hazelcast.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
hazelcast.waitAvailable();
|
||||||
accountImdg = hazelcast.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
ImdgHazelcast<Company> companyImdg = (ImdgHazelcast<Company>) hazelcast.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||||
|
ImdgHazelcast<Account> accountImdg = (ImdgHazelcast<Account>) hazelcast.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
|
companyMap = companyImdg.getMap();
|
||||||
|
accountMap = accountImdg.getMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void createAccountBalance() {
|
void createAccountBalance() {
|
||||||
hazelcast.waitAvailable();
|
|
||||||
Company company = new Company();
|
Company company = new Company();
|
||||||
company.setId(addresseeIdNew);
|
company.setId(addresseeIdNew);
|
||||||
company.setTradingCode("code");
|
company.setTradingCode("code");
|
||||||
company.setShortName("ShortName");
|
company.setShortName("ShortName");
|
||||||
company.setFullName("FullName");
|
company.setFullName("FullName");
|
||||||
companyImdg.insert(company);
|
companyMap.put(id, company);
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
account.setId(accountIdNew);
|
account.setId(accountIdNew);
|
||||||
account.setAccount("123456789");
|
account.setAccount("123456789");
|
||||||
account.setAccountType(AccountType.Clrn.getKey());
|
account.setAccountType(AccountType.Clrn.getKey());
|
||||||
account.setAccountStatus(Status.Active.getKey());
|
account.setAccountStatus(Status.Active.getKey());
|
||||||
accountImdg.insert(account);
|
accountMap.put(id, account);
|
||||||
|
|
||||||
AccountBalance accountBalanceNew = new AccountBalance();
|
AccountBalance accountBalanceNew = new AccountBalance();
|
||||||
accountBalanceNew.setId(id);
|
accountBalanceNew.setId(id);
|
||||||
|
|
@ -108,7 +111,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest {
|
||||||
@Test
|
@Test
|
||||||
void validatedCreateAccountBalance() {
|
void validatedCreateAccountBalance() {
|
||||||
AccountResult predictableResult;
|
AccountResult predictableResult;
|
||||||
hazelcast.waitAvailable();
|
|
||||||
predictableResult = new AccountResult(new EnumMessage(BalanceError.CompanyNotFound));
|
predictableResult = new AccountResult(new EnumMessage(BalanceError.CompanyNotFound));
|
||||||
|
|
||||||
AccountResult result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew);
|
AccountResult result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew);
|
||||||
|
|
@ -116,13 +118,13 @@ class AccountBalanceServiceTest extends AbstractServiceTest {
|
||||||
|
|
||||||
Company company = new Company();
|
Company company = new Company();
|
||||||
company.setId(addresseeIdNew);
|
company.setId(addresseeIdNew);
|
||||||
companyImdg.insert(company);
|
companyMap.put(id, company);
|
||||||
|
|
||||||
Account account = new Account();
|
Account account = new Account();
|
||||||
// account.setId(accountIdNew);
|
account.setId(accountIdNew);
|
||||||
account.setAccountType(AccountType.Clrn.getKey());
|
// account.setAccountType(AccountType.Clrn.getKey());
|
||||||
account.setAccountStatus(Status.Active.getKey());
|
account.setAccountStatus(Status.Active.getKey());
|
||||||
accountImdg.insert(account);
|
accountMap.put(id, account);
|
||||||
predictableResult = new AccountResult(new EnumMessage(BalanceError.AccountNotPresent));
|
predictableResult = new AccountResult(new EnumMessage(BalanceError.AccountNotPresent));
|
||||||
|
|
||||||
result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew);
|
result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew);
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,8 @@ public class ImdgTransactionalHazelcast<T extends SpcexObjectBase> implements Im
|
||||||
predicates[i[0]] = Predicates.equal(key, value);
|
predicates[i[0]] = Predicates.equal(key, value);
|
||||||
i[0]++;
|
i[0]++;
|
||||||
});
|
});
|
||||||
Predicate<Long, T> or = Predicates.or(predicates);
|
Predicate<Long, T> and = Predicates.and(predicates);
|
||||||
Set<Long> ids = map.keySet(or);
|
Set<Long> ids = map.keySet(and);
|
||||||
Iterator<Long> idsIterator = ids.iterator();
|
Iterator<Long> idsIterator = ids.iterator();
|
||||||
if (idsIterator.hasNext()) {
|
if (idsIterator.hasNext()) {
|
||||||
return map.get(idsIterator.next());
|
return map.get(idsIterator.next());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue