From aebfc35eb415b9ff99a3a7028c76c9de5baf1b2f Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 21 Nov 2024 17:42:17 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-792 SFTP export fixed, tests updated --- .../logic/stages/ExportFromHazelcast.java | 21 +- .../exporter/logic/stages/WriteXMLFile.java | 42 -- .../xml/exporter/services/CommandService.java | 8 - .../logic/stages/ExportFromHazelcastTest.java | 107 +++++ .../logic/stages/WriteXMLFileTest.java | 433 ------------------ .../src/test/resources/application.properties | 6 +- .../xml-original/DF-02_S_PRC1604240915_1.xml | 4 +- .../xml-original/DF-03_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-05_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-07_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-51_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-53_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-54_S_PRC1604240915_1.xml | 2 +- .../xml-original/DF-56_S_PRC1604240915_1.xml | 2 +- 14 files changed, 137 insertions(+), 498 deletions(-) delete mode 100644 clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFile.java delete mode 100644 clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFileTest.java diff --git a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java index d0253c084..97ae19f4a 100644 --- a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java +++ b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java @@ -3,7 +3,9 @@ package ru.spcex.clearing.xml.exporter.logic.stages; import static ru.spcex.clearing.platform.messaging.domain.Consts.PAIR_SDF; import static ru.spcex.clearing.xml.exporter.logic.data.tags.objects.ObjectTag.ruCurrency; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; import java.io.File; +import java.io.IOException; import java.time.LocalDate; import java.time.LocalTime; import java.util.ArrayList; @@ -42,17 +44,20 @@ public class ExportFromHazelcast { private final Map> objectTagMap; private final Supplier kafkaSender; private final ExportXMLServiceSettings settings; + private final XmlMapper xmlMapper; public ExportFromHazelcast(ImdgProvider imdgProvider, SFTPConfig.XmlGateway gateway, @Qualifier("mapOfTable") Map> objectTagMap, Supplier kafkaSender, - ExportXMLServiceSettings settings) { + ExportXMLServiceSettings settings, + XmlMapper xmlMapper) { this.imdgProvider = imdgProvider; this.gateway = gateway; this.objectTagMap = objectTagMap; this.kafkaSender = kafkaSender; this.settings = settings; + this.xmlMapper = xmlMapper; } public StageResult process(ResultContainer resultContainer) { @@ -96,6 +101,13 @@ public class ExportFromHazelcast { documentTag.setObjects(List.of()); resultContainer.setDocumentTag(documentTag); + try { + xmlMapper.writeValue(xmlFile, documentTag); + } catch (IOException e) { + log.error(String.format("uuid %s. Can't export table %s (map %s) to file %s. Table was skipped.", + resultContainer.getUuid(), table, table.getHazelcastMapName(), xmlFile), e); + return StageResult.ERROR; + } gateway.sendToSftp(xmlFile, path); return StageResult.OK; } else { @@ -110,6 +122,13 @@ public class ExportFromHazelcast { documentTag.setObjects(addObjectTags(tableRows, table)); resultContainer.setDocumentTag(documentTag); + try { + xmlMapper.writeValue(xmlFile, documentTag); + } catch (IOException e) { + log.error(String.format("uuid %s. Can't export table %s (map %s) to file %s. Table was skipped.", + resultContainer.getUuid(), table, table.getHazelcastMapName(), xmlFile), e); + return StageResult.ERROR; + } log.debug("uuid {}, send to SFTP path \"{}\"", resultContainer.getUuid(), path); gateway.sendToSftp(xmlFile, path); diff --git a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFile.java b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFile.java deleted file mode 100644 index 78aaa12f6..000000000 --- a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFile.java +++ /dev/null @@ -1,42 +0,0 @@ -package ru.spcex.clearing.xml.exporter.logic.stages; - -import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import java.io.File; -import java.util.Objects; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Component; -import ru.spcex.clearing.xml.exporter.logic.data.ResultContainer; -import ru.spcex.clearing.xml.exporter.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.exporter.logic.data.enums.Table; -import ru.spcex.clearing.xml.exporter.logic.data.tags.DocumentTag; - -@Component -public class WriteXMLFile { - private final Logger log = LoggerFactory.getLogger(getClass()); - private final XmlMapper xmlMapper; - - public WriteXMLFile(@Qualifier("xmlMapper") XmlMapper xmlMapper) { - this.xmlMapper = xmlMapper; - } - - public StageResult process(ResultContainer resultContainer) { - log.info("uuid {}. Stage: {}", resultContainer.getUuid(), this.getClass().getSimpleName()); - Table table = Objects.requireNonNull(resultContainer.getTableForExport()); - File xmlFile = Objects.requireNonNull(resultContainer.getFileForExport()); - - DocumentTag documentTag = Objects.requireNonNull(resultContainer.getDocumentTag()); - - log.info("DOCUMENT TAG = {}", documentTag); - try { - xmlMapper.writeValue(xmlFile, documentTag); - } catch (Exception e) { - log.error(String.format("uuid %s. Can't export table %s (map %s) to file %s. Table was skipped.", - resultContainer.getUuid(), table, table.getHazelcastMapName(), xmlFile), e); - return StageResult.ERROR; - } - - return StageResult.OK; - } -} diff --git a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/services/CommandService.java b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/services/CommandService.java index 76e29bb98..6ffd447ec 100644 --- a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/services/CommandService.java +++ b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/services/CommandService.java @@ -21,7 +21,6 @@ import ru.spcex.clearing.xml.exporter.logic.data.enums.Table; import ru.spcex.clearing.xml.exporter.logic.stages.ExportFromHazelcast; import ru.spcex.clearing.xml.exporter.logic.stages.Journal; import ru.spcex.clearing.xml.exporter.logic.stages.PrepareXMLFile; -import ru.spcex.clearing.xml.exporter.logic.stages.WriteXMLFile; import ru.spcex.platform.enumeration.Task; @Service @@ -30,20 +29,17 @@ public class CommandService extends QueueConsumer implements InitializingBean { private final PrepareXMLFile prepareXMLFile; private final ExportFromHazelcast exportFromHazelcast; - private final WriteXMLFile writeXMLFile; private final Journal journal; private final String section; public CommandService(Consumer kafkaQueue, PrepareXMLFile prepareXMLFile, ExportFromHazelcast exportFromHazelcast, - WriteXMLFile writeXMLFile, Journal journal, @Value("${export-xml-service.section:S}") String section) { super(kafkaQueue); this.prepareXMLFile = prepareXMLFile; this.exportFromHazelcast = exportFromHazelcast; - this.writeXMLFile = writeXMLFile; this.journal = journal; this.section = section; } @@ -127,10 +123,6 @@ public class CommandService extends QueueConsumer implements InitializingBean { result = exportFromHazelcast.process(resultContainer); resultContainer.setLastStageResult(result); } - if (result == StageResult.OK) { - result = writeXMLFile.process(resultContainer); - resultContainer.setLastStageResult(result); - } if (result == StageResult.OK) { result = journal.process(resultContainer); resultContainer.setLastStageResult(result); diff --git a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java b/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java index c1ed724cc..e978c3374 100644 --- a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java +++ b/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java @@ -1,8 +1,13 @@ package ru.spcex.clearing.xml.exporter.logic.stages; +import static org.junit.jupiter.api.Assertions.fail; + import java.io.File; +import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; +import java.nio.file.Files; +import java.nio.file.Path; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; @@ -12,6 +17,7 @@ import org.apache.kafka.clients.producer.MockProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; @@ -90,6 +96,22 @@ class ExportFromHazelcastTest { new TestObjectCreator(hazelcastService).createUserAdmin(1000L); } + @AfterEach + void tearDown() { + try { + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-02_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-03_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-05_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-07_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-51_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-53_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-54_S_PRC1604240915_1.xml")); + Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-56_S_PRC1604240915_1.xml")); + } catch (IOException e) { + fail(e.getMessage()); + } + } + @Test void process_shouldExportSDf02ToObjectTag() { SDf02 expectedSDf02 = new SDf02(); @@ -130,6 +152,35 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getSumengage()).isEqualTo(expectedSDf02.getSumengage()); Assertions.assertThat(actualObjectTag.getSumunblock()).isEqualTo(expectedSDf02.getSumunblock()); Assertions.assertThat(actualObjectTag.getFileType()).isEqualTo(expectedSDf02.getFile_type()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } + } + + @Test + void process_shouldExportEmptySDf02ToObjectTag() { + ResultContainer actualResultContainer = new ResultContainer(Table.S_DF02, "S"); + actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-02_S_PRC1604240915_1.xml")); + + StageResult stageResult = exportFromHazelcast.process(actualResultContainer); + DF02ObjectTag actualObjectTag = (DF02ObjectTag) actualResultContainer.getDocumentTag().getObjects(); + + Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); + Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF02"); + Assertions.assertThat(actualObjectTag).isEqualTo(null); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -173,6 +224,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getSumDeb()).isEqualTo(expectedSDf03.getSum_deb()); Assertions.assertThat(actualObjectTag.getSpecif1()).isEqualTo(expectedSDf03.getSpecif_1()); Assertions.assertThat(actualObjectTag.getImpResult()).isEqualTo(expectedSDf03.getImp_result()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -198,6 +257,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getDt()).isEqualTo(expectedSDf05.getDt()); Assertions.assertThat(actualObjectTag.getTm()).isEqualTo(expectedSDf05.getTm()); Assertions.assertThat(actualObjectTag.getPr()).isEqualTo(expectedSDf05.getPr()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -241,6 +308,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getDocNum()).isEqualTo(expectedSDf07.getDoc_num()); Assertions.assertThat(actualObjectTag.getDocDate().format(formatter)).isEqualTo(expectedSDf07.getDoc_date()); Assertions.assertThat(actualObjectTag.getPayVal()).isEqualTo(expectedSDf07.getPay_val()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -263,6 +338,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getNumber()).isEqualTo(expectedSDf51.getNumber()); Assertions.assertThat(actualObjectTag.getUnixtime()).isEqualTo(Long.parseLong(expectedSDf51.getDatetime())); Assertions.assertThat(actualObjectTag.getDatetime()).isEqualTo(Instant.ofEpochMilli(Long.parseLong(expectedSDf51.getDatetime())).atZone(ZoneId.systemDefault()).toLocalDateTime()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -294,6 +377,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getStatus()).isEqualTo(expectedSDf53.getStatus()); Assertions.assertThat(actualObjectTag.getAccType()).isEqualTo(expectedSDf53.getAccType()); Assertions.assertThat(actualObjectTag.getResult()).isEqualTo(expectedSDf53.getResult()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -373,6 +464,14 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getValueDate().format(formatter)).isEqualTo(expectedSDf54.getValue_date()); Assertions.assertThat(actualObjectTag.getSwiftBen()).isEqualTo(expectedSDf54.getSwift_ben()); Assertions.assertThat(actualObjectTag.getSwiftInt()).isEqualTo(expectedSDf54.getSwift_int()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } @Test @@ -402,5 +501,13 @@ class ExportFromHazelcastTest { Assertions.assertThat(actualObjectTag.getEndDatetime()).isEqualTo(Instant.ofEpochMilli(Long.parseLong(expectedSDf56.getEnd_datetime())).atZone(ZoneId.systemDefault()).toLocalDateTime()); Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedSDf56.getAccount()); Assertions.assertThat(actualObjectTag.getDeal()).isEqualTo(expectedSDf56.getDeal()); + + try { + Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), + Path.of("./src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml"))) + .isEqualTo(-1L); + } catch (IOException e) { + fail("File comparison failed!"); + } } } \ No newline at end of file diff --git a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFileTest.java b/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFileTest.java deleted file mode 100644 index 71cdcf3d1..000000000 --- a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/WriteXMLFileTest.java +++ /dev/null @@ -1,433 +0,0 @@ -package ru.spcex.clearing.xml.exporter.logic.stages; - -import static org.junit.jupiter.api.Assertions.fail; - -import java.io.File; -import java.io.IOException; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.nio.file.Files; -import java.nio.file.Path; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZoneId; -import java.util.List; -import org.assertj.core.api.Assertions; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.TestPropertySource; -import ru.spcex.clearing.test.config.ImdgTestConfig; -import ru.spcex.clearing.xml.exporter.config.XMLExporterConfig; -import ru.spcex.clearing.xml.exporter.config.settings.ExportXMLServiceSettings; -import ru.spcex.clearing.xml.exporter.logic.data.ResultContainer; -import ru.spcex.clearing.xml.exporter.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.exporter.logic.data.enums.Table; -import ru.spcex.clearing.xml.exporter.logic.data.tags.DocumentTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.ParentDocTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF02ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF03ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF05ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF07ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF51ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF53ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF54ObjectTag; -import ru.spcex.clearing.xml.exporter.logic.data.tags.objects.DF56ObjectTag; - -@SpringBootTest(classes = { - WriteXMLFile.class, - ExportXMLServiceSettings.class, - XMLExporterConfig.class, - ImdgTestConfig.class, -}) -@TestPropertySource(properties = {"spring.config.location=./src/test/resources/"}) -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -class WriteXMLFileTest { - private final Logger log = LoggerFactory.getLogger(getClass()); - - @Autowired - private WriteXMLFile writeXMLFile; - - @AfterEach - void tearDown() { - try { - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-02_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-03_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-05_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-07_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-51_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-53_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-54_S_PRC1604240915_1.xml")); - Files.deleteIfExists(Path.of("./src/test/resources/xml/DF-56_S_PRC1604240915_1.xml")); - } catch (IOException e) { - fail(e.getMessage()); - } - } - - @Test - void process_shouldWriteSDf02ToXMLFile() { - DF02ObjectTag expectedObjectTag = new DF02ObjectTag(); - expectedObjectTag.setCurrCode("test1"); - expectedObjectTag.setAccount("test2"); - expectedObjectTag.setRemainder("test3"); - expectedObjectTag.setDeal("test4"); - expectedObjectTag.setAccCode("test5"); - expectedObjectTag.setDat(LocalDate.parse("2024-03-14")); - expectedObjectTag.setMarket("test6"); - expectedObjectTag.setAccName("test7"); - expectedObjectTag.setAccType("test8"); - expectedObjectTag.setSumengage("test9"); - expectedObjectTag.setSumunblock("test10"); - expectedObjectTag.setFileType("test11"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF02"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF02, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-02_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf03ToXMLFile() { - DF03ObjectTag expectedObjectTag = new DF03ObjectTag(); - expectedObjectTag.setSegType("test1"); - expectedObjectTag.setDocType("test2"); - expectedObjectTag.setDocnmRef("test3"); - expectedObjectTag.setDocnmprev("test4"); - expectedObjectTag.setcAccDeb("test5"); - expectedObjectTag.setSbanknam1("test6"); - expectedObjectTag.setcAccCred("test7"); - expectedObjectTag.setRbanknam1("test8"); - expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14")); - expectedObjectTag.setPayVal("test9"); - expectedObjectTag.setSumDeb("test10"); - expectedObjectTag.setSpecif1("test11"); - expectedObjectTag.setImpResult("test12"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF03"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF03, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-03_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf05ToXMLFile() { - DF05ObjectTag expectedObjectTag = new DF05ObjectTag(); - expectedObjectTag.setTp(BigDecimal.TEN); - expectedObjectTag.setDt(LocalDate.parse("2024-03-14")); - expectedObjectTag.setTm(LocalTime.parse("09:22:12")); - expectedObjectTag.setPr("test2"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF05"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF05, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-05_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf07ToXMLFile() { - DF07ObjectTag expectedObjectTag = new DF07ObjectTag(); - expectedObjectTag.setAccount("test1"); - expectedObjectTag.setSum(new BigDecimal(BigInteger.TEN)); - expectedObjectTag.setMarket("test3"); - expectedObjectTag.setType("test4"); - expectedObjectTag.setDeal("test5"); - expectedObjectTag.setClientN("test6"); - expectedObjectTag.setInn("test7"); - expectedObjectTag.setBic("test8"); - expectedObjectTag.setSpec("test9"); - expectedObjectTag.setNumber(new BigDecimal(BigInteger.TWO)); - expectedObjectTag.setDocNum("test11"); - expectedObjectTag.setDocDate(LocalDate.parse("2024-03-14")); - expectedObjectTag.setPayVal("test12"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF07"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF07, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-07_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf51ToXMLFile() { - DF51ObjectTag expectedObjectTag = new DF51ObjectTag(); - expectedObjectTag.setNumber("1234"); - expectedObjectTag.setDatetime(LocalDateTime.parse("2024-03-14T09:03:11")); - expectedObjectTag.setUnixtime(expectedObjectTag.getDatetime().atZone(ZoneId.systemDefault()).toEpochSecond()); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF51"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF51, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-51_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf53ToXMLFile() { - DF53ObjectTag expectedObjectTag = new DF53ObjectTag(); - expectedObjectTag.setAccount("test1"); - expectedObjectTag.setAccName("test2"); - expectedObjectTag.setDeal("test3"); - expectedObjectTag.setDate(LocalDate.parse("2024-03-14")); - expectedObjectTag.setStatus(1L); - expectedObjectTag.setAccType("test4"); - expectedObjectTag.setResult("test5"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF53"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF53, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-53_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf54ToXMLFile() { - DF54ObjectTag expectedObjectTag = new DF54ObjectTag(); - expectedObjectTag.setSegType("test1"); - expectedObjectTag.setDocType("test2"); - expectedObjectTag.setDocnmRef("test3"); - expectedObjectTag.setDocnmprev("test4"); - expectedObjectTag.setSbankcode("test5"); - expectedObjectTag.setcAccDeb("test6"); - expectedObjectTag.setSbanknam1("test7"); - expectedObjectTag.setRbankcode("test8"); - expectedObjectTag.setcAccCred("test9"); - expectedObjectTag.setRbanknam1("test10"); - expectedObjectTag.setOpType("test11"); - expectedObjectTag.setOpOrder("test12"); - expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14")); - expectedObjectTag.setPayVal("test13"); - expectedObjectTag.setSumDeb("test14"); - expectedObjectTag.setSclientn1("test15"); - expectedObjectTag.setInnDeb("test16"); - expectedObjectTag.setKppDeb("test17"); - expectedObjectTag.setAccDeb("test18"); - expectedObjectTag.setRclientn1("test19"); - expectedObjectTag.setInnCred("test20"); - expectedObjectTag.setKppCred("test21"); - expectedObjectTag.setAccKr1("test22"); - expectedObjectTag.setSpecif1("test23"); - expectedObjectTag.setSendType("test24"); - expectedObjectTag.setDocResult("test25"); - expectedObjectTag.setDocNum("test26"); - expectedObjectTag.setDocDate(LocalDate.parse("2024-03-15")); - expectedObjectTag.setValueDate(LocalDate.parse("2024-03-16")); - expectedObjectTag.setSwiftBen("test27"); - expectedObjectTag.setSwiftInt("test28"); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF54"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF54, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-54_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } - - @Test - void process_shouldWriteSDf56ToXMLFile() { - DF56ObjectTag expectedObjectTag = new DF56ObjectTag(); - expectedObjectTag.setNumber("test1"); - expectedObjectTag.setStartDatetime(LocalDateTime.parse("2024-03-14T09:03:11")); - expectedObjectTag.setEndDatetime(LocalDateTime.parse("2024-04-15T11:03:11")); - expectedObjectTag.setAccount("test4"); - expectedObjectTag.setDeal("test5"); - expectedObjectTag.setStartUnixtime(expectedObjectTag.getStartDatetime().atZone(ZoneId.systemDefault()).toEpochSecond()); - expectedObjectTag.setEndUnixtime(expectedObjectTag.getEndDatetime().atZone(ZoneId.systemDefault()).toEpochSecond()); - - ParentDocTag expectedParentDocTag = new ParentDocTag(); - expectedParentDocTag.setParentId(""); - - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId(""); - expectedDocumentTag.setMessageType("DF56"); - expectedDocumentTag.setMessageName(""); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender(""); - expectedDocumentTag.setReceiver(""); - expectedDocumentTag.setParentDoc(expectedParentDocTag); - expectedDocumentTag.setObjects(List.of(expectedObjectTag)); - - ResultContainer actualResultContainer = new ResultContainer(Table.S_DF56, "S"); - actualResultContainer.setFileForExport(new File("./src/test/resources/xml/DF-56_S_PRC1604240915_1.xml")); - actualResultContainer.setDocumentTag(expectedDocumentTag); - - StageResult stageResult = writeXMLFile.process(actualResultContainer); - Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); - - try { - Assertions.assertThat(Files.mismatch(actualResultContainer.getFileForExport().toPath(), - Path.of("./src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml"))) - .isEqualTo(-1L); - } catch (IOException e) { - fail("File comparison failed!"); - } - } -} \ No newline at end of file diff --git a/clearing-parent/xml-exporter/src/test/resources/application.properties b/clearing-parent/xml-exporter/src/test/resources/application.properties index 0202082f0..03c6c6e6b 100644 --- a/clearing-parent/xml-exporter/src/test/resources/application.properties +++ b/clearing-parent/xml-exporter/src/test/resources/application.properties @@ -29,8 +29,4 @@ export-xml-service.kafka-producer.acks=all export-xml-service.kafka-producer.retries=0 export-xml-service.kafka-producer.batch-size=16384 export-xml-service.kafka-producer.linger-ms=1 -export-xml-service.kafka-producer.buffer-memory=33554432 - -export-xml-service.section=S -export-xml-service.sender=LCC -export-xml-service.receiver=\u0439\u0439\u0439 \u0446\u0446\u0446 \ No newline at end of file +export-xml-service.kafka-producer.buffer-memory=33554432 \ No newline at end of file diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml index f6173c6b4..1304d3431 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml @@ -1,7 +1,7 @@ - + - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml index 222643ca5..b20b240d8 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml index 88dc88539..e6c54e03c 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml index e1434de47..9a3af18a7 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml index 9d4012b21..0b54e318d 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml index 62f94a3ec..cf3b9e9e3 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml index 04ad3f081..c4d8d252b 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml index 49c829c14..be6cb751f 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - +