PlannerTemplateServiceTest fix

This commit is contained in:
akulikov 2023-01-19 11:28:47 +03:00
parent 209edc1a44
commit 99c3a8e655

View file

@ -17,26 +17,43 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; 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.company.Company;
import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.profile.Contact;
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate; import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.TaskDictionary;
import ru.clearing.platform.dictionary.TaskStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateNewRequest; import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateUpdateRequest;
import ru.spcex.clearing.scheduler.config.validation.PlannerTemplateValidationConfig;
import ru.spcex.clearing.scheduler.config.validation.ValidationConfig;
import ru.spcex.clearing.scheduler.service.PlannerTemplateService; import ru.spcex.clearing.scheduler.service.PlannerTemplateService;
import ru.spcex.platform.enumeration.Status;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
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.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator;
import ru.specx.clearing.scheduler.config.HazelcastServiceTestConfiguration; import ru.specx.clearing.scheduler.config.HazelcastServiceTestConfiguration;
import java.time.Instant; import java.time.Instant;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.function.Function;
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = { @ContextConfiguration(classes = {
HazelcastServiceTestConfiguration.class}) HazelcastServiceTestConfiguration.class,
ValidationConfig.class,
PlannerTemplateValidationConfig.class
})
class PlannerTemplateServiceTest { class PlannerTemplateServiceTest {
private static final int PARTITION = 0; private static final int PARTITION = 0;
@ -48,8 +65,19 @@ class PlannerTemplateServiceTest {
private HazelcastService hazelcastServiceTest; private HazelcastService hazelcastServiceTest;
private MockConsumer<String, Object> mockConsumer; private MockConsumer<String, Object> mockConsumer;
private MockProducer<String, Object> mockProducer; private MockProducer<String, Object> mockProducer;
@Autowired
private IMessageResolver messageResolver; private IMessageResolver messageResolver;
@Autowired
private Function<CommonDeleteRequest, IValidator> plannerTemplateDeleteRequestValidation;
@Autowired
private Function<PlannerTemplateNewRequest, IValidator> plannerTemplateNewRequestValidation;
@Autowired
private Function<PlannerTemplateUpdateRequest, IValidator> plannerTemplateUpdateRequestValidation;
@BeforeEach @BeforeEach
void setUp() { void setUp() {
mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST); mockConsumer = new MockConsumer<>(OffsetResetStrategy.EARLIEST);
@ -63,14 +91,42 @@ class PlannerTemplateServiceTest {
*/ */
@Test @Test
public void newPlannerTemplateInQueue() throws InterruptedException { public void newPlannerTemplateInQueue() throws InterruptedException {
Task testTask = Task.accountBlock;
TaskDictionary taskDictionary = new TaskDictionary();
taskDictionary.setId(0L);
taskDictionary.setCode(testTask.getKey());
Imdg<TaskDictionary> taskDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_TaskDictionary, TaskDictionary.class);
taskDictionaryImdg.insert(taskDictionary);
Status testTaskStatus = Status.Active;
TaskStatusDictionary taskStatusDictionary = new TaskStatusDictionary();
taskStatusDictionary.setId(0L);
taskStatusDictionary.setCode(testTaskStatus.getKey());
Imdg<TaskStatusDictionary> taskStatusDictionaryImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_TaskStatusDictionary, TaskStatusDictionary.class);
taskStatusDictionaryImdg.insert(taskStatusDictionary);
long testCompanyId = 0L;
Company company = new Company();
company.setId(testCompanyId);
company.setWorkflowStatus(WorkflowStatus.Active.getKey());
Imdg<Company> companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
companyImdg.insert(company);
long testSecurityId = 0L;
Security security = new Security();
security.setId(testSecurityId);
security.setWorkflowStatus(WorkflowStatus.Active.getKey());
Imdg<Security> securityImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Security, Security.class);
securityImdg.insert(security);
//ARRANGE //ARRANGE
Instant created = Instant.now(); Instant created = Instant.now();
PlannerTemplate plannerTemplate = new PlannerTemplate(); PlannerTemplate plannerTemplate = new PlannerTemplate();
plannerTemplate.setTask("TASK"); plannerTemplate.setTask(testTask.getKey());
plannerTemplate.setTaskTime(LocalTime.MIDNIGHT); plannerTemplate.setTaskTime(LocalTime.now().plusHours(1));
plannerTemplate.setTaskStatus("TASK_STATUS"); plannerTemplate.setTaskStatus(testTaskStatus.getKey());
plannerTemplate.setCompanyId(0L); plannerTemplate.setCompanyId(testCompanyId);
plannerTemplate.setSecurityId(10L); plannerTemplate.setSecurityId(testSecurityId);
PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest(); PlannerTemplateNewRequest plannerTemplateNewRequest = new PlannerTemplateNewRequest();
plannerTemplateNewRequest.setTask(plannerTemplate.getTask()); plannerTemplateNewRequest.setTask(plannerTemplate.getTask());
@ -97,9 +153,9 @@ class PlannerTemplateServiceTest {
mockProducer, mockProducer,
hazelcastServiceTest, hazelcastServiceTest,
messageResolver, messageResolver,
null, plannerTemplateDeleteRequestValidation,
null, plannerTemplateNewRequestValidation,
null); plannerTemplateUpdateRequestValidation);
//callbacks set up //callbacks set up
plannerTemplateService.afterPropertiesSet(); plannerTemplateService.afterPropertiesSet();