diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java
index 1cf4fea50..ecf793c94 100644
--- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java
+++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/PaymentUpdateBySdf04Test.java
@@ -46,6 +46,12 @@ class PaymentUpdateBySdf04Test extends AbstractClearingTest {
this.settingResult = ArgumentCaptor.forClass(PaymentInstruction.class);
}
+ /**
+ * {@link PaymentUpdateBySdf04#updatePayments(Long)} ()}
+ * Тест проверяет обновление сущности
+ * {@link PaymentInstruction}
+ * в Hazelcast при передаче из Apache Kafka.
+ */
@Test
void updatePayments() throws NoSuchFieldException, IllegalAccessException {
//ARRANGE
diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java
index a58bda101..5f981d193 100644
--- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java
+++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/VerificationResultComponentTest.java
@@ -13,6 +13,7 @@ import ru.clearing.classes.statics.data.sdf.SDf01;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.platform.enumeration.AccountType;
+import ru.spcex.platform.enumeration.ResultStatuses;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast;
@@ -23,15 +24,15 @@ import java.math.BigDecimal;
import java.util.Collection;
import java.util.concurrent.atomic.AtomicInteger;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.*;
-import static ru.spcex.clearing.utils.TestUtils.addRecordToKafka;
-import static ru.spcex.clearing.utils.TestUtils.getJsonStringForUPDATE;
+import static ru.spcex.clearing.utils.TestUtils.*;
class VerificationResultComponentTest extends AbstractClearingTest {
private static final int PARTITION = 0;
private static final AtomicInteger currentInteger = new AtomicInteger(1);
private static final String TOPIC_VERIFICATION = Task.getVerification.topic();
- private final ArgumentCaptor settingResult = ArgumentCaptor.forClass(VerificationResult.class);
+
@Autowired
EventsReceiver eventsReceiver;
private Imdg sdf01Imdg;
@@ -53,8 +54,6 @@ class VerificationResultComponentTest extends AbstractClearingTest {
.serializable()
.spiedInstance(verificationResultImdg)
.defaultAnswer(CALLS_REAL_METHODS));
-
- //setting imdg for been VerificationResultComponent
Field dbServiceField = null;
try {
dbServiceField = VerificationResultComponent.class.getDeclaredField("verificationResultImdg");
@@ -67,10 +66,15 @@ class VerificationResultComponentTest extends AbstractClearingTest {
}
}
+ /**
+ * {@link VerificationResultComponent#executeRevision()} ()}
+ * Тест проверяет создание сущностей
+ * {@link VerificationResult}
+ * в Hazelcast при передаче из Apache Kafka.
+ */
@Test
void executeRevision() {
//ARRANGE
- int times = currentInteger.getAndIncrement();
Long companyId = 10L;
String acc = "15444876546";
String remainder = "15";
@@ -97,15 +101,42 @@ class VerificationResultComponentTest extends AbstractClearingTest {
company.setClearingCode("codeTest");
companyImdg.insert(company);
+ //ACT & ASSERT
+ checkVerificationResults(ResultStatuses.success.getKey());
+
+ // сравнить remainder==balance
+ sDf01.setRemainder(remainder + "1");
+ sdf01Imdg.insert(sDf01);
+ //ACT & ASSERT
+ checkVerificationResults(ResultStatuses.notSuccess.getKey());
+
+ // 2.1 Номера торговых/клиринговых счетов, соответствующие загруженным в КС
+ sDf01.setRemainder(remainder);
+ sDf01.setDeal(acc + "1");
+ sdf01Imdg.insert(sDf01);
+ //ACT & ASSERT
+ checkVerificationResults(ResultStatuses.notSuccess.getKey());
+ }
+
+ private void checkVerificationResults(String resultStatuses) {
+ int times = currentInteger.getAndIncrement();
//ACT
addRecordToKafka((MockConsumer) eventsReceiver.getConsumer(), TOPIC_VERIFICATION,
PARTITION, times, getJsonStringForUPDATE(new LauncherCommandRequest(), 1L));
- //waiting for kafka producer send message
- verify(verificationResultImdgMock, timeout(30_000L).times(4))
+ ArgumentCaptor settingResult = ArgumentCaptor.forClass(VerificationResult.class);
+ verify(verificationResultImdgMock, timeout(30_000L).times(4 * times))
.insert(settingResult.capture());
- settingResult.getValue();
- Collection result = verificationResultImdg.getAllValues();
- result.size();
+ Collection results = verificationResultImdg.getAllValues();
+
+ Long generationId = null;
+
+ //ASSERT
+ for (VerificationResult verificationResult : results) {
+ if (generationId == null) generationId = verificationResult.getGenerationId();
+ assertEquals(resultStatuses, verificationResult.getGenerationStatus());
+ assertEquals(generationId, verificationResult.getGenerationId());
+ }
+ clearAllInImdg(verificationResultImdg);
}
}
\ No newline at end of file