fixing bug.

This commit is contained in:
psemenkov 2023-01-30 17:00:41 +03:00
parent 0ad22fafa0
commit 0f83d46ad8

View file

@ -17,8 +17,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.context.junit.jupiter.SpringExtension;
import ru.clearing.classes.statics.data.account.BankAccount; import ru.clearing.classes.statics.data.account.BankAccount;
import ru.spcex.clearing.account.config.ErrorResolverConfig;
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration; import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
import ru.spcex.clearing.account.config.KafkaConfigTest; import ru.spcex.clearing.account.config.ValidationConfig;
import ru.spcex.clearing.account.utils.ImapEvent; import ru.spcex.clearing.account.utils.ImapEvent;
import ru.spcex.clearing.account.utils.MatcherFactory.Matcher; import ru.spcex.clearing.account.utils.MatcherFactory.Matcher;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -29,12 +30,14 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewReq
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.function.Function;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import static ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration.currentID;
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator; import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@ -47,22 +50,25 @@ public class BankAccountServiceTest {
private static final String TOPIC_ACCOUNT_NEW = Consts.DESTINATION_BANK_ACCOUNT_NEW; private static final String TOPIC_ACCOUNT_NEW = Consts.DESTINATION_BANK_ACCOUNT_NEW;
private static final String TOPIC_ACCOUNT_UPDATE = Consts.DESTINATION_BANK_ACCOUNT_UPDATE; private static final String TOPIC_ACCOUNT_UPDATE = Consts.DESTINATION_BANK_ACCOUNT_UPDATE;
private static final String TOPIC_ACCOUNT_DELETE = Consts.DESTINATION_BANK_ACCOUNT_DELETE; private static final String TOPIC_ACCOUNT_DELETE = Consts.DESTINATION_BANK_ACCOUNT_DELETE;
private static final Long ID = currentID.getAndIncrement(); private static final Long ID = 0L;
@Autowired @Autowired
@Qualifier("hazelcastServiceTest") @Qualifier("hazelcastServiceTest")
private HazelcastService hazelcastServiceTest; private HazelcastService hazelcastServiceTest;
private MockConsumer<String, Object> mockConsumer; @Autowired
private IMessageResolver messageResolver;
@Autowired @Autowired
@Qualifier("mockProducerTest") private Function<BankAccountNewRequest, IValidator> bankAccountNewRequestValidator;
private MockProducer<String, Object> mockProducer;
private MockConsumer<String, Object> mockConsumer;
private MockProducer<String, Object> mockProducer;
@BeforeEach @BeforeEach
void setUp() { void setUp() {
mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST); mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST);
mockProducer = new MockProducer<>();
} }
/** /**
@ -118,9 +124,10 @@ public class BankAccountServiceTest {
//ACT //ACT
hazelcastServiceTest.waitTillReadyState(); hazelcastServiceTest.waitTillReadyState();
//service set up //service set up
BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer, hazelcastServiceTest); BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer, hazelcastServiceTest, messageResolver, bankAccountNewRequestValidator);
//callbacks set up //callbacks set up
bankAccountService.afterPropertiesSet(); bankAccountService.afterPropertiesSet();
//KAFKA //KAFKA
mockConsumer.schedulePollTask(() -> { mockConsumer.schedulePollTask(() -> {
mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC_ACCOUNT_NEW, PARTITION))); mockConsumer.rebalance(Collections.singletonList(new TopicPartition(TOPIC_ACCOUNT_NEW, PARTITION)));
@ -213,8 +220,7 @@ public class BankAccountServiceTest {
hazelcastServiceTest.waitTillReadyState(); hazelcastServiceTest.waitTillReadyState();
//service set up //service set up
BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer, BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer,
hazelcastServiceTest, messageResolver, hazelcastServiceTest, messageResolver, bankAccountNewRequestValidator);
bankAccountNewRequestValidator);
//callbacks set up //callbacks set up
bankAccountService.afterPropertiesSet(); bankAccountService.afterPropertiesSet();
@ -280,8 +286,7 @@ public class BankAccountServiceTest {
//service set up //service set up
hazelcastServiceTest.waitTillReadyState(); hazelcastServiceTest.waitTillReadyState();
BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer, BankAccountService bankAccountService = new BankAccountService(mockConsumer, mockProducer,
hazelcastServiceTest, messageResolver, hazelcastServiceTest, messageResolver, bankAccountNewRequestValidator);
bankAccountNewRequestValidator);
//callbacks set up //callbacks set up
bankAccountService.afterPropertiesSet(); bankAccountService.afterPropertiesSet();