gett
R validatedObject = context.getValidatedObject();
LocalTime date = getter.apply(validatedObject);
if (date == null) return required ? of(ValidationError.EmptyRequiredValue, fieldName) : Optional.empty();
- if (date.isBefore(LocalTime.now())) return of(ValidationError.TaskForPastTime, fieldName);
+ if (date.isBefore(LocalTime.now()))
+ return isToday ? of(ValidationError.TaskForPastTime, fieldName) : Optional.empty();
return Optional.empty();
}
}
diff --git a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/config/HazelcastServiceTestConfiguration.java b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/config/HazelcastServiceTestConfiguration.java
deleted file mode 100644
index ed08bbbb9..000000000
--- a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/config/HazelcastServiceTestConfiguration.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package ru.specx.clearing.scheduler.config;
-
-import com.hazelcast.config.*;
-import com.hazelcast.core.Hazelcast;
-import com.hazelcast.core.HazelcastInstance;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
-import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
-import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper;
-import ru.spcex.platform.utils.enumeration.IMessageResolver;
-import ru.spcex.platform.utils.enumeration.SimpleMessageResolver;
-
-import java.util.List;
-import java.util.Random;
-
-@Configuration
-public class HazelcastServiceTestConfiguration {
- private HazelcastInstance hazelcastInstance;
-
- private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) {
- ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor();
- if (maxPoolSz > 2) {
- pool.setKeepAliveSeconds(60);
- pool.setAllowCoreThreadTimeOut(true);
- }
- pool.setCorePoolSize(maxPoolSz);
- pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion);
- return pool;
- }
-
- @Bean(name = "hazelcastServiceTest")
- public HazelcastService hazelcastService(@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, HazelcastClientParams params) {
- Config cfg = new Config();
- cfg.setInstanceName("localhost");
-
- NetworkConfig networkConfig = new NetworkConfig();
- JoinConfig joinConfig = new JoinConfig();
- joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false));
- joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1")));
- networkConfig.setJoin(joinConfig);
- cfg.setNetworkConfig(networkConfig);
- hazelcastInstance = Hazelcast.newHazelcastInstance(cfg);
- HazelcastHelper.imdgSystem_setStorageState(true, hazelcastInstance);
- return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params);
- }
-
- @Bean(name = "taskExecutorHazelcastClientInitializer")
- public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() {
- return createThreadPoolTaskExecutor(1, true);
- }
-
- @Bean(name = "taskExecutorIdGeneratorAwaiter")
- public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() {
- return createThreadPoolTaskExecutor(1, false);
- }
-
- @Bean(name = "hazelcastClientParams")
- public HazelcastClientParams getHazelcastClientParams() {
- HazelcastClientParams params = new HazelcastClientParams();
- params.setLogin("dev");
- params.setPassword("dev-pass");
- params.setClusterMembers("127.0.0.1");
- params.setInstanceName("hzTestClient" + new Random().nextInt());
- params.setNearCacheConfig(new NearCacheConfig());
- return params;
- }
-
- @Bean
- public IMessageResolver messageResolver() {
- return new SimpleMessageResolver();
- }
-}
diff --git a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/utils/MatcherFactory.java b/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/utils/MatcherFactory.java
deleted file mode 100644
index c214393ea..000000000
--- a/clearing-parent/scheduler-service/src/test/java/ru/specx/clearing/scheduler/utils/MatcherFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package ru.specx.clearing.scheduler.utils;
-
-import java.util.Arrays;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Factory for creating test matchers.
- *
- * Comparing actual and expected objects via AssertJ
- */
-public class MatcherFactory {
-
- public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) {
- return new Matcher<>(fieldsToIgnore);
- }
-
- public static class Matcher {
- private final String[] fieldsToIgnore;
-
- private Matcher(String... fieldsToIgnore) {
- this.fieldsToIgnore = fieldsToIgnore;
- }
-
- public void assertMatch(T actual, T expected) {
- assertThat(actual).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(expected);
- }
-
- @SafeVarargs
- public final void assertMatch(Iterable actual, T... expected) {
- assertMatch(actual, Arrays.asList(expected));
- }
-
- public void assertMatch(Iterable actual, Iterable expected) {
- assertThat(actual).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(expected);
- }
- }
-}