Creating tests for registry-service.

This commit is contained in:
psemenkov 2023-03-01 12:31:10 +03:00
parent e0b53a15d1
commit 18959e3beb
14 changed files with 891 additions and 0 deletions

View file

@ -0,0 +1,113 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.misc.BalanceRegister;
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.registry.BalanceRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.time.Instant;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
BalanceRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class BalanceRegisterServiceTest {
public static final MatcherFactory.Matcher<BalanceRegister> ADMITTED_DEAL_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_BALANCE_REGISTER_NEW = Consts.REGISTRY_BALANCE_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
BalanceRegisterService balanceRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<BalanceRegister> balanceRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.balanceRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_BalanceRegister, BalanceRegister.class);
}
/**
* {@link BalanceRegisterService#balanceRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link BalanceRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link BalanceRegisterNewRequest}:<br>
*/
@Test
void balanceRegisterNew() {
//ARRANGE
Long companyId = 1234L;
BalanceRegisterNewRequest balanceRegisterNewRequest = new BalanceRegisterNewRequest();
balanceRegisterNewRequest.setsDf01Date(Instant.now());
balanceRegisterNewRequest.setCurrencyCode("currencyCode");
balanceRegisterNewRequest.setSetHouseName("houseName");
balanceRegisterNewRequest.setAccount("121546854");
balanceRegisterNewRequest.setInfoAccount("account");
balanceRegisterNewRequest.setRemainderSum(new BigDecimal(76));
balanceRegisterNewRequest.setBlockedSum(new BigDecimal(16));
balanceRegisterNewRequest.setUnblockedSum(new BigDecimal(46));
balanceRegisterNewRequest.setInn("inn");
balanceRegisterNewRequest.setMarket(12L);
balanceRegisterNewRequest.setFullName("fullName");
balanceRegisterNewRequest.setTypeRemains("typeRemains");
balanceRegisterNewRequest.setDocNumber("docNumber");
balanceRegisterNewRequest.setCompanyId(companyId);
BalanceRegister predictableBalanceRegister = new BalanceRegister();
predictableBalanceRegister.setsDf01Date(balanceRegisterNewRequest.getsDf01Date());
predictableBalanceRegister.setCurrencyCode(balanceRegisterNewRequest.getCurrencyCode());
predictableBalanceRegister.setSetHouseName(balanceRegisterNewRequest.getSetHouseName());
predictableBalanceRegister.setAccount(balanceRegisterNewRequest.getAccount());
predictableBalanceRegister.setInfoAccount(balanceRegisterNewRequest.getInfoAccount());
predictableBalanceRegister.setRemainderSum(balanceRegisterNewRequest.getRemainderSum());
predictableBalanceRegister.setBlockedSum(balanceRegisterNewRequest.getBlockedSum());
predictableBalanceRegister.setUnblockedSum(balanceRegisterNewRequest.getUnblockedSum());
predictableBalanceRegister.setInn(balanceRegisterNewRequest.getInn());
predictableBalanceRegister.setMarket(balanceRegisterNewRequest.getMarket());
predictableBalanceRegister.setFullName(balanceRegisterNewRequest.getFullName());
predictableBalanceRegister.setTypeRemains(balanceRegisterNewRequest.getTypeRemains());
predictableBalanceRegister.setDocNumber(balanceRegisterNewRequest.getDocNumber());
predictableBalanceRegister.setCompanyId(balanceRegisterNewRequest.getCompanyId());
//ACT
String jsonString = getJsonStringForNew(balanceRegisterNewRequest, ID);
addRecordToKafka((MockConsumer) balanceRegisterService.getConsumer(), TOPIC_REGISTRY_BALANCE_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
BalanceRegister resultNew = balanceRegisterMap.getSingleObjectBySQL(String.format("companyId = %d", companyId));
predictableBalanceRegister.setId(resultNew.getId());
ADMITTED_DEAL_REGISTER_MATCHER.assertMatch(resultNew, predictableBalanceRegister);
}
}

