From 5aea636e352ea41bc9cf054198f631b648ce193a Mon Sep 17 00:00:00 2001 From: psemenkov Date: Fri, 7 Apr 2023 17:09:20 +0300 Subject: [PATCH 1/2] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-258=20?= =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=83=D1=82=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B2=20test-clearing.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../queue/AbstractControllerTest.java | 10 +- clearing-parent/securities-service/pom.xml | 5 + .../service/cud/CouponPeriodService.java | 3 +- .../service/AbstractServiceTest.java | 6 +- .../service/CouponPeriodServiceTest.java | 6 +- .../service/CurrencyServiceTest.java | 7 +- .../service/EquitySecurityServiceTest.java | 6 +- .../FixedIncomeCashFlowServiceTest.java | 8 +- .../FixedIncomeSecurityServiceTest.java | 6 +- .../MoneyMarketSecurityServiceTest.java | 6 +- clearing-parent/test-clearing/pom.xml | 36 ++----- .../ru/spcex/clearing}/MatcherFactory.java | 4 +- .../java/ru/spcex/clearing}/TestUtils.java | 29 +++++- ...yImdg.java => MatcherFactoryWithJson.java} | 12 +-- .../ru/spcex/clearing/imdg/TestUtils.java | 95 ------------------- 15 files changed, 76 insertions(+), 163 deletions(-) rename clearing-parent/{securities-service/src/test/java/ru/spcex/clearing/securities/utils => test-clearing/src/main/java/ru/spcex/clearing}/MatcherFactory.java (96%) rename clearing-parent/{securities-service/src/test/java/ru/spcex/clearing/securities/utils => test-clearing/src/main/java/ru/spcex/clearing}/TestUtils.java (75%) rename clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/{MatcherFactoryImdg.java => MatcherFactoryWithJson.java} (84%) delete mode 100644 clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index d210e7118..6e0cf32b8 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -27,6 +27,7 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.filter.CharacterEncodingFilter; import ru.clearing.classes.statics.data.user.User; +import ru.spcex.clearing.TestUtils; import ru.spcex.clearing.backendapi.controller.config.*; import ru.spcex.clearing.backendapi.controller.queue.account.AccountBalanceController; import ru.spcex.clearing.backendapi.controller.queue.account.AccountController; @@ -58,8 +59,7 @@ import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllRespo import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.MatcherFactoryImdg; -import ru.spcex.clearing.imdg.TestUtils; +import ru.spcex.clearing.imdg.MatcherFactoryWithJson; import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -82,7 +82,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static ru.spcex.clearing.imdg.JsonUtil.readValue; import static ru.spcex.clearing.imdg.JsonUtil.writeValue; -import static ru.spcex.clearing.imdg.MatcherFactoryImdg.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.imdg.MatcherFactoryWithJson.usingIgnoringFieldsComparatorForClass; @ContextConfiguration(classes = { @@ -156,8 +156,8 @@ import static ru.spcex.clearing.imdg.MatcherFactoryImdg.usingIgnoringFieldsCompa @WebMvcTest//(controllers = DeleteCompanyController.class) //@TestPropertySource(properties = "spring.config.location=D:/repo/mfd/clearing/clearing-parent/backend-api/src/main/resources/") public abstract class AbstractControllerTest { - protected static final MatcherFactoryImdg.Matcher BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(BaseRequest.class); - protected static final MatcherFactoryImdg.Matcher CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparator(CudResponse.class); + protected static final MatcherFactoryWithJson.Matcher BASE_REQUEST_MATCHER = usingIgnoringFieldsComparatorForClass(BaseRequest.class); + protected static final MatcherFactoryWithJson.Matcher CUD_RESPONSE_MATCHER = usingIgnoringFieldsComparatorForClass(CudResponse.class); protected static final AtomicLong currentId = new AtomicLong(); private static final CharacterEncodingFilter CHARACTER_ENCODING_FILTER = new CharacterEncodingFilter(); diff --git a/clearing-parent/securities-service/pom.xml b/clearing-parent/securities-service/pom.xml index e838f0eec..29185becc 100644 --- a/clearing-parent/securities-service/pom.xml +++ b/clearing-parent/securities-service/pom.xml @@ -45,6 +45,11 @@ jackson-databind + + ru.spcex.clearing + test-clearing + test + org.springframework.boot spring-boot-starter-test diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java index d99d1e678..cae5e69ab 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java @@ -18,7 +18,6 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.securities.validation.ValidationProvider; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; -import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -45,7 +44,7 @@ public class CouponPeriodService extends QueueConsumer implements InitializingBe this.couponPeriodImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CouponPeriod, CouponPeriod.class); this.imdgProvider = imdgProvider; this.idGenerator = imdgProvider.getImdgIdGenerator(); - this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); + this.userRoleVerification = userRoleVerification; this.validationHelper = validationHelper; } diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java index e83f7f6cd..98547e2bb 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java @@ -18,6 +18,8 @@ import ru.clearing.classes.statics.data.misc.Currency; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; import ru.clearing.platform.dictionary.*; +import ru.spcex.clearing.MatcherFactory; +import ru.spcex.clearing.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.securities.component.ListingBuilder; import ru.spcex.clearing.securities.config.ErrorResolverConfig; @@ -25,8 +27,6 @@ import ru.spcex.clearing.securities.config.ImdgTestConfig; import ru.spcex.clearing.securities.config.KafkaTestConfig; import ru.spcex.clearing.securities.config.ValidationConfig; import ru.spcex.clearing.securities.service.cud.*; -import ru.spcex.clearing.securities.utils.MatcherFactory; -import ru.spcex.clearing.securities.utils.TestUtils; import ru.spcex.clearing.securities.validation.ValidationProvider; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicLong; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java index c6cc8c02b..b1d750ea4 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java @@ -4,19 +4,19 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodUpdateRequest; import ru.spcex.clearing.securities.service.cud.CouponPeriodService; -import ru.spcex.clearing.securities.utils.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; public class CouponPeriodServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher COUPON_PERIOD_MATCHER = usingIgnoringFieldsComparator(); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java index 525074512..ec5ff1721 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java @@ -4,17 +4,18 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Currency; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyUpdateRequest; import ru.spcex.clearing.securities.service.cud.CurrencyService; -import ru.spcex.clearing.securities.utils.MatcherFactory; import javax.annotation.PostConstruct; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; + public class CurrencyServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher CURRENCY_MATCHER = usingIgnoringFieldsComparator(); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java index ffd9b4355..05d03bd67 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java @@ -5,20 +5,20 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.clearing.classes.statics.data.misc.Listing; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityUpdateRequest; import ru.spcex.clearing.securities.service.cud.EquitySecurityService; -import ru.spcex.clearing.securities.utils.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.util.Map; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; public class EquitySecurityServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher EQUITY_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java index 18214b4a2..7f7ee673d 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java @@ -13,6 +13,7 @@ import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowNewRequest; @@ -23,7 +24,6 @@ import ru.spcex.clearing.securities.config.KafkaTestConfig; import ru.spcex.clearing.securities.config.ValidationConfig; import ru.spcex.clearing.securities.config.validation.FixedIncomeCashFlowValidationConfig; import ru.spcex.clearing.securities.service.cud.FixedIncomeCashFlowService; -import ru.spcex.clearing.securities.utils.MatcherFactory.Matcher; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -31,9 +31,9 @@ import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; import static ru.spcex.clearing.securities.config.ImdgTestConfig.currentID; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { @@ -44,7 +44,7 @@ import static ru.spcex.clearing.securities.utils.TestUtils.*; KafkaTestConfig.class, ImdgTestConfig.class}) class FixedIncomeCashFlowServiceTest { - public static final Matcher FIXED_INCOME_CASH_FLOW_MATCHER = usingIgnoringFieldsComparator(); + public static final MatcherFactory.Matcher FIXED_INCOME_CASH_FLOW_MATCHER = usingIgnoringFieldsComparator(); private static final String TOPIC_FIXED_INCOME_CASH_FLOW_NEW = Consts.DESTINATION_FIXED_INCOME_CASH_FLOW_NEW; private static final String TOPIC_FIXED_INCOME_CASH_FLOW_UPDATE = Consts.DESTINATION_FIXED_INCOME_CASH_FLOW_UPDATE; diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java index 818633338..8470d6a23 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java @@ -5,21 +5,21 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.misc.Listing; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityUpdateRequest; import ru.spcex.clearing.securities.service.cud.FixedIncomeSecurityService; -import ru.spcex.clearing.securities.utils.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Map; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher FIXED_INCOME_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java index e5ddda98b..e65e48a91 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java @@ -5,6 +5,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; +import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -14,15 +15,14 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSe import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.securities.service.cud.MoneyMarketSecurityService; -import ru.spcex.clearing.securities.utils.MatcherFactory; import ru.spcex.platform.imdg.api.Imdg; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.util.Map; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.securities.utils.TestUtils.*; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.TestUtils.*; public class MoneyMarketSecurityServiceTest extends AbstractServiceTest{ private static final MatcherFactory.Matcher MONEY_MARKET_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/test-clearing/pom.xml b/clearing-parent/test-clearing/pom.xml index 6cd40dfc1..cae0c252e 100644 --- a/clearing-parent/test-clearing/pom.xml +++ b/clearing-parent/test-clearing/pom.xml @@ -8,11 +8,8 @@ test-clearing Test-clearing + SPCEX-1.0.0.0 - - org.springframework.boot - spring-boot-starter-web - ru.spcex.platform platform-imdg-api @@ -21,6 +18,10 @@ ru.spcex.platform platform-messaging + + org.springframework.boot + spring-boot-starter-web + com.fasterxml.jackson.core jackson-databind @@ -28,50 +29,27 @@ org.springframework spring-test - test org.skyscreamer jsonassert - test - - - org.junit.jupiter - junit-jupiter - test org.assertj assertj-core - test org.reflections reflections 0.9.11 - - org.springframework.boot - spring-boot-test-autoconfigure - test - org.mockito mockito-core - org.springframework - spring-test - - - org.assertj - assertj-core - 3.23.1 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 + org.junit.jupiter + junit-jupiter-api - SPCEX-1.0.0.0 diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/MatcherFactory.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java similarity index 96% rename from clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/MatcherFactory.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java index 63bd29dab..bf8c58af3 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/MatcherFactory.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.securities.utils; +package ru.spcex.clearing; import java.util.Arrays; @@ -35,4 +35,4 @@ public class MatcherFactory { assertThat(actual).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(expected); } } -} \ No newline at end of file +} diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/TestUtils.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java similarity index 75% rename from clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/TestUtils.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java index c34e15531..e97deebb6 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/utils/TestUtils.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.securities.utils; +package ru.spcex.clearing; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -13,12 +13,14 @@ import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; +import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; @@ -27,8 +29,8 @@ import java.util.concurrent.TimeoutException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; +import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; import static ru.spcex.clearing.platform.messaging.service.Status.Success; -import static ru.spcex.clearing.securities.utils.MatcherFactory.usingIgnoringFieldsComparator; public class TestUtils { public static final MatcherFactory.Matcher> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(); @@ -52,6 +54,29 @@ public class TestUtils { BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); } + public static void waitingWhenTryAddRecordAndCheckError(Long id, + MockProducer mockProducer, + ArgumentCaptor producerRecord, + String errorCode, + List errorMessageArgs) { + BaseRequest predictableBaseRequest = new BaseRequest<>(); + predictableBaseRequest.setId(id); + predictableBaseRequest.setActionType(ActionType.SYSTEM); + RequestInfoUpdate requestInfoUpdate = new RequestInfoUpdate(); + requestInfoUpdate.setId(id); + requestInfoUpdate.setStatus(Status.Error); + String errorsMessage = "(%s) args [%s]".formatted(errorCode, String.join(", ", errorMessageArgs)); + requestInfoUpdate.setMessage(errorsMessage); + predictableBaseRequest.setRequestPayload(requestInfoUpdate); + + //waiting for kafka producer send message (finale event) + verify(mockProducer, timeout(30_000L).times(1)) + .send(producerRecord.capture()); + + BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); + assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); + BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); + } public static void addRecordToKafka(MockConsumer mockConsumer, String topic, int partition, long offset, String jsonValue) { TopicPartition tp = new TopicPartition(topic, partition); HashMap startOffsets = new HashMap<>(); diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java similarity index 84% rename from clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java index ac61b25cd..ae8a5bbd5 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryImdg.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java @@ -15,20 +15,20 @@ import java.util.function.BiConsumer; * Comparing actual and expected objects via AssertJ * Support converting json MvcResult to objects for comparation. */ -public class MatcherFactoryImdg { +public class MatcherFactoryWithJson { - public static Matcher usingAssertions(Class clazz, BiConsumer assertion, BiConsumer, Iterable> iterableAssertion) { + public static Matcher usingAssertionsForClass(Class clazz, BiConsumer assertion, BiConsumer, Iterable> iterableAssertion) { return new Matcher<>(clazz, assertion, iterableAssertion); } - public static Matcher usingEqualsComparator(Class clazz) { - return usingAssertions(clazz, + public static Matcher usingEqualsComparatorForClass(Class clazz) { + return usingAssertionsForClass(clazz, (a, e) -> Assertions.assertThat(a).isEqualTo(e), (a, e) -> Assertions.assertThat(a).isEqualTo(e)); } - public static Matcher usingIgnoringFieldsComparator(Class clazz, String... fieldsToIgnore) { - return usingAssertions(clazz, + public static Matcher usingIgnoringFieldsComparatorForClass(Class clazz, String... fieldsToIgnore) { + return usingAssertionsForClass(clazz, (a, e) -> Assertions.assertThat(a).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(e), (a, e) -> Assertions.assertThat(a).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(e)); } diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java deleted file mode 100644 index 9c109a595..000000000 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/TestUtils.java +++ /dev/null @@ -1,95 +0,0 @@ -package ru.spcex.clearing.imdg; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.apache.kafka.clients.consumer.MockConsumer; -import org.apache.kafka.clients.producer.RecordMetadata; -import org.apache.kafka.common.TopicPartition; -import ru.spcex.clearing.platform.messaging.domain.ActionType; -import ru.spcex.clearing.platform.messaging.domain.BaseRequest; -import ru.spcex.platform.classes.base.SpcexObjectBase; -import ru.spcex.platform.imdg.api.Imdg; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -public class TestUtils { - private static final ObjectMapper objectMapper = new ObjectMapper(); - - public static void addRecordToKafka(MockConsumer mockConsumer, String topic, int partition, long offset, String jsonValue) { - TopicPartition tp = new TopicPartition(topic, partition); - HashMap startOffsets = new HashMap<>(); - startOffsets.put(tp, 0L); - mockConsumer.updateBeginningOffsets(startOffsets); - mockConsumer.schedulePollTask(() -> { - mockConsumer.rebalance(Collections.singletonList(tp)); - mockConsumer.addRecord(new ConsumerRecord<>(topic, partition, offset, "key", jsonValue)); - }); - } - - public static String getJsonStringForNew(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.NEW); - } - - public static String getJsonStringForUPDATE(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.UPDATE); - } - - public static String getJsonStringForDELETE(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.DELETE); - } - - private static String getJsonBaseRequest(T accountRequest, long id, ActionType actionType) { - BaseRequest baseRequest = new BaseRequest<>(); - baseRequest.setRequestPayload(accountRequest); - baseRequest.setId(id); - baseRequest.setActionType(actionType); - String jsonBaseRequest; - try { - jsonBaseRequest = objectMapper.writeValueAsString(baseRequest); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - return jsonBaseRequest; - } - - public static void clearImdg(Imdg imdg) { - Collection values = imdg.getAllValues(); - for (T val : values) { - imdg.delete(val); - } - } - - public static class FutureRecordMetadata implements Future { - @Override - public boolean cancel(boolean mayInterruptIfRunning) { - return false; - } - - @Override - public boolean isCancelled() { - return false; - } - - @Override - public boolean isDone() { - return false; - } - - @Override - public RecordMetadata get() throws InterruptedException, ExecutionException { - return null; - } - - @Override - public RecordMetadata get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { - return null; - } - } -} From 42943216136d81e24ee2827c1f7481aedd87b199 Mon Sep 17 00:00:00 2001 From: psemenkov Date: Fri, 7 Apr 2023 18:25:11 +0300 Subject: [PATCH 2/2] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-258=20?= =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=20=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20=D0=B8=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=B8=20=D0=B2=20test-clea?= =?UTF-8?q?ring.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jackson2HttpConverterTestConfig.java | 2 +- .../queue/AbstractControllerTest.java | 10 +- .../account/BankAccountControllerTest.java | 2 +- ...tClearingMemberCategoryControllerTest.java | 2 +- .../EditCompanyInfoControllerTest.java | 2 +- .../EditCompanySymbolControllerTest.java | 2 +- .../company/EditContactControllerTest.java | 2 +- .../queue/company/RelationControllerTest.java | 2 +- .../misc/NotificationControllerTest.java | 2 +- .../queue/misc/SessionControllerTest.java | 2 +- .../PaymentInstructionControllerTest.java | 2 +- .../scheduler/LauncherControllerTest.java | 4 +- .../PlannerAllTodayControllerTest.java | 2 +- .../scheduler/PlannerControllerTest.java | 2 +- .../queue/user/UserControllerTest.java | 2 +- .../utilities/StatementControllerTest.java | 2 +- clearing-parent/company-service/pom.xml | 5 + .../HazelcastServiceTestConfiguration.java | 71 --------- .../company/config/KafkaConfigTest.java | 44 ------ .../ClearingMemberCategoryServiceTest.java | 24 +-- .../service/CompanyInfoServiceTest.java | 20 +-- .../company/service/CompanyServiceTest.java | 20 +-- .../service/CompanySymbolServiceTest.java | 20 +-- .../company/service/ContactServiceTest.java | 21 ++- .../service/ProfileDocumentServiceTest.java | 24 +-- .../company/utils/MatcherFactory.java | 38 ----- .../clearing/company/utils/TestUtils.java | 149 ------------------ .../service/AbstractServiceTest.java | 10 +- .../service/CouponPeriodServiceTest.java | 6 +- .../service/CurrencyServiceTest.java | 6 +- .../service/EquitySecurityServiceTest.java | 6 +- .../FixedIncomeCashFlowServiceTest.java | 12 +- .../FixedIncomeSecurityServiceTest.java | 6 +- .../MoneyMarketSecurityServiceTest.java | 6 +- clearing-parent/test-clearing/pom.xml | 9 ++ .../ru/spcex/clearing/test}/ImapEvent.java | 2 +- .../clearing/{ => test}/MatcherFactory.java | 2 +- .../spcex/clearing/{ => test}/TestUtils.java | 5 +- .../clearing/test}/config/ImdgTestConfig.java | 2 +- .../test}/config/KafkaTestConfig.java | 2 +- .../{imdg => test/json}/JsonUtil.java | 2 +- .../json}/MatcherFactoryWithJson.java | 2 +- 42 files changed, 134 insertions(+), 422 deletions(-) delete mode 100644 clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/HazelcastServiceTestConfiguration.java delete mode 100644 clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/KafkaConfigTest.java delete mode 100644 clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/MatcherFactory.java delete mode 100644 clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/TestUtils.java rename clearing-parent/{company-service/src/test/java/ru/spcex/clearing/company/utils => test-clearing/src/main/java/ru/spcex/clearing/test}/ImapEvent.java (98%) rename clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/{ => test}/MatcherFactory.java (97%) rename clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/{ => test}/TestUtils.java (98%) rename clearing-parent/{securities-service/src/test/java/ru/spcex/clearing/securities => test-clearing/src/main/java/ru/spcex/clearing/test}/config/ImdgTestConfig.java (98%) rename clearing-parent/{securities-service/src/test/java/ru/spcex/clearing/securities => test-clearing/src/main/java/ru/spcex/clearing/test}/config/KafkaTestConfig.java (97%) rename clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/{imdg => test/json}/JsonUtil.java (98%) rename clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/{imdg => test/json}/MatcherFactoryWithJson.java (98%) diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/config/Jackson2HttpConverterTestConfig.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/config/Jackson2HttpConverterTestConfig.java index 7cabe0661..8fcdb0590 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/config/Jackson2HttpConverterTestConfig.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/config/Jackson2HttpConverterTestConfig.java @@ -4,7 +4,7 @@ package ru.spcex.clearing.backendapi.controller.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import ru.spcex.clearing.imdg.JsonUtil; +import ru.spcex.clearing.test.json.JsonUtil; @Configuration public class Jackson2HttpConverterTestConfig { diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index 6e0cf32b8..68be40768 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -27,7 +27,6 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.filter.CharacterEncodingFilter; import ru.clearing.classes.statics.data.user.User; -import ru.spcex.clearing.TestUtils; import ru.spcex.clearing.backendapi.controller.config.*; import ru.spcex.clearing.backendapi.controller.queue.account.AccountBalanceController; import ru.spcex.clearing.backendapi.controller.queue.account.AccountController; @@ -59,9 +58,10 @@ import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllRespo import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.meta.GetResponseFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.MatcherFactoryWithJson; import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.json.MatcherFactoryWithJson; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @@ -80,9 +80,9 @@ import static org.mockito.Mockito.*; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.readValue; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; -import static ru.spcex.clearing.imdg.MatcherFactoryWithJson.usingIgnoringFieldsComparatorForClass; +import static ru.spcex.clearing.test.json.JsonUtil.readValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFieldsComparatorForClass; @ContextConfiguration(classes = { diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java index 9d92d02c0..ae92ef4eb 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/account/BankAccountControllerTest.java @@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class BankAccountControllerTest extends AbstractControllerTest { private static final String REST_URL = "/securities/bank-accounts/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java index 513fd21b0..1126570ca 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java @@ -15,7 +15,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class EditClearingMemberCategoryControllerTest extends AbstractControllerTest { private static final String REST_URL = "/clearing-member-categories/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java index 305ea3263..6e97f2d8e 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanyInfoControllerTest.java @@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class EditCompanyInfoControllerTest extends AbstractControllerTest { private static final String REST_URL = "/company-infos/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java index a84ecfed5..8aed79ead 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditCompanySymbolControllerTest.java @@ -14,7 +14,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class EditCompanySymbolControllerTest extends AbstractControllerTest { private static final String REST_URL = "/company-symbols/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java index 6d0fa2f85..b445858aa 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditContactControllerTest.java @@ -15,7 +15,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class EditContactControllerTest extends AbstractControllerTest { private static final String REST_URL = "/contacts/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java index 6a99f321c..e2f06a22c 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/RelationControllerTest.java @@ -14,7 +14,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import static org.junit.jupiter.api.Assertions.assertThrows; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class RelationControllerTest extends AbstractControllerTest { private static final String REST_URL = "/relations/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java index 6fd8344ed..e0cb15aad 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/NotificationControllerTest.java @@ -17,7 +17,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class NotificationControllerTest extends AbstractControllerTest { private static final String REST_URL = "/notifications/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java index 925b3d210..578af6a9e 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/misc/SessionControllerTest.java @@ -16,7 +16,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class SessionControllerTest extends AbstractControllerTest { private static final String REST_URL = "/sessions/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java index ef55f77f3..e1de08c64 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/payment/PaymentInstructionControllerTest.java @@ -17,7 +17,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PaymentInstructionControllerTest extends AbstractControllerTest { private static final String REST_URL = "/payment-instructions/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java index dde70e1e8..dad895ccd 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/LauncherControllerTest.java @@ -29,8 +29,8 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.readValue; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.readValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class LauncherControllerTest extends AbstractControllerTest { private static final String REST_URL = "/launchers/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java index cdbac036e..78553ec70 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerAllTodayControllerTest.java @@ -17,7 +17,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PlannerAllTodayControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/planners-all-today/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java index e107dab46..019d5038d 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/scheduler/PlannerControllerTest.java @@ -17,7 +17,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class PlannerControllerTest extends AbstractControllerTest { private static final String REST_URL = "/schedule/planners/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java index 90f222444..015b40266 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/user/UserControllerTest.java @@ -18,7 +18,7 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.readValue; +import static ru.spcex.clearing.test.json.JsonUtil.readValue; class UserControllerTest extends AbstractControllerTest { public static final String REST_URL = "/users/"; diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java index 0a418d31c..added83eb 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/utilities/StatementControllerTest.java @@ -16,7 +16,7 @@ import java.util.Map; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static ru.spcex.clearing.imdg.JsonUtil.writeValue; +import static ru.spcex.clearing.test.json.JsonUtil.writeValue; class StatementControllerTest extends AbstractControllerTest { public static final String REST_URL = "/statements/"; diff --git a/clearing-parent/company-service/pom.xml b/clearing-parent/company-service/pom.xml index ee17025df..3143aecaa 100644 --- a/clearing-parent/company-service/pom.xml +++ b/clearing-parent/company-service/pom.xml @@ -53,6 +53,11 @@ spring-boot-starter-test test + + ru.spcex.clearing + test-clearing + test + diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/HazelcastServiceTestConfiguration.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/HazelcastServiceTestConfiguration.java deleted file mode 100644 index 5605eaff9..000000000 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/HazelcastServiceTestConfiguration.java +++ /dev/null @@ -1,71 +0,0 @@ -package ru.spcex.clearing.company.config; - -import com.hazelcast.config.*; -import com.hazelcast.core.Hazelcast; -import com.hazelcast.core.HazelcastInstance; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; -import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper; - -import java.util.List; -import java.util.Random; -import java.util.concurrent.atomic.AtomicLong; - -@Configuration -public class HazelcastServiceTestConfiguration { - - public static final AtomicLong currentID = new AtomicLong(0L); - private HazelcastInstance hazelcastInstance; - - private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) { - ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor(); - if (maxPoolSz > 2) { - pool.setKeepAliveSeconds(60); - pool.setAllowCoreThreadTimeOut(true); - } - pool.setCorePoolSize(maxPoolSz); - pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion); - return pool; - } - - @Bean(name = "hazelcastServiceTest") - public HazelcastService hazelcastService(@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, HazelcastClientParams params) { - Config cfg = new Config(); - cfg.setInstanceName("localhost"); - - NetworkConfig networkConfig = new NetworkConfig(); - JoinConfig joinConfig = new JoinConfig(); - joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)); - joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1"))); - networkConfig.setJoin(joinConfig); - cfg.setNetworkConfig(networkConfig); - hazelcastInstance = Hazelcast.getOrCreateHazelcastInstance(cfg); - HazelcastHelper.imdgSystem_setStorageState(true, hazelcastInstance); - return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params); - } - - @Bean(name = "taskExecutorHazelcastClientInitializer") - public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() { - return createThreadPoolTaskExecutor(1, true); - } - - @Bean(name = "taskExecutorIdGeneratorAwaiter") - public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() { - return createThreadPoolTaskExecutor(1, false); - } - - @Bean(name = "hazelcastClientParams") - public HazelcastClientParams getHazelcastClientParams() { - HazelcastClientParams params = new HazelcastClientParams(); - params.setLogin("dev"); - params.setPassword("dev-pass"); - params.setClusterMembers("127.0.0.1"); - params.setInstanceName("hzTestClient" + new Random().nextInt()); - params.setNearCacheConfig(new NearCacheConfig()); - return params; - } -} diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/KafkaConfigTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/KafkaConfigTest.java deleted file mode 100644 index ce31fb986..000000000 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/config/KafkaConfigTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package ru.spcex.clearing.company.config; - - -import org.apache.kafka.clients.consumer.MockConsumer; -import org.apache.kafka.clients.consumer.OffsetResetStrategy; -import org.apache.kafka.clients.producer.Producer; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Scope; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.service.RequestInfo; -import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; -import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.api.ImdgId; -import ru.spcex.platform.imdg.api.ImdgProvider; - -@Configuration -public class KafkaConfigTest { - - @Autowired - @Bean(name = "kafkaSenderTest") - public KafkaSender kafkaSender(Producer kafkaProducer, @Qualifier("hazelcastServiceTest") ImdgProvider imdgProvider) { - ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); - return KafkaSender - .setup() - .producer(kafkaProducer) - .idGenerator(imdgIdGenerator::nextId) - .imdgProvider(s -> { - Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); - return imdg::insert; - }) - .build(); - } - - @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean(name = "mockConsumerTest") - public MockConsumer createConsumer() { - return new MockConsumer<>(OffsetResetStrategy.EARLIEST); - } - -} diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java index df802532f..25a487333 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java @@ -17,30 +17,30 @@ import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.platform.dictionary.ClearingCategoryDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; import ru.spcex.clearing.company.config.validation.ClearingMemberCategoryValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; -import ru.spcex.clearing.company.utils.MatcherFactory.Matcher; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.enumeration.ClearingCategory; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration.currentID; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; +import static ru.spcex.clearing.test.config.ImdgTestConfig.currentID; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { @@ -48,11 +48,11 @@ import static ru.spcex.clearing.company.utils.TestUtils.*; ValidationConfig.class, ClearingMemberCategoryService.class, ClearingMemberCategoryValidationConfig.class, - KafkaConfigTest.class, - HazelcastServiceTestConfiguration.class}) + KafkaTestConfig.class, + ImdgTestConfig.class}) class ClearingMemberCategoryServiceTest { - public static final Matcher MEMBER_CATEGORY_MATCHER = usingIgnoringFieldsComparator(); + public static final MatcherFactory.Matcher MEMBER_CATEGORY_MATCHER = usingIgnoringFieldsComparator(); private static final int PARTITION = 0; private static final String TOPIC_MEMBER_CATEGORY_NEW = Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW; private static final String TOPIC_MEMBER_CATEGORY_UPDATE = Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE; @@ -62,7 +62,7 @@ class ClearingMemberCategoryServiceTest { ClearingMemberCategoryService clearingMemberCategoryService; @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg memberCategoryImdg; @Captor diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java index 8ab19f2f4..65269737b 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyInfoServiceTest.java @@ -16,26 +16,26 @@ import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.profile.CompanyInfo; import ru.clearing.platform.dictionary.*; import ru.spcex.clearing.company.config.BeanConfiguration; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; import ru.spcex.clearing.company.config.validation.CompanyValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; -import ru.spcex.clearing.company.utils.MatcherFactory; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyInfoUpdateRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { @@ -49,8 +49,8 @@ import static ru.spcex.clearing.company.utils.TestUtils.*; RelationHelper.class, BeanConfiguration.class, - KafkaConfigTest.class, - HazelcastServiceTestConfiguration.class}) + KafkaTestConfig.class, + ImdgTestConfig.class}) class CompanyInfoServiceTest { public static final MatcherFactory.Matcher COMPANY_INFO_MATCHER = usingIgnoringFieldsComparator(); @@ -61,7 +61,7 @@ class CompanyInfoServiceTest { CompanyInfoService companyInfoService; @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg companyImdg; @Captor diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java index 9e6f01dae..ebc454f79 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java @@ -19,22 +19,22 @@ import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.platform.dictionary.CompanySymbolDictionary; import ru.clearing.platform.dictionary.WorkflowStatusDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; import ru.spcex.clearing.company.config.validation.CompanyValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; import ru.spcex.clearing.company.error.CompanyErrors; -import ru.spcex.clearing.company.utils.MatcherFactory; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanyNewRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.enumeration.CompanySymbol; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import java.util.Arrays; @@ -42,8 +42,8 @@ import java.util.Map; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { @@ -54,8 +54,8 @@ import static ru.spcex.clearing.company.utils.TestUtils.*; AccountNotificationHelper.class, RelationHelper.class, - KafkaConfigTest.class, - HazelcastServiceTestConfiguration.class, + KafkaTestConfig.class, + ImdgTestConfig.class, BeanConfiguration.class}) class CompanyServiceTest { @@ -67,7 +67,7 @@ class CompanyServiceTest { CompanyService companyService; @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg companyImdg; private Imdg companySymbolsImdg; private Imdg workflowStatusDictionaryImdg; diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java index 7ddfaaaee..707a35707 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanySymbolServiceTest.java @@ -13,29 +13,29 @@ import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; -import ru.spcex.clearing.company.utils.MatcherFactory; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.company.CompanySymbolUpdateRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { CompanySymbolService.class, - KafkaConfigTest.class, - HazelcastServiceTestConfiguration.class}) + KafkaTestConfig.class, + ImdgTestConfig.class}) class CompanySymbolServiceTest { public static final MatcherFactory.Matcher COMPANY_SYMBOL_MATCHER = usingIgnoringFieldsComparator(); @@ -47,7 +47,7 @@ class CompanySymbolServiceTest { CompanySymbolService companySymbolService; @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg companySymbolsImdg; @Captor diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java index 5864d1538..dd1c9cc59 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ContactServiceTest.java @@ -16,28 +16,28 @@ import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.platform.dictionary.ContactTypeDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; import ru.spcex.clearing.company.config.validation.ContactValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; -import ru.spcex.clearing.company.utils.MatcherFactory; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactUpdateRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.enumeration.ContactTypes; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { @@ -45,8 +45,8 @@ import static ru.spcex.clearing.company.utils.TestUtils.*; ValidationConfig.class, ContactValidationConfig.class, ContactService.class, - KafkaConfigTest.class, - HazelcastServiceTestConfiguration.class}) + KafkaTestConfig.class, + ImdgTestConfig.class}) class ContactServiceTest { public static final MatcherFactory.Matcher CONTACT_MATCHER = usingIgnoringFieldsComparator(); @@ -60,7 +60,7 @@ class ContactServiceTest { @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg contactImdg; @Captor @@ -122,7 +122,6 @@ class ContactServiceTest { * Тест проверяет обновление сущности {@link Contact} в Hazelcast при передаче из Apache Kafka.
* Входной запрос {@link ContactUpdateRequest}:
* {@link ContactUpdateRequest#id} - Идентификатор записи
- * {@link ContactUpdateRequest#companyId} - Идентификатор записи
* {@link ContactUpdateRequest#contactType} - ADDR
* {@link ContactUpdateRequest#contactValue} - new ContactValue
*/ diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java index 3042b85f5..ce47319fa 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java @@ -16,21 +16,21 @@ import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.platform.dictionary.DocumentTypeDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; -import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; -import ru.spcex.clearing.company.config.KafkaConfigTest; import ru.spcex.clearing.company.config.validation.ProfileDocumentValidationConfig; import ru.spcex.clearing.company.config.validation.ValidationConfig; -import ru.spcex.clearing.company.utils.MatcherFactory; -import ru.spcex.clearing.company.utils.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.api.ImdgProvider; import javax.annotation.PostConstruct; import java.time.LocalDate; @@ -38,18 +38,18 @@ import java.time.temporal.ChronoUnit; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration.currentID; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.company.utils.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; +import static ru.spcex.clearing.test.config.ImdgTestConfig.currentID; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { BeanConfiguration.class, ValidationConfig.class, ProfileDocumentService.class, - KafkaConfigTest.class, ProfileDocumentValidationConfig.class, - HazelcastServiceTestConfiguration.class}) + KafkaTestConfig.class, + ImdgTestConfig.class}) class ProfileDocumentServiceTest { public static final MatcherFactory.Matcher PROFILE_DOCUMENT_MATCHER = usingIgnoringFieldsComparator(); @@ -62,7 +62,7 @@ class ProfileDocumentServiceTest { ProfileDocumentService profileDocumentService; @Autowired @Qualifier("hazelcastServiceTest") - private HazelcastService hazelcastServiceTest; + private ImdgProvider hazelcastServiceTest; private Imdg profileDocumentMap; private Imdg companyMap; @@ -112,7 +112,7 @@ class ProfileDocumentServiceTest { } /** - * {@link ProfileDocumentService#newProfileDocument(BaseRequest)}
+ * {@link ProfileDocumentService#profileDocumentNew(BaseRequest)}
* Тест проверяет обновление сущности {@link ProfileDocument} в Hazelcast при передаче из Apache Kafka.
* Входной запрос {@link ProfileDocumentNewRequest}:
*/ diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/MatcherFactory.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/MatcherFactory.java deleted file mode 100644 index e850b89ef..000000000 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/MatcherFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package ru.spcex.clearing.company.utils; - -import java.util.Arrays; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Factory for creating test matchers. - *

- * Comparing actual and expected objects via AssertJ - */ -public class MatcherFactory { - - public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { - return new Matcher<>(fieldsToIgnore); - } - - public static class Matcher { - private final String[] fieldsToIgnore; - - private Matcher(String... fieldsToIgnore) { - this.fieldsToIgnore = fieldsToIgnore; - } - - public void assertMatch(T actual, T expected) { - assertThat(actual).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(expected); - } - - @SafeVarargs - public final void assertMatch(Iterable actual, T... expected) { - assertMatch(actual, Arrays.asList(expected)); - } - - public void assertMatch(Iterable actual, Iterable expected) { - assertThat(actual).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(expected); - } - } -} diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/TestUtils.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/TestUtils.java deleted file mode 100644 index 1e6270839..000000000 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/TestUtils.java +++ /dev/null @@ -1,149 +0,0 @@ -package ru.spcex.clearing.company.utils; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.apache.kafka.clients.consumer.MockConsumer; -import org.apache.kafka.clients.producer.MockProducer; -import org.apache.kafka.clients.producer.ProducerRecord; -import org.apache.kafka.clients.producer.RecordMetadata; -import org.apache.kafka.common.TopicPartition; -import org.mockito.ArgumentCaptor; -import ru.spcex.clearing.platform.messaging.domain.ActionType; -import ru.spcex.clearing.platform.messaging.domain.BaseRequest; -import ru.spcex.clearing.platform.messaging.domain.Consts; -import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; -import ru.spcex.clearing.platform.messaging.service.Status; -import ru.spcex.platform.classes.base.SpcexObjectBase; -import ru.spcex.platform.imdg.api.Imdg; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.verify; -import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.platform.messaging.service.Status.Success; - -public class TestUtils { - public static final MatcherFactory.Matcher> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(); - private static final ObjectMapper objectMapper = new ObjectMapper(); - - public static void waitingWhenAddedRecordAndCheckIt(Long id, MockProducer mockProducer, ArgumentCaptor producerRecord) { - BaseRequest predictableBaseRequest = new BaseRequest<>(); - predictableBaseRequest.setId(id); - predictableBaseRequest.setActionType(ActionType.SYSTEM); - RequestInfoUpdate requestInfoUpdate = new RequestInfoUpdate(); - requestInfoUpdate.setId(id); - requestInfoUpdate.setStatus(Success); - predictableBaseRequest.setRequestPayload(requestInfoUpdate); - - //waiting for kafka producer send message (finale event) - verify(mockProducer, timeout(30_000L).times(1)) - .send(producerRecord.capture()); - - BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); - assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); - BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); - } - - public static void waitingWhenTryAddRecordAndCheckError(Long id, - MockProducer mockProducer, - ArgumentCaptor producerRecord, - String errorCode, - List errorMessageArgs) { - BaseRequest predictableBaseRequest = new BaseRequest<>(); - predictableBaseRequest.setId(id); - predictableBaseRequest.setActionType(ActionType.SYSTEM); - RequestInfoUpdate requestInfoUpdate = new RequestInfoUpdate(); - requestInfoUpdate.setId(id); - requestInfoUpdate.setStatus(Status.Error); - String errorsMessage = "(%s) args [%s]".formatted(errorCode, String.join(", ", errorMessageArgs)); - requestInfoUpdate.setMessage(errorsMessage); - predictableBaseRequest.setRequestPayload(requestInfoUpdate); - - //waiting for kafka producer send message (finale event) - verify(mockProducer, timeout(30_000L).times(1)) - .send(producerRecord.capture()); - - BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); - assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); - BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); - } - - public static void addRecordToKafka(MockConsumer mockConsumer, String topic, int partition, long offset, String jsonValue) { - TopicPartition tp = new TopicPartition(topic, partition); - HashMap startOffsets = new HashMap<>(); - startOffsets.put(tp, 0L); - mockConsumer.updateBeginningOffsets(startOffsets); - mockConsumer.schedulePollTask(() -> { - mockConsumer.rebalance(Collections.singletonList(tp)); - mockConsumer.addRecord(new ConsumerRecord<>(topic, partition, offset, "key", jsonValue)); - }); - } - - public static String getJsonStringForNew(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.NEW); - } - - public static String getJsonStringForUPDATE(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.UPDATE); - } - - public static String getJsonStringForDELETE(T accountRequest, long id) { - return getJsonBaseRequest(accountRequest, id, ActionType.DELETE); - } - - private static String getJsonBaseRequest(T accountRequest, long id, ActionType actionType) { - BaseRequest baseRequest = new BaseRequest<>(); - baseRequest.setRequestPayload(accountRequest); - baseRequest.setId(id); - baseRequest.setActionType(actionType); - String jsonBaseRequest; - try { - jsonBaseRequest = objectMapper.writeValueAsString(baseRequest); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - return jsonBaseRequest; - } - - public static void clearAllInImdg(Imdg imdg) { - Collection values = imdg.getAllValues(); - values.forEach(imdg::delete); - } - - public static class FutureRecordMetadata implements Future { - @Override - public boolean cancel(boolean mayInterruptIfRunning) { - return false; - } - - @Override - public boolean isCancelled() { - return false; - } - - @Override - public boolean isDone() { - return false; - } - - @Override - public RecordMetadata get() throws InterruptedException, ExecutionException { - return null; - } - - @Override - public RecordMetadata get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { - return null; - } - } -} diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java index 98547e2bb..a7231f52d 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/AbstractServiceTest.java @@ -18,16 +18,16 @@ import ru.clearing.classes.statics.data.misc.Currency; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; import ru.clearing.platform.dictionary.*; -import ru.spcex.clearing.MatcherFactory; -import ru.spcex.clearing.TestUtils; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.securities.component.ListingBuilder; import ru.spcex.clearing.securities.config.ErrorResolverConfig; -import ru.spcex.clearing.securities.config.ImdgTestConfig; -import ru.spcex.clearing.securities.config.KafkaTestConfig; import ru.spcex.clearing.securities.config.ValidationConfig; import ru.spcex.clearing.securities.service.cud.*; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicLong; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java index b1d750ea4..eada23296 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CouponPeriodServiceTest.java @@ -4,19 +4,19 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodUpdateRequest; import ru.spcex.clearing.securities.service.cud.CouponPeriodService; +import ru.spcex.clearing.test.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; public class CouponPeriodServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher COUPON_PERIOD_MATCHER = usingIgnoringFieldsComparator(); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java index ec5ff1721..03a0cf469 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/CurrencyServiceTest.java @@ -4,17 +4,17 @@ import org.apache.kafka.clients.consumer.MockConsumer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Currency; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyUpdateRequest; import ru.spcex.clearing.securities.service.cud.CurrencyService; +import ru.spcex.clearing.test.MatcherFactory; import javax.annotation.PostConstruct; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; public class CurrencyServiceTest extends AbstractServiceTest { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java index 05d03bd67..cb3a86448 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/EquitySecurityServiceTest.java @@ -5,20 +5,20 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.clearing.classes.statics.data.misc.Listing; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.EquitySecurityUpdateRequest; import ru.spcex.clearing.securities.service.cud.EquitySecurityService; +import ru.spcex.clearing.test.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.util.Map; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; public class EquitySecurityServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher EQUITY_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java index 7f7ee673d..dad537eb0 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeCashFlowServiceTest.java @@ -13,17 +13,17 @@ import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowUpdateRequest; import ru.spcex.clearing.securities.config.ErrorResolverConfig; -import ru.spcex.clearing.securities.config.ImdgTestConfig; -import ru.spcex.clearing.securities.config.KafkaTestConfig; import ru.spcex.clearing.securities.config.ValidationConfig; import ru.spcex.clearing.securities.config.validation.FixedIncomeCashFlowValidationConfig; import ru.spcex.clearing.securities.service.cud.FixedIncomeCashFlowService; +import ru.spcex.clearing.test.MatcherFactory; +import ru.spcex.clearing.test.config.ImdgTestConfig; +import ru.spcex.clearing.test.config.KafkaTestConfig; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -31,9 +31,9 @@ import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; -import static ru.spcex.clearing.securities.config.ImdgTestConfig.currentID; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; +import static ru.spcex.clearing.test.config.ImdgTestConfig.currentID; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = { diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java index 8470d6a23..aff540631 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/FixedIncomeSecurityServiceTest.java @@ -5,21 +5,21 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.misc.Listing; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeSecurityUpdateRequest; import ru.spcex.clearing.securities.service.cud.FixedIncomeSecurityService; +import ru.spcex.clearing.test.MatcherFactory; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Map; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; public class FixedIncomeSecurityServiceTest extends AbstractServiceTest { private static final MatcherFactory.Matcher FIXED_INCOME_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java index e65e48a91..61d5854be 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java +++ b/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/service/MoneyMarketSecurityServiceTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; -import ru.spcex.clearing.MatcherFactory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -15,14 +14,15 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.MoneyMarketSe import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.securities.service.cud.MoneyMarketSecurityService; +import ru.spcex.clearing.test.MatcherFactory; import ru.spcex.platform.imdg.api.Imdg; import javax.annotation.PostConstruct; import java.math.BigDecimal; import java.util.Map; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; -import static ru.spcex.clearing.TestUtils.*; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.test.TestUtils.*; public class MoneyMarketSecurityServiceTest extends AbstractServiceTest{ private static final MatcherFactory.Matcher MONEY_MARKET_SECURITY_MATCHER = usingIgnoringFieldsComparator("created", "updated"); diff --git a/clearing-parent/test-clearing/pom.xml b/clearing-parent/test-clearing/pom.xml index cae0c252e..4c1f1dc5e 100644 --- a/clearing-parent/test-clearing/pom.xml +++ b/clearing-parent/test-clearing/pom.xml @@ -51,5 +51,14 @@ org.junit.jupiter junit-jupiter-api + + com.hazelcast + hazelcast-all + 3.12.4 + + + ru.spcex.platform + platform-imdg-api-hazelcast-impl + diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/ImapEvent.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java similarity index 98% rename from clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/ImapEvent.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java index 44a613cd0..d6b74267b 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/utils/ImapEvent.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/ImapEvent.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.company.utils; +package ru.spcex.clearing.test; import com.hazelcast.core.IMap; import com.hazelcast.map.listener.EntryAddedListener; diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java similarity index 97% rename from clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java index bf8c58af3..6b5f60c45 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/MatcherFactory.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/MatcherFactory.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing; +package ru.spcex.clearing.test; import java.util.Arrays; diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java similarity index 98% rename from clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java index e97deebb6..2d542894e 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/TestUtils.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/TestUtils.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing; +package ru.spcex.clearing.test; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -29,8 +29,8 @@ import java.util.concurrent.TimeoutException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; -import static ru.spcex.clearing.MatcherFactory.usingIgnoringFieldsComparator; import static ru.spcex.clearing.platform.messaging.service.Status.Success; +import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator; public class TestUtils { public static final MatcherFactory.Matcher> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(); @@ -77,6 +77,7 @@ public class TestUtils { assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); } + public static void addRecordToKafka(MockConsumer mockConsumer, String topic, int partition, long offset, String jsonValue) { TopicPartition tp = new TopicPartition(topic, partition); HashMap startOffsets = new HashMap<>(); diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/ImdgTestConfig.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/ImdgTestConfig.java similarity index 98% rename from clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/ImdgTestConfig.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/ImdgTestConfig.java index 9fa010b83..ca50a9d5f 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/ImdgTestConfig.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/ImdgTestConfig.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.securities.config; +package ru.spcex.clearing.test.config; import com.hazelcast.config.*; import com.hazelcast.core.Hazelcast; diff --git a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/KafkaTestConfig.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java similarity index 97% rename from clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/KafkaTestConfig.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java index 5f54dac64..69665a7f2 100644 --- a/clearing-parent/securities-service/src/test/java/ru/spcex/clearing/securities/config/KafkaTestConfig.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/config/KafkaTestConfig.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.securities.config; +package ru.spcex.clearing.test.config; import org.apache.kafka.clients.consumer.MockConsumer; import org.apache.kafka.clients.consumer.OffsetResetStrategy; diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/JsonUtil.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java similarity index 98% rename from clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/JsonUtil.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java index 71efc1b6c..7a64a96b6 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/JsonUtil.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/JsonUtil.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.imdg; +package ru.spcex.clearing.test.json; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; diff --git a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java similarity index 98% rename from clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java rename to clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java index ae8a5bbd5..1824063ef 100644 --- a/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/imdg/MatcherFactoryWithJson.java +++ b/clearing-parent/test-clearing/src/main/java/ru/spcex/clearing/test/json/MatcherFactoryWithJson.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.imdg; +package ru.spcex.clearing.test.json; import org.assertj.core.api.Assertions; import org.springframework.test.web.servlet.MvcResult;