registry-service http://jira.mfd.msk:8088/browse/CLS-638 LiabilitiesRegisterService поправил тест

This commit is contained in:
AKurakin 2024-01-31 10:53:45 +03:00
parent 24c203a83f
commit 1e1840028a
2 changed files with 59 additions and 15 deletions

View file

@ -1,13 +1,17 @@
package ru.spcex.clearing.registry.config;
import org.mockito.Mockito;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.sftp.session.SftpFileInfo;
import ru.spcex.clearing.registry.config.settings.RegistryServiceSettings;
import ru.spcex.clearing.registry.config.settings.ReportsStore;
import java.io.File;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class TestConfig {
@ -33,4 +37,26 @@ public class TestConfig {
return StandardCharsets.UTF_8;
}
@Bean
public SFTPReportsConfig.ReportsGateway reportsSftpGatewayMock() {
return new TestMockSFTP(); //sendFilesToSftp
}
public static class TestMockSFTP implements SFTPReportsConfig.ReportsGateway {
public List<File> sendFiles = new ArrayList<>();
@Override
public void sendToSftp(File file) {
sendFiles.add(file);
}
@Override
public List<SftpFileInfo> listFiles(String dir) {
return null;
}
public List<File> getSendFiles() {
return sendFiles;
}
}
}

View file

@ -17,6 +17,8 @@ import ru.clearing.classes.statics.data.register.LiabilitiesRegister;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.registry.config.SFTPReportsConfig;
import ru.spcex.clearing.registry.config.TestConfig;
import ru.spcex.clearing.registry.config.ValidationConfig;
import ru.spcex.clearing.test.TestUtils;
import ru.spcex.clearing.test.config.ImdgTestConfig;
@ -27,12 +29,15 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.utils.time.TimeUtil;
import javax.annotation.PostConstruct;
import java.io.File;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
@ -40,17 +45,18 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
LiabilitiesRegisterService.class,
ImdgTestConfig.class,
KafkaTestConfig.class,
TestConfig.class,
})
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class LiabilitiesRegisterServiceTest {
private static int requestCount = 0;
private static final String REGISTRY_DESIGNATION = RegistryDesignation.L.getKey();
private static final String REGISTRY_INSTRUMENT_TYPE = RegistryInstrumentType.S.getKey();
private static final String REGISTRY_DESIGNATION = RegistryDesignation.O.getKey();
private static final String REGISTRY_INSTRUMENT_TYPE = RegistryInstrumentType.M.getKey();
private static final String REGISTRY_UNIT = RegistryUnit.T.getKey();
private static final String REGISTRY_FULL_NAME = "MY FULLNAME";
private static final String REGISTRY_CODE = "ANY CODE";
private static final String REGISTRY_CODE = REGISTRY_DESIGNATION + REGISTRY_INSTRUMENT_TYPE + "A" + REGISTRY_UNIT; // OMAT
private static final String REGISTRY_ACCOUNT = "ANY ACCOUNT";
private static final String REGISTRY_STATUS = "ANY STATUS";
private static final String REGISTRY_STATUS = RegistryStatus.CLRD.getKey();
private static final Long REGISTRY_SESSION_ID = 1234L;
private static final Long REGISTRY_COMPANY_ID = 10101L;
private static final Long REGISTRY_SECURITY_ID = 123411L;
@ -74,6 +80,9 @@ class LiabilitiesRegisterServiceTest {
@Qualifier("mockProducer")
private Producer<String, Object> producer;
@Autowired
SFTPReportsConfig.ReportsGateway reportsGateway; // mock TestMockSFTP
@PostConstruct
private void init() {
ImdgTestConfig.waitAvailableImdgProviderAndAddAdminWithDefaultId();
@ -128,16 +137,25 @@ class LiabilitiesRegisterServiceTest {
//take all values is procceed imdg
Collection<LiabilitiesRegister> allValues = liabilitiesRegisterMap.getAllValues();
LiabilitiesRegister liabilitiesRegister = allValues.iterator().next();
assertEquals(REGISTRY_COMPANY_ID, liabilitiesRegister.getCompanyId());
assertEquals(REGISTRY_FULL_NAME, liabilitiesRegister.getCompanyFullName());
assertEquals(REGISTRY_CODE, liabilitiesRegister.getRegistryCode());
assertEquals(REGISTRY_ACCOUNT, liabilitiesRegister.getAccount());
assertEquals(REGISTRY_STATUS, liabilitiesRegister.getRegistryStatus());
assertEquals(REGISTRY_BALANCE, liabilitiesRegister.getSumLiabilities());
assertEquals(REGISTRY_SETTLEMENT_DATE, liabilitiesRegister.getSettlementDate());
assertEquals(SESSION_CLEARING_DATE, liabilitiesRegister.getValidFromDate());
assertEquals(TimeUtil.toLocalDate(SESSION_UPDATE), liabilitiesRegister.getValidToDate());
assertEquals(COMPANY_SYMBOL_VALUE, liabilitiesRegister.getInn());
assertEquals(0, allValues.size()); // пока объекты не создаются, только в csv/xlsx файлы записываются
// LiabilitiesRegister liabilitiesRegister = allValues.iterator().next();
// assertEquals(REGISTRY_COMPANY_ID, liabilitiesRegister.getCompanyId());
// assertEquals(REGISTRY_FULL_NAME, liabilitiesRegister.getCompanyFullName());
// assertEquals(REGISTRY_CODE, liabilitiesRegister.getRegistryCode());
// assertEquals(REGISTRY_ACCOUNT, liabilitiesRegister.getAccount());
// assertEquals(REGISTRY_STATUS, liabilitiesRegister.getRegistryStatus());
// assertEquals(REGISTRY_BALANCE, liabilitiesRegister.getSumLiabilities());
// assertEquals(REGISTRY_SETTLEMENT_DATE, liabilitiesRegister.getSettlementDate());
// assertEquals(SESSION_CLEARING_DATE, liabilitiesRegister.getValidFromDate());
// assertEquals(TimeUtil.toLocalDate(SESSION_UPDATE), liabilitiesRegister.getValidToDate());
// assertEquals(COMPANY_SYMBOL_VALUE, liabilitiesRegister.getInn());
// out file verify:
// out\registry_240131104359228.xlsx
List<File> sendFiles = ((TestConfig.TestMockSFTP) reportsGateway).getSendFiles(); // mock TestMockSFTP
assertEquals(1, sendFiles.size());
File tempFile = sendFiles.get(0);
assertTrue(tempFile.length() > 1000, "Out file \"" + tempFile + "\" too small: " + tempFile.length());
tempFile.delete();
}
}