View file

@ -0,0 +1,90 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.register.ClearMemberRegisterChange;
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.registry.ClearMemberRegisterChangeNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.time.Instant;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
ClearMemberRegisterChangeService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class ClearMemberRegisterChangeServiceTest {
public static final MatcherFactory.Matcher<ClearMemberRegisterChange> CLEAR_MEMBER_REGISTER_CHANGE_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW = Consts.REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
ClearMemberRegisterChangeService clearMemberRegisterChangeService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<ClearMemberRegisterChange> clearMemberRegisterChangeMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.clearMemberRegisterChangeMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ClearMemberRegisterChange, ClearMemberRegisterChange.class);
}
/**
* {@link ClearMemberRegisterChangeService#clearMemberRegisterChangeNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link ClearMemberRegisterChange} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link ClearMemberRegisterChangeNewRequest}:<br>
*/
@Test
void clearMemberRegisterChangeNew() {
//ARRANGE
String comment = "comment";
ClearMemberRegisterChangeNewRequest clearMemberRegisterChangeNewRequest = new ClearMemberRegisterChangeNewRequest();
clearMemberRegisterChangeNewRequest.setDate(Instant.now());
clearMemberRegisterChangeNewRequest.setComment("comment");
clearMemberRegisterChangeNewRequest.setClearingCode("clearingCode");
ClearMemberRegisterChange predictableClearMemberRegisterChange = new ClearMemberRegisterChange();
predictableClearMemberRegisterChange.setDate(clearMemberRegisterChangeNewRequest.getDate());
predictableClearMemberRegisterChange.setComment(clearMemberRegisterChangeNewRequest.getComment());
predictableClearMemberRegisterChange.setClearingCode(clearMemberRegisterChangeNewRequest.getClearingCode());
//ACT
String jsonString = getJsonStringForNew(clearMemberRegisterChangeNewRequest, ID);
addRecordToKafka((MockConsumer) clearMemberRegisterChangeService.getConsumer(), TOPIC_REGISTRY_CLEAR_MEMBER_REGISTER_CHANGE_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
ClearMemberRegisterChange resultNew = clearMemberRegisterChangeMap.getSingleObjectBySQL(String.format("comment = %s", comment));
predictableClearMemberRegisterChange.setId(resultNew.getId());
CLEAR_MEMBER_REGISTER_CHANGE_MATCHER.assertMatch(resultNew, predictableClearMemberRegisterChange);
}
}

View file

@ -0,0 +1,135 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.misc.ClearMemberRegister;
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.registry.ClearMemberRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.time.Instant;
import java.time.LocalDate;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
ClearMemberRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class ClearMemberRegisterServiceTest {
public static final MatcherFactory.Matcher<ClearMemberRegister> CLEAR_MEMBER_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_CLEAR_MEMBER_REGISTER_NEW = Consts.REGISTRY_CLEAR_MEMBER_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
ClearMemberRegisterService clearMemberRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<ClearMemberRegister> clearMemberRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.clearMemberRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ClearMemberRegister, ClearMemberRegister.class);
}
/**
* {@link ClearMemberRegisterService#clearMemberRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link ClearMemberRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link ClearMemberRegisterNewRequest}:<br>
*/
@Test
void clearMemberRegisterNew() {
//ARRANGE
Long bank = 1234L;
ClearMemberRegisterNewRequest clearMemberRegisterNewRequest = new ClearMemberRegisterNewRequest();
clearMemberRegisterNewRequest.setTradingCode("tradingCode");
clearMemberRegisterNewRequest.setClearingCode("clearingCode");
clearMemberRegisterNewRequest.setFullName("fullName");
clearMemberRegisterNewRequest.setShortName("shortName");
clearMemberRegisterNewRequest.setCategoryList("categoryList");
clearMemberRegisterNewRequest.setCorporationSole("corporationSole");
clearMemberRegisterNewRequest.setAccount("1246984698");
clearMemberRegisterNewRequest.setBank(bank);
clearMemberRegisterNewRequest.setBankName("bankName");
clearMemberRegisterNewRequest.setInn("inn");
clearMemberRegisterNewRequest.setBic("bic");
clearMemberRegisterNewRequest.setOgrn("ogrn");
clearMemberRegisterNewRequest.setCpp("cpp");
clearMemberRegisterNewRequest.setOcpo("ocpo");
clearMemberRegisterNewRequest.setContractNumber("contractNumber");
clearMemberRegisterNewRequest.setContractDate(LocalDate.now());
clearMemberRegisterNewRequest.setRegistrationDate(LocalDate.now());
clearMemberRegisterNewRequest.setSystemDate(LocalDate.now());
clearMemberRegisterNewRequest.setAccessDate(Instant.now());
clearMemberRegisterNewRequest.setSuspentionDate(Instant.now());
clearMemberRegisterNewRequest.setReopeningDate(Instant.now());
clearMemberRegisterNewRequest.setCloseDate(Instant.now());
clearMemberRegisterNewRequest.setExclusionDate(Instant.now());
clearMemberRegisterNewRequest.setAddress("address");
clearMemberRegisterNewRequest.setEmail("email");
ClearMemberRegister predictableClearMemberRegister = new ClearMemberRegister();
predictableClearMemberRegister.setTradingCode(clearMemberRegisterNewRequest.getTradingCode());
predictableClearMemberRegister.setClearingCode(clearMemberRegisterNewRequest.getClearingCode());
predictableClearMemberRegister.setFullName(clearMemberRegisterNewRequest.getFullName());
predictableClearMemberRegister.setShortName(clearMemberRegisterNewRequest.getShortName());
predictableClearMemberRegister.setCategoryList(clearMemberRegisterNewRequest.getCategoryList());
predictableClearMemberRegister.setCorporationSole(clearMemberRegisterNewRequest.getCorporationSole());
predictableClearMemberRegister.setAccount(clearMemberRegisterNewRequest.getAccount());
predictableClearMemberRegister.setBank(clearMemberRegisterNewRequest.getBank());
predictableClearMemberRegister.setBankName(clearMemberRegisterNewRequest.getBankName());
predictableClearMemberRegister.setInn(clearMemberRegisterNewRequest.getInn());
predictableClearMemberRegister.setBic(clearMemberRegisterNewRequest.getBic());
predictableClearMemberRegister.setOgrn(clearMemberRegisterNewRequest.getOgrn());
predictableClearMemberRegister.setCpp(clearMemberRegisterNewRequest.getCpp());
predictableClearMemberRegister.setOcpo(clearMemberRegisterNewRequest.getOcpo());
predictableClearMemberRegister.setContractNumber(clearMemberRegisterNewRequest.getContractNumber());
predictableClearMemberRegister.setContractDate(clearMemberRegisterNewRequest.getContractDate());
predictableClearMemberRegister.setRegistrationDate(clearMemberRegisterNewRequest.getRegistrationDate());
predictableClearMemberRegister.setSystemDate(clearMemberRegisterNewRequest.getSystemDate());
predictableClearMemberRegister.setAccessDate(clearMemberRegisterNewRequest.getAccessDate());
predictableClearMemberRegister.setSuspentionDate(clearMemberRegisterNewRequest.getSuspentionDate());
predictableClearMemberRegister.setReopeningDate(clearMemberRegisterNewRequest.getReopeningDate());
predictableClearMemberRegister.setCloseDate(clearMemberRegisterNewRequest.getCloseDate());
predictableClearMemberRegister.setExclusionDate(clearMemberRegisterNewRequest.getExclusionDate());
predictableClearMemberRegister.setAddress(clearMemberRegisterNewRequest.getAddress());
predictableClearMemberRegister.setEmail(clearMemberRegisterNewRequest.getEmail());
//ACT
String jsonString = getJsonStringForNew(clearMemberRegisterNewRequest, ID);
addRecordToKafka((MockConsumer) clearMemberRegisterService.getConsumer(), TOPIC_REGISTRY_CLEAR_MEMBER_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
ClearMemberRegister resultNew = clearMemberRegisterMap.getSingleObjectBySQL(String.format("bank = %d", bank));
predictableClearMemberRegister.setId(resultNew.getId());
CLEAR_MEMBER_REGISTER_MATCHER.assertMatch(resultNew, predictableClearMemberRegister);
}
}

