From 3c3e340bcd79d42673f5d860bfd50c2324e19df9 Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Thu, 11 Sep 2025 16:38:31 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/BKI-3199 Added test for MonitoringReportErrorsStaxtReader --- .../ru/nbch/credit_tracker/stax/StaxTest.java | 35 +++++++++++++++++++ .../monitoring_request/xml/report_errors.xml | 15 ++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/test/resources/monitoring_request/xml/report_errors.xml diff --git a/src/test/java/ru/nbch/credit_tracker/stax/StaxTest.java b/src/test/java/ru/nbch/credit_tracker/stax/StaxTest.java index a8f2ba9..098d2eb 100644 --- a/src/test/java/ru/nbch/credit_tracker/stax/StaxTest.java +++ b/src/test/java/ru/nbch/credit_tracker/stax/StaxTest.java @@ -6,6 +6,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import ru.nbch.credit_tracker.entities.dto.PhoneFidMap; +import ru.nbch.credit_tracker.entities.external_response.monitoring_report_error.MonitoringReportErrors; import ru.nbch.credit_tracker.entities.external_response.online_download.Person; import ru.nbch.credit_tracker.entities.external_response.online_download.Persons; import ru.nbch.credit_tracker.entities.user_request.monitoring_request.MonitoringRequest; @@ -35,6 +37,7 @@ public class StaxTest { List>> staxReader = new ArrayList<>(); staxReader.add(MonitoringRequestStaxReader::new); staxReader.add(OnlineDownloadReportPersonsStaxReader::new); + staxReader.add(MonitoringReportErrorsStaxtReader::new); return new XmlProcessorStaxImpl(staxReader); } } @@ -150,4 +153,36 @@ public class StaxTest { 4, "/Report/Persons/Person"); } + + @Test + void testMonitoringReportErrors() { + List subjects = new ArrayList<>(); + staxXmlProcessor.read(getClass().getResourceAsStream("/monitoring_request/xml/report_errors.xml"), MonitoringReportErrors.class, + request -> { + if (!request.getPersons().isEmpty()) { + List batch = request.getPersons().stream().map(p -> { + return PhoneFidMap.builder() + .id(p.getUid()) + .errorText(p.getValue()) + .build(); + }).toList(); + subjects.addAll(batch); + request.getPersons().clear(); + } + }, + request -> request.getPersons().isEmpty() + , + 3, "/Errors/p"); + + Assertions.assertEquals(4, subjects.size()); + + Assertions.assertEquals(97821754, subjects.get(0).getId()); + Assertions.assertEquals("ERROR_TEXT_1", subjects.get(0).getErrorText()); + Assertions.assertEquals(97821755, subjects.get(1).getId()); + Assertions.assertEquals("ERROR_TEXT_2", subjects.get(1).getErrorText()); + Assertions.assertEquals(97821756, subjects.get(2).getId()); + Assertions.assertEquals("ERROR_TEXT_3", subjects.get(2).getErrorText()); + Assertions.assertEquals(97821757, subjects.get(3).getId()); + Assertions.assertEquals("ERROR_TEXT_4", subjects.get(3).getErrorText()); + } } diff --git a/src/test/resources/monitoring_request/xml/report_errors.xml b/src/test/resources/monitoring_request/xml/report_errors.xml new file mode 100644 index 0000000..f0065e7 --- /dev/null +++ b/src/test/resources/monitoring_request/xml/report_errors.xml @@ -0,0 +1,15 @@ + + + 0001XX_MY_BATCH_223112 + 1 + 0001ZZ000001 + 11.09.2025 11:05:29 +

ERROR_TEXT_1 +

+

ERROR_TEXT_2 +

+

ERROR_TEXT_3 +

+

ERROR_TEXT_4 +

+
\ No newline at end of file