From 59e2b7a3b8f7b60ab9100e888cc0e577510b92bb Mon Sep 17 00:00:00 2001 From: psemenkov Date: Wed, 14 Dec 2022 14:24:12 +0300 Subject: [PATCH] Fixing AccountBalanceServiceTest. And ImdgTransactionalHazelcast.getSingleObjectByFieldValues --- .../service/AccountBalanceServiceTest.java | 28 ++++++++++--------- .../adapter/ImdgTransactionalHazelcast.java | 4 +-- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java index 31a79fe58..abb8f40d4 100644 --- a/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java +++ b/clearing-parent/balance-service/src/test/java/ru/spcex/clearing/balance/service/AccountBalanceServiceTest.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.balance.service; +import com.hazelcast.core.IMap; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; 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.BalanceAccountType; 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.iml.hazelcast.adapter.ImdgHazelcast; import ru.spcex.platform.utils.enumeration.EnumMessage; import javax.annotation.PostConstruct; @@ -40,30 +41,32 @@ class AccountBalanceServiceTest extends AbstractServiceTest { @Qualifier("hazelcastServiceTest") private ImdgProvider hazelcast; - private Imdg companyImdg; - private Imdg accountImdg; + private IMap companyMap; + private IMap accountMap; @PostConstruct void init() { - companyImdg = hazelcast.getImdg(IMDGDistributedNames.Map_Company, Company.class); - accountImdg = hazelcast.getImdg(IMDGDistributedNames.Map_Account, Account.class); + hazelcast.waitAvailable(); + ImdgHazelcast companyImdg = (ImdgHazelcast) hazelcast.getImdg(IMDGDistributedNames.Map_Company, Company.class); + ImdgHazelcast accountImdg = (ImdgHazelcast) hazelcast.getImdg(IMDGDistributedNames.Map_Account, Account.class); + companyMap = companyImdg.getMap(); + accountMap = accountImdg.getMap(); } @Test void createAccountBalance() { - hazelcast.waitAvailable(); Company company = new Company(); company.setId(addresseeIdNew); company.setTradingCode("code"); company.setShortName("ShortName"); company.setFullName("FullName"); - companyImdg.insert(company); + companyMap.put(id, company); Account account = new Account(); account.setId(accountIdNew); account.setAccount("123456789"); account.setAccountType(AccountType.Clrn.getKey()); account.setAccountStatus(Status.Active.getKey()); - accountImdg.insert(account); + accountMap.put(id, account); AccountBalance accountBalanceNew = new AccountBalance(); accountBalanceNew.setId(id); @@ -108,7 +111,6 @@ class AccountBalanceServiceTest extends AbstractServiceTest { @Test void validatedCreateAccountBalance() { AccountResult predictableResult; - hazelcast.waitAvailable(); predictableResult = new AccountResult(new EnumMessage(BalanceError.CompanyNotFound)); AccountResult result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew); @@ -116,13 +118,13 @@ class AccountBalanceServiceTest extends AbstractServiceTest { Company company = new Company(); company.setId(addresseeIdNew); - companyImdg.insert(company); + companyMap.put(id, company); Account account = new Account(); -// account.setId(accountIdNew); - account.setAccountType(AccountType.Clrn.getKey()); + account.setId(accountIdNew); +// account.setAccountType(AccountType.Clrn.getKey()); account.setAccountStatus(Status.Active.getKey()); - accountImdg.insert(account); + accountMap.put(id, account); predictableResult = new AccountResult(new EnumMessage(BalanceError.AccountNotPresent)); result = accountBalanceService.createAccountBalance(addresseeIdNew, accountIdNew, amountNew, cashMovementCurrencyCodeNew); diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java index 5f19ae2e6..f58ef3c8b 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java @@ -79,8 +79,8 @@ public class ImdgTransactionalHazelcast implements Im predicates[i[0]] = Predicates.equal(key, value); i[0]++; }); - Predicate or = Predicates.or(predicates); - Set ids = map.keySet(or); + Predicate and = Predicates.and(predicates); + Set ids = map.keySet(and); Iterator idsIterator = ids.iterator(); if (idsIterator.hasNext()) { return map.get(idsIterator.next());