View file

@ -0,0 +1,112 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.register.ContractRegister;
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.registry.ContractRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.time.LocalDate;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
ContractRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class ContractRegisterServiceTest {
public static final MatcherFactory.Matcher<ContractRegister> CLEAR_MEMBER_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_CONTRACT_REGISTER_NEW = Consts.REGISTRY_CONTRACT_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
ContractRegisterService contractRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<ContractRegister> contractRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.contractRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class);
}
/**
* {@link ContractRegisterService#contractRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link ContractRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link ContractRegisterNewRequest}:<br>
*/
@Test
void contractRegisterNew() {
//ARRANGE
Long companyId = 1234L;
ContractRegisterNewRequest contractRegisterNewRequest = new ContractRegisterNewRequest();
contractRegisterNewRequest.setName("name");
contractRegisterNewRequest.setNumber("number");
contractRegisterNewRequest.setIssueDate(LocalDate.now());
contractRegisterNewRequest.setCompanyFullName(1651656L);
contractRegisterNewRequest.setCompanyId(companyId);
contractRegisterNewRequest.setDocumentType("documentType");
contractRegisterNewRequest.setIssuePlace("issuePlace");
contractRegisterNewRequest.setIssuer("issuer");
contractRegisterNewRequest.setIssuerCode("issuerCode");
contractRegisterNewRequest.setPlace("place");
contractRegisterNewRequest.setValidFromDate(LocalDate.now());
contractRegisterNewRequest.setValidToDate(LocalDate.now());
contractRegisterNewRequest.setCloseDate(LocalDate.now());
contractRegisterNewRequest.setComment("comment");
ContractRegister predictableContractRegister = new ContractRegister();
predictableContractRegister.setName(contractRegisterNewRequest.getName());
predictableContractRegister.setNumber(contractRegisterNewRequest.getNumber());
predictableContractRegister.setIssueDate(contractRegisterNewRequest.getIssueDate());
predictableContractRegister.setCompanyFullName(contractRegisterNewRequest.getCompanyFullName());
predictableContractRegister.setCompanyId(contractRegisterNewRequest.getCompanyId());
predictableContractRegister.setDocumentType(contractRegisterNewRequest.getDocumentType());
predictableContractRegister.setIssuePlace(contractRegisterNewRequest.getIssuePlace());
predictableContractRegister.setIssuer(contractRegisterNewRequest.getIssuer());
predictableContractRegister.setIssuerCode(contractRegisterNewRequest.getIssuerCode());
predictableContractRegister.setPlace(contractRegisterNewRequest.getPlace());
predictableContractRegister.setValidFromDate(contractRegisterNewRequest.getValidFromDate());
predictableContractRegister.setValidToDate(contractRegisterNewRequest.getValidToDate());
predictableContractRegister.setCloseDate(contractRegisterNewRequest.getCloseDate());
predictableContractRegister.setComment(contractRegisterNewRequest.getComment());
//ACT
String jsonString = getJsonStringForNew(contractRegisterNewRequest, ID);
addRecordToKafka((MockConsumer) contractRegisterService.getConsumer(), TOPIC_REGISTRY_CONTRACT_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
ContractRegister resultNew = contractRegisterMap.getSingleObjectBySQL(String.format("companyId = %d", companyId));
predictableContractRegister.setId(resultNew.getId());
CLEAR_MEMBER_REGISTER_MATCHER.assertMatch(resultNew, predictableContractRegister);
}
}

View file

@ -0,0 +1,116 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.register.CoveredDealRegister;
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.registry.CoveredDealRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
CoveredDealRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class CoveredDealRegisterServiceTest {
public static final MatcherFactory.Matcher<CoveredDealRegister> COVERED_DEAL_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_COVERED_DEAL_REGISTER_NEW = Consts.REGISTRY_COVERED_DEAL_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
CoveredDealRegisterService coveredDealRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<CoveredDealRegister> coveredDealRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.coveredDealRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_CoveredDealRegister, CoveredDealRegister.class);
}
/**
* {@link CoveredDealRegisterService#coveredDealRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link CoveredDealRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link CoveredDealRegisterNewRequest}:<br>
*/
@Test
void coveredDealRegisterNew() {
//ARRANGE
Long executionId = 1234L;
CoveredDealRegisterNewRequest coveredDealRegisterNewRequest = new CoveredDealRegisterNewRequest();
coveredDealRegisterNewRequest.setExecutionId(executionId);
coveredDealRegisterNewRequest.setCompanyFullName("companyFullName");
coveredDealRegisterNewRequest.setTradingDate(LocalDate.now());
coveredDealRegisterNewRequest.setExchangeExecutionId(1212L);
coveredDealRegisterNewRequest.setExchangeExecutionTime(Instant.now());
coveredDealRegisterNewRequest.setSecuritySymbol("securitySymbol");
coveredDealRegisterNewRequest.setSecurityFullName("fullName");
coveredDealRegisterNewRequest.setSellerFullName("sellerFullName");
coveredDealRegisterNewRequest.setSellerClearingCode("sellerClearingCode");
coveredDealRegisterNewRequest.setSellerAccount("sellerAccount");
coveredDealRegisterNewRequest.setBuyerFullName("buyerFullName");
coveredDealRegisterNewRequest.setBuyerClearingCode("buyerClearingCode");
coveredDealRegisterNewRequest.setBuyerAccount("buyerAccount");
coveredDealRegisterNewRequest.setAmount(new BigDecimal(412));
coveredDealRegisterNewRequest.setClearingDate(LocalDate.now());
CoveredDealRegister predictableCoveredDealRegister = new CoveredDealRegister();
predictableCoveredDealRegister.setExecutionId(coveredDealRegisterNewRequest.getExecutionId());
predictableCoveredDealRegister.setCompanyFullName(coveredDealRegisterNewRequest.getCompanyFullName());
predictableCoveredDealRegister.setTradingDate(coveredDealRegisterNewRequest.getTradingDate());
predictableCoveredDealRegister.setExchangeExecutionId(coveredDealRegisterNewRequest.getExchangeExecutionId());
predictableCoveredDealRegister.setExchangeExecutionTime(coveredDealRegisterNewRequest.getExchangeExecutionTime());
predictableCoveredDealRegister.setSecuritySymbol(coveredDealRegisterNewRequest.getSecuritySymbol());
predictableCoveredDealRegister.setSecurityFullName(coveredDealRegisterNewRequest.getSecurityFullName());
predictableCoveredDealRegister.setSellerFullName(coveredDealRegisterNewRequest.getSellerFullName());
predictableCoveredDealRegister.setSellerClearingCode(coveredDealRegisterNewRequest.getSellerClearingCode());
predictableCoveredDealRegister.setSellerAccount(coveredDealRegisterNewRequest.getSellerAccount());
predictableCoveredDealRegister.setBuyerFullName(coveredDealRegisterNewRequest.getBuyerFullName());
predictableCoveredDealRegister.setBuyerClearingCode(coveredDealRegisterNewRequest.getBuyerClearingCode());
predictableCoveredDealRegister.setBuyerAccount(coveredDealRegisterNewRequest.getBuyerAccount());
predictableCoveredDealRegister.setAmount(coveredDealRegisterNewRequest.getAmount());
predictableCoveredDealRegister.setClearingDate(coveredDealRegisterNewRequest.getClearingDate());
//ACT
String jsonString = getJsonStringForNew(coveredDealRegisterNewRequest, ID);
addRecordToKafka((MockConsumer) coveredDealRegisterService.getConsumer(), TOPIC_REGISTRY_COVERED_DEAL_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
CoveredDealRegister resultNew = coveredDealRegisterMap.getSingleObjectBySQL(String.format("executionId = %d", executionId));
predictableCoveredDealRegister.setId(resultNew.getId());
COVERED_DEAL_REGISTER_MATCHER.assertMatch(resultNew, predictableCoveredDealRegister);
}
}

View file

@ -0,0 +1,105 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.register.OrderRegister;
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.registry.OrderRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.time.LocalDate;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
OrderRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class OrderRegisterServiceTest {
public static final MatcherFactory.Matcher<OrderRegister> ORDER_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_ORDER_REGISTER_NEW = Consts.REGISTRY_ORDER_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
OrderRegisterService orderRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<OrderRegister> orderRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.orderRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_OrderRegister, OrderRegister.class);
}
/**
* {@link OrderRegisterService#orderRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link OrderRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link OrderRegisterNewRequest}:<br>
*/
@Test
void orderRegisterNew() {
//ARRANGE
Long creditLegDirection = 1234L;
OrderRegisterNewRequest req = new OrderRegisterNewRequest();
req.setCreditLegAccount("creditLegAccount");
req.setCreditLegAmount(new BigDecimal(0));
req.setCreditLegCurrencyCode("creditLegCurrencyCode");
req.setCreditLegDirection(creditLegDirection);
req.setDebitLegAccount(req.getDebitLegAccount());
req.setSender(req.getSender());
req.setAddressee(req.getAddressee());
req.setDocumentNumber(req.getDocumentNumber());
req.setClearingDate(req.getClearingDate());
req.setClearingDate(LocalDate.now());
OrderRegister predictableOrderRegister = new OrderRegister();
predictableOrderRegister.setCreditLegAccount(req.getCreditLegAccount());
predictableOrderRegister.setCreditLegAmount(req.getCreditLegAmount());
predictableOrderRegister.setCreditLegCurrencyCode(req.getCreditLegCurrencyCode());
predictableOrderRegister.setCreditLegDirection(req.getCreditLegDirection());
predictableOrderRegister.setDebitLegAccount(req.getDebitLegAccount());
predictableOrderRegister.setSender(req.getSender());
predictableOrderRegister.setAddressee(req.getAddressee());
predictableOrderRegister.setDocumentNumber(req.getDocumentNumber());
predictableOrderRegister.setClearingDate(req.getClearingDate());
predictableOrderRegister.setClearingDate(req.getClearingDate());
//ACT
String jsonString = getJsonStringForNew(req, ID);
addRecordToKafka((MockConsumer) orderRegisterService.getConsumer(), TOPIC_REGISTRY_ORDER_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
OrderRegister resultNew = orderRegisterMap.getSingleObjectBySQL(String.format("creditLegDirection = %d", creditLegDirection));
predictableOrderRegister.setId(resultNew.getId());
ORDER_REGISTER_MATCHER.assertMatch(resultNew, predictableOrderRegister);
}
}

View file

@ -0,0 +1,118 @@
package ru.spcex.clearing.registry.service;
import org.apache.kafka.clients.consumer.MockConsumer;
import org.apache.kafka.clients.producer.MockProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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.register.UncoveredDealRegister;
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.registry.UncoveredDealRegisterNewRequest;
import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.registry.config.KafkaConfigTest;
import ru.spcex.clearing.registry.utils.MatcherFactory;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.registry.utils.TestUtils.*;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
UncoveredDealRegisterService.class,
KafkaConfigTest.class,
HazelcastServiceTestConfiguration.class})
class UncoveredDealRegisterServiceTest {
public static final MatcherFactory.Matcher<UncoveredDealRegister> UNCOVERED_DEAL_REGISTER_MATCHER = usingIgnoringFieldsComparator();
private static final int PARTITION = 0;
private static final String TOPIC_REGISTRY_UNCOVERED_DEAL_REGISTER_NEW = Consts.REGISTRY_UNCOVERED_DEAL_REGISTER_NEW;
private static final Long ID = currentID.getAndIncrement();
@Autowired
UncoveredDealRegisterService uncoveredDealRegisterService;
@Autowired
@Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest;
private Imdg<UncoveredDealRegister> uncoveredDealRegisterMap;
@Captor
private ArgumentCaptor<ProducerRecord> producerRecord;
@SpyBean
private MockProducer<String, Object> mockProducer;
@PostConstruct
private void init() {
hazelcastServiceTest.waitAvailable();
this.uncoveredDealRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_UncoveredDealRegister, UncoveredDealRegister.class);
}
/**
* {@link UncoveredDealRegisterService#uncoveredDealRegisterNew(BaseRequest)} <br>
* Тест проверяет создание сущности {@link UncoveredDealRegister} в Hazelcast при передаче из Apache Kafka.<br>
* Входной запрос {@link UncoveredDealRegisterNewRequest}:<br>
*/
@Test
void uncoveredDealRegisterNew() {
//ARRANGE
Long executionId = 1234L;
UncoveredDealRegisterNewRequest req = new UncoveredDealRegisterNewRequest();
req.setExecutionId(executionId);
req.setCompanyFullName("companyFullName");
req.setTradingDate(LocalDate.now());
req.setExchangeExecutionId(121L);
req.setExchangeExecutionTime(Instant.now());
req.setSecuritySymbol("securitySymbol");
req.setSecurityFullName("fullName");
req.setSellerFullName("sellerFullName");
req.setSellerClearingCode("sellerClearingCode");
req.setSellerAccount("sellerAccount");
req.setBuyerFullName("buyerFullName");
req.setBuyerClearingCode("clearingCode");
req.setBuyerAccount("buyerAccount");
req.setAmount(new BigDecimal(21));
req.setResultStatus("resultStatus");
req.setClearingDate(LocalDate.now());
UncoveredDealRegister predictableUncoveredDealRegister = new UncoveredDealRegister();
predictableUncoveredDealRegister.setExecutionId(req.getExecutionId());
predictableUncoveredDealRegister.setCompanyFullName(req.getCompanyFullName());
predictableUncoveredDealRegister.setTradingDate(req.getTradingDate());
predictableUncoveredDealRegister.setExchangeExecutionId(req.getExchangeExecutionId());
predictableUncoveredDealRegister.setExchangeExecutionTime(req.getExchangeExecutionTime());
predictableUncoveredDealRegister.setSecuritySymbol(req.getSecuritySymbol());
predictableUncoveredDealRegister.setSecurityFullName(req.getSecurityFullName());
predictableUncoveredDealRegister.setSellerFullName(req.getSellerFullName());
predictableUncoveredDealRegister.setSellerClearingCode(req.getSellerClearingCode());
predictableUncoveredDealRegister.setSellerAccount(req.getSellerAccount());
predictableUncoveredDealRegister.setBuyerFullName(req.getBuyerFullName());
predictableUncoveredDealRegister.setBuyerClearingCode(req.getBuyerClearingCode());
predictableUncoveredDealRegister.setBuyerAccount(req.getBuyerAccount());
predictableUncoveredDealRegister.setAmount(req.getAmount());
predictableUncoveredDealRegister.setResultStatus(req.getResultStatus());
predictableUncoveredDealRegister.setClearingDate(req.getClearingDate());
//ACT
String jsonString = getJsonStringForNew(req, ID);
addRecordToKafka((MockConsumer) uncoveredDealRegisterService.getConsumer(), TOPIC_REGISTRY_UNCOVERED_DEAL_REGISTER_NEW, PARTITION, 0, jsonString);
//ASSERT
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
UncoveredDealRegister resultNew = uncoveredDealRegisterMap.getSingleObjectBySQL(String.format("executionId = %d", executionId));
predictableUncoveredDealRegister.setId(resultNew.getId());
UNCOVERED_DEAL_REGISTER_MATCHER.assertMatch(resultNew, predictableUncoveredDealRegister);
}
}

View file

@ -1,12 +1,18 @@
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import java.math.BigDecimal;
import java.time.Instant;
public class BalanceRegisterNewRequest {
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant sDf01Date;
@ -55,6 +61,8 @@ public class BalanceRegisterNewRequest {
@JsonProperty
private Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant updatedAt;

View file

@ -1,10 +1,16 @@
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import java.time.Instant;
public class ClearMemberRegisterChangeNewRequest {
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant date;
@JsonProperty

View file

@ -1,6 +1,12 @@
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import java.time.Instant;
import java.time.LocalDate;
@ -52,27 +58,43 @@ public class ClearMemberRegisterNewRequest {
@JsonProperty
private String contractNumber;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate contractDate;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate registrationDate;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate systemDate;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant accessDate;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant suspentionDate;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant reopeningDate;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant closeDate;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant exclusionDate;
@ -85,9 +107,13 @@ public class ClearMemberRegisterNewRequest {
@JsonProperty
private Long id;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant updatedAt;

View file

@ -1,6 +1,12 @@
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import java.time.Instant;
import java.time.LocalDate;
@ -13,6 +19,8 @@ public class ContractRegisterNewRequest {
@JsonProperty
private String number;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate issueDate;
@ -37,12 +45,18 @@ public class ContractRegisterNewRequest {
@JsonProperty
private String place;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate validFromDate;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate validToDate;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate closeDate;
@ -52,9 +66,13 @@ public class ContractRegisterNewRequest {
@JsonProperty
private Long id;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant updatedAt;

View file

@ -2,6 +2,12 @@ package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import java.math.BigDecimal;
import java.time.Instant;
@ -15,12 +21,16 @@ public class CoveredDealRegisterNewRequest {
@JsonProperty
public String companyFullName;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
public LocalDate tradingDate;
@JsonProperty
public Long exchangeExecutionId;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
public Instant exchangeExecutionTime; //todo clarify is timestamp suitable for this request or not
@ -54,12 +64,18 @@ public class CoveredDealRegisterNewRequest {
@JsonProperty
public Long id;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
public Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
public Instant updatedAt;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
public LocalDate clearingDate;

View file

@ -2,6 +2,12 @@ package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import java.math.BigDecimal;
import java.time.Instant;
@ -36,12 +42,18 @@ public class OrderRegisterNewRequest {
@JsonProperty
private Long id;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant updatedAt;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate clearingDate;

View file

@ -1,6 +1,12 @@
package ru.spcex.clearing.platform.messaging.domain.cud.registry;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
import java.math.BigDecimal;
import java.time.Instant;
@ -14,12 +20,16 @@ public class UncoveredDealRegisterNewRequest {
@JsonProperty
private String companyFullName;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate tradingDate;
@JsonProperty
private Long exchangeExecutionId;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant exchangeExecutionTime;
@ -56,12 +66,18 @@ public class UncoveredDealRegisterNewRequest {
@JsonProperty
private Long id;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant createdAt;
@JsonSerialize(using = InstantDateTimeSerializer.class)
@JsonDeserialize(using = InstantDateTimeDeserializer.class)
@JsonProperty
private Instant updatedAt;
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonProperty
private LocalDate clearingDate;