Set Spring Cloud Task Date Strategy to match Batch

resolves #868
Signed-off-by: Glenn Renfro <grenfro@vmware.com>

Updated the timestamps for H2,oracle, db2, hsqldb to be 9 digits for improved accuracy
This commit is contained in:
Glenn Renfro
2022-10-18 08:17:38 -04:00
parent cf8056880b
commit a0fda4bf6e
30 changed files with 243 additions and 247 deletions

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.task.configuration;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import javax.sql.DataSource;
@@ -93,7 +93,7 @@ public class RepositoryTransactionManagerConfigurationTests {
TaskExecution taskExecution = taskRepository.createTaskExecution("transactionManagerTask");
taskExecution = taskRepository.startTaskExecution(taskExecution.getExecutionId(),
taskExecution.getTaskName(), new Date(), new ArrayList<>(0), null);
taskExecution.getTaskName(), LocalDateTime.now(), new ArrayList<>(0), null);
TaskLifecycleListener listener = context.getBean(TaskLifecycleListener.class);

View File

@@ -17,8 +17,8 @@
package org.springframework.cloud.task.listener;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -81,8 +81,8 @@ public class TaskExecutionListenerTests {
setupContextForTaskExecutionListener();
DefaultTaskListenerConfiguration.TestTaskExecutionListener taskExecutionListener = this.context
.getBean(DefaultTaskListenerConfiguration.TestTaskExecutionListener.class);
TaskExecution taskExecution = new TaskExecution(0, null, "wombat", new Date(), new Date(), null,
new ArrayList<>(), null, null);
TaskExecution taskExecution = new TaskExecution(0, null, "wombat", LocalDateTime.now(), LocalDateTime.now(),
null, new ArrayList<>(), null, null);
verifyListenerResults(false, false, taskExecution, taskExecutionListener);
}
@@ -155,8 +155,8 @@ public class TaskExecutionListenerTests {
this.context.publishEvent(new ApplicationReadyEvent(new SpringApplication(), new String[0], this.context,
Duration.ofSeconds(50)));
TaskExecution taskExecution = new TaskExecution(0, 0, "wombat", new Date(), new Date(), null, new ArrayList<>(),
null, null);
TaskExecution taskExecution = new TaskExecution(0, 0, "wombat", LocalDateTime.now(), LocalDateTime.now(), null,
new ArrayList<>(), null, null);
verifyListenerResults(true, false, taskExecution, taskExecutionListener);
}
@@ -175,8 +175,8 @@ public class TaskExecutionListenerTests {
this.context.publishEvent(
new ApplicationReadyEvent(application, new String[0], this.context, Duration.ofSeconds(50)));
TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", new Date(), new Date(), null, new ArrayList<>(),
null, null);
TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", LocalDateTime.now(), LocalDateTime.now(), null,
new ArrayList<>(), null, null);
verifyListenerResults(true, true, taskExecution, taskExecutionListener);
}
@@ -189,8 +189,8 @@ public class TaskExecutionListenerTests {
setupContextForAnnotatedListener();
DefaultAnnotationConfiguration.AnnotatedTaskListener annotatedListener = this.context
.getBean(DefaultAnnotationConfiguration.AnnotatedTaskListener.class);
TaskExecution taskExecution = new TaskExecution(0, null, "wombat", new Date(), new Date(), null,
new ArrayList<>(), null, null);
TaskExecution taskExecution = new TaskExecution(0, null, "wombat", LocalDateTime.now(), LocalDateTime.now(),
null, new ArrayList<>(), null, null);
verifyListenerResults(false, false, taskExecution, annotatedListener);
}
@@ -206,8 +206,8 @@ public class TaskExecutionListenerTests {
this.context.publishEvent(new ApplicationReadyEvent(new SpringApplication(), new String[0], this.context,
Duration.ofSeconds(50)));
TaskExecution taskExecution = new TaskExecution(0, 0, "wombat", new Date(), new Date(), null, new ArrayList<>(),
null, null);
TaskExecution taskExecution = new TaskExecution(0, 0, "wombat", LocalDateTime.now(), LocalDateTime.now(), null,
new ArrayList<>(), null, null);
verifyListenerResults(true, false, taskExecution, annotatedListener);
}
@@ -226,8 +226,8 @@ public class TaskExecutionListenerTests {
this.context.publishEvent(
new ApplicationReadyEvent(application, new String[0], this.context, Duration.ofSeconds(50)));
TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", new Date(), new Date(), null, new ArrayList<>(),
null, null);
TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", LocalDateTime.now(), LocalDateTime.now(), null,
new ArrayList<>(), null, null);
verifyListenerResults(true, true, taskExecution, annotatedListener);
}

View File

@@ -255,7 +255,8 @@ public class TaskLifecycleListenerTests {
}
if (update) {
assertThat(taskExecution.getEndTime().getTime() >= taskExecution.getStartTime().getTime()).isTrue();
assertThat(taskExecution.getEndTime().isAfter(taskExecution.getStartTime())
|| taskExecution.getEndTime().isEqual(taskExecution.getStartTime())).isTrue();
assertThat(taskExecution.getExitCode()).isNotNull();
}
else {

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.task.micrometer;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import io.micrometer.core.instrument.LongTaskTimer;
import io.micrometer.core.instrument.Tags;
@@ -99,8 +99,8 @@ public class TaskObservationsTests {
@Test
public void defaultTaskTest() {
TaskExecution taskExecution = new TaskExecution(123L, 0, null, new Date(), new Date(), null, new ArrayList<>(),
null, null, null);
TaskExecution taskExecution = new TaskExecution(123L, 0, null, LocalDateTime.now(), LocalDateTime.now(), null,
new ArrayList<>(), null, null, null);
// Start Task
taskObservations.onTaskStartup(taskExecution);
@@ -274,8 +274,8 @@ public class TaskObservationsTests {
}
private TaskExecution startupObservationForBasicTests(String taskName, long taskExecutionId) {
TaskExecution taskExecution = new TaskExecution(taskExecutionId, 0, taskName, new Date(), new Date(), null,
new ArrayList<>(), null, "-1", -1L);
TaskExecution taskExecution = new TaskExecution(taskExecutionId, 0, taskName, LocalDateTime.now(),
LocalDateTime.now(), null, new ArrayList<>(), null, "-1", -1L);
// Start Task
taskObservations.onTaskStartup(taskExecution);

View File

@@ -16,10 +16,8 @@
package org.springframework.cloud.task.repository.dao;
import java.util.Calendar;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.List;
import java.util.TimeZone;
import org.junit.jupiter.api.Test;
@@ -90,15 +88,12 @@ public abstract class BaseTaskExecutionDaoTestCases {
final TaskExecution lastTaskExecution = latestTaskExecutions.get(0);
assertThat(lastTaskExecution.getTaskName()).isEqualTo("FOO1");
final Calendar dateTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTime.setTime(lastTaskExecution.getStartTime());
assertThat(dateTime.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTime.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTime.get(Calendar.DAY_OF_MONTH)).isEqualTo(22);
assertThat(dateTime.get(Calendar.HOUR_OF_DAY)).isEqualTo(23);
assertThat(dateTime.get(Calendar.MINUTE)).isEqualTo(59);
assertThat(dateTime.get(Calendar.SECOND)).isEqualTo(0);
assertThat(lastTaskExecution.getStartTime().getYear()).isEqualTo(2015);
assertThat(lastTaskExecution.getStartTime().getMonthValue()).isEqualTo(2);
assertThat(lastTaskExecution.getStartTime().getDayOfMonth()).isEqualTo(22);
assertThat(lastTaskExecution.getStartTime().getHour()).isEqualTo(23);
assertThat(lastTaskExecution.getStartTime().getMinute()).isEqualTo(59);
assertThat(lastTaskExecution.getStartTime().getSecond()).isEqualTo(0);
}
@Test
@@ -110,35 +105,31 @@ public abstract class BaseTaskExecutionDaoTestCases {
assertThat(latestTaskExecutions.size() == 3)
.as("Expected 3 taskExecutions but got " + latestTaskExecutions.size()).isTrue();
final Calendar dateTimeFoo3 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTimeFoo3.setTime(latestTaskExecutions.get(0).getStartTime());
LocalDateTime startDateTime = latestTaskExecutions.get(0).getStartTime();
assertThat(startDateTime.getYear()).isEqualTo(2016);
assertThat(startDateTime.getMonthValue()).isEqualTo(8);
assertThat(startDateTime.getDayOfMonth()).isEqualTo(20);
assertThat(startDateTime.getHour()).isEqualTo(14);
assertThat(startDateTime.getMinute()).isEqualTo(45);
assertThat(startDateTime.getSecond()).isEqualTo(0);
assertThat(dateTimeFoo3.get(Calendar.YEAR)).isEqualTo(2016);
assertThat(dateTimeFoo3.get(Calendar.MONTH) + 1).isEqualTo(8);
assertThat(dateTimeFoo3.get(Calendar.DAY_OF_MONTH)).isEqualTo(20);
assertThat(dateTimeFoo3.get(Calendar.HOUR_OF_DAY)).isEqualTo(14);
assertThat(dateTimeFoo3.get(Calendar.MINUTE)).isEqualTo(45);
assertThat(dateTimeFoo3.get(Calendar.SECOND)).isEqualTo(0);
LocalDateTime startDateTimeOne = latestTaskExecutions.get(1).getStartTime();
final Calendar dateTimeFoo1 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTimeFoo1.setTime(latestTaskExecutions.get(1).getStartTime());
assertThat(startDateTimeOne.getYear()).isEqualTo(2015);
assertThat(startDateTimeOne.getMonthValue()).isEqualTo(2);
assertThat(startDateTimeOne.getDayOfMonth()).isEqualTo(22);
assertThat(startDateTimeOne.getHour()).isEqualTo(23);
assertThat(startDateTimeOne.getMinute()).isEqualTo(59);
assertThat(startDateTimeOne.getSecond()).isEqualTo(0);
assertThat(dateTimeFoo1.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTimeFoo1.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTimeFoo1.get(Calendar.DAY_OF_MONTH)).isEqualTo(22);
assertThat(dateTimeFoo1.get(Calendar.HOUR_OF_DAY)).isEqualTo(23);
assertThat(dateTimeFoo1.get(Calendar.MINUTE)).isEqualTo(59);
assertThat(dateTimeFoo1.get(Calendar.SECOND)).isEqualTo(0);
LocalDateTime startDateTimeTwo = latestTaskExecutions.get(2).getStartTime();
final Calendar dateTimeFoo4 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTimeFoo4.setTime(latestTaskExecutions.get(2).getStartTime());
assertThat(dateTimeFoo4.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTimeFoo4.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTimeFoo4.get(Calendar.DAY_OF_MONTH)).isEqualTo(20);
assertThat(dateTimeFoo4.get(Calendar.HOUR_OF_DAY)).isEqualTo(14);
assertThat(dateTimeFoo4.get(Calendar.MINUTE)).isEqualTo(45);
assertThat(dateTimeFoo4.get(Calendar.SECOND)).isEqualTo(0);
assertThat(startDateTimeTwo.getYear()).isEqualTo(2015);
assertThat(startDateTimeTwo.getMonthValue()).isEqualTo(2);
assertThat(startDateTimeTwo.getDayOfMonth()).isEqualTo(20);
assertThat(startDateTimeTwo.getHour()).isEqualTo(14);
assertThat(startDateTimeTwo.getMinute()).isEqualTo(45);
assertThat(startDateTimeTwo.getSecond()).isEqualTo(0);
}
/**
@@ -154,15 +145,14 @@ public abstract class BaseTaskExecutionDaoTestCases {
assertThat(latestTaskExecutions.size() == 1)
.as("Expected only 1 taskExecution but got " + latestTaskExecutions.size()).isTrue();
final Calendar dateTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTime.setTime(latestTaskExecutions.get(0).getStartTime());
LocalDateTime startDateTime = latestTaskExecutions.get(0).getStartTime();
assertThat(dateTime.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTime.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTime.get(Calendar.DAY_OF_MONTH)).isEqualTo(22);
assertThat(dateTime.get(Calendar.HOUR_OF_DAY)).isEqualTo(23);
assertThat(dateTime.get(Calendar.MINUTE)).isEqualTo(59);
assertThat(dateTime.get(Calendar.SECOND)).isEqualTo(0);
assertThat(startDateTime.getYear()).isEqualTo(2015);
assertThat(startDateTime.getMonthValue()).isEqualTo(2);
assertThat(startDateTime.getDayOfMonth()).isEqualTo(22);
assertThat(startDateTime.getHour()).isEqualTo(23);
assertThat(startDateTime.getMinute()).isEqualTo(59);
assertThat(startDateTime.getSecond()).isEqualTo(0);
assertThat(latestTaskExecutions.get(0).getExecutionId()).isEqualTo(9 + executionIdOffset);
}
@@ -208,15 +198,14 @@ public abstract class BaseTaskExecutionDaoTestCases {
final TaskExecution latestTaskExecution = this.dao.getLatestTaskExecutionForTaskName("FOO1");
assertThat(latestTaskExecution).as("Expected the latestTaskExecution not to be null").isNotNull();
final Calendar dateTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTime.setTime(latestTaskExecution.getStartTime());
LocalDateTime startDateTime = latestTaskExecution.getStartTime();
assertThat(dateTime.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTime.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTime.get(Calendar.DAY_OF_MONTH)).isEqualTo(22);
assertThat(dateTime.get(Calendar.HOUR_OF_DAY)).isEqualTo(23);
assertThat(dateTime.get(Calendar.MINUTE)).isEqualTo(59);
assertThat(dateTime.get(Calendar.SECOND)).isEqualTo(0);
assertThat(startDateTime.getYear()).isEqualTo(2015);
assertThat(startDateTime.getMonthValue()).isEqualTo(2);
assertThat(startDateTime.getDayOfMonth()).isEqualTo(22);
assertThat(startDateTime.getHour()).isEqualTo(23);
assertThat(startDateTime.getMinute()).isEqualTo(59);
assertThat(startDateTime.getSecond()).isEqualTo(0);
}
/**
@@ -231,15 +220,14 @@ public abstract class BaseTaskExecutionDaoTestCases {
final TaskExecution latestTaskExecution = this.dao.getLatestTaskExecutionForTaskName("FOO5");
assertThat(latestTaskExecution).as("Expected the latestTaskExecution not to be null").isNotNull();
final Calendar dateTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
dateTime.setTime(latestTaskExecution.getStartTime());
LocalDateTime startDateTime = latestTaskExecution.getStartTime();
assertThat(dateTime.get(Calendar.YEAR)).isEqualTo(2015);
assertThat(dateTime.get(Calendar.MONTH) + 1).isEqualTo(2);
assertThat(dateTime.get(Calendar.DAY_OF_MONTH)).isEqualTo(22);
assertThat(dateTime.get(Calendar.HOUR_OF_DAY)).isEqualTo(23);
assertThat(dateTime.get(Calendar.MINUTE)).isEqualTo(59);
assertThat(dateTime.get(Calendar.SECOND)).isEqualTo(0);
assertThat(startDateTime.getYear()).isEqualTo(2015);
assertThat(startDateTime.getMonthValue()).isEqualTo(2);
assertThat(startDateTime.getDayOfMonth()).isEqualTo(22);
assertThat(startDateTime.getHour()).isEqualTo(23);
assertThat(startDateTime.getMinute()).isEqualTo(59);
assertThat(startDateTime.getSecond()).isEqualTo(0);
assertThat(latestTaskExecution.getExecutionId()).isEqualTo(9 + executionIdOffset);
}
@@ -248,7 +236,7 @@ public abstract class BaseTaskExecutionDaoTestCases {
public void getRunningTaskExecutions() {
initializeRepositoryNotInOrderWithMultipleTaskExecutions();
assertThat(this.dao.getRunningTaskExecutionCount()).isEqualTo(this.dao.getTaskExecutionCount());
this.dao.completeTaskExecution(1, 0, new Date(), "c'est fini!");
this.dao.completeTaskExecution(1, 0, LocalDateTime.now(), "c'est fini!");
assertThat(this.dao.getRunningTaskExecutionCount()).isEqualTo(this.dao.getTaskExecutionCount() - 1);
}
@@ -300,11 +288,9 @@ public abstract class BaseTaskExecutionDaoTestCases {
return executionIdOffset;
}
private Date getDate(int year, int month, int day, int hour, int minute) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.clear();
calendar.set(year, month - 1, day, hour, minute);
return calendar.getTime();
private LocalDateTime getDate(int year, int month, int day, int hour, int minute) {
return LocalDateTime.now().withYear(year).withMonth(month).withDayOfMonth(day).withHour(hour).withMinute(minute)
.withSecond(0);
}
private long createTaskExecution(TaskExecution te) {
@@ -316,7 +302,7 @@ public abstract class BaseTaskExecutionDaoTestCases {
TaskExecution taskExecution = new TaskExecution();
taskExecution.setTaskName(taskName);
taskExecution.setExternalExecutionId(externalExecutionId);
taskExecution.setStartTime(new Date());
taskExecution.setStartTime(LocalDateTime.now());
return taskExecution;
}

View File

@@ -16,9 +16,9 @@
package org.springframework.cloud.task.repository.dao;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.UUID;
@@ -79,7 +79,7 @@ public class JdbcTaskExecutionDaoTests extends BaseTaskExecutionDaoTestCases {
TaskExecution expectedTaskExecution = this.dao.createTaskExecution(null, null, new ArrayList<>(0), null);
expectedTaskExecution.setArguments(Collections.singletonList("foo=" + UUID.randomUUID().toString()));
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
this.dao.startTaskExecution(expectedTaskExecution.getExecutionId(), expectedTaskExecution.getTaskName(),

View File

@@ -16,9 +16,9 @@
package org.springframework.cloud.task.repository.dao;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -55,7 +55,7 @@ public class MapTaskExecutionDaoTests extends BaseTaskExecutionDaoTestCases {
TaskExecution expectedTaskExecution = this.dao.createTaskExecution(null, null, new ArrayList<>(0), null);
expectedTaskExecution.setArguments(Collections.singletonList("foo=" + UUID.randomUUID().toString()));
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
this.dao.startTaskExecution(expectedTaskExecution.getExecutionId(), expectedTaskExecution.getTaskName(),

View File

@@ -16,11 +16,11 @@
package org.springframework.cloud.task.repository.support;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -418,7 +418,7 @@ public class SimpleTaskExplorerTests {
private TaskExecution getSimpleTaskExecution() {
TaskExecution taskExecution = new TaskExecution();
taskExecution.setTaskName(TASK_NAME);
taskExecution.setStartTime(new Date());
taskExecution.setStartTime(LocalDateTime.now());
taskExecution.setExternalExecutionId(EXTERNAL_EXECUTION_ID);
return taskExecution;
}

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.task.repository.support;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.Date;
import java.util.UUID;
import javax.sql.DataSource;
@@ -97,7 +97,7 @@ public class SimpleTaskRepositoryJdbcTests {
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setArguments(Collections.singletonList("foo=" + UUID.randomUUID().toString()));
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
TaskExecution actualTaskExecution = this.taskRepository.startTaskExecution(
@@ -114,7 +114,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
TaskExecution actualTaskExecution = this.taskRepository.startTaskExecution(
@@ -163,7 +163,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
expectedTaskExecution.setParentExecutionId(12345L);
@@ -180,7 +180,7 @@ public class SimpleTaskRepositoryJdbcTests {
public void testCompleteTaskExecution() {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(this.taskRepository);
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(77);
expectedTaskExecution.setExitMessage(UUID.randomUUID().toString());
@@ -195,7 +195,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(this.taskRepository);
expectedTaskExecution.setExitMessage(new String(new char[SimpleTaskRepository.MAX_EXIT_MESSAGE_SIZE + 1]));
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = completeTaskExecution(expectedTaskExecution, this.taskRepository);
assertThat(actualTaskExecution.getExitMessage().length()).isEqualTo(SimpleTaskRepository.MAX_EXIT_MESSAGE_SIZE);
@@ -210,7 +210,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(simpleTaskRepository);
expectedTaskExecution.setExitMessage(new String(new char[SimpleTaskRepository.MAX_EXIT_MESSAGE_SIZE + 1]));
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = completeTaskExecution(expectedTaskExecution, simpleTaskRepository);
assertThat(actualTaskExecution.getExitMessage().length()).isEqualTo(5);
@@ -222,7 +222,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(this.taskRepository);
expectedTaskExecution.setErrorMessage(new String(new char[SimpleTaskRepository.MAX_ERROR_MESSAGE_SIZE + 1]));
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = completeTaskExecution(expectedTaskExecution, this.taskRepository);
assertThat(actualTaskExecution.getErrorMessage().length())
@@ -238,7 +238,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(simpleTaskRepository);
expectedTaskExecution.setErrorMessage(new String(new char[SimpleTaskRepository.MAX_ERROR_MESSAGE_SIZE + 1]));
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = completeTaskExecution(expectedTaskExecution, simpleTaskRepository);
assertThat(actualTaskExecution.getErrorMessage().length()).isEqualTo(5);
@@ -292,7 +292,7 @@ public class SimpleTaskRepositoryJdbcTests {
public void testCreateTaskExecutionNoParamMaxTaskName() {
TaskExecution taskExecution = new TaskExecution();
taskExecution.setTaskName(new String(new char[SimpleTaskRepository.MAX_TASK_NAME_SIZE + 1]));
taskExecution.setStartTime(new Date());
taskExecution.setStartTime(LocalDateTime.now());
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> {
this.taskRepository.createTaskExecution(taskExecution);
});
@@ -303,7 +303,7 @@ public class SimpleTaskRepositoryJdbcTests {
public void testCreateTaskExecutionNegativeException() {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(this.taskRepository);
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(-1);
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> {
@@ -326,7 +326,7 @@ public class SimpleTaskRepositoryJdbcTests {
private TaskExecution completeTaskExecution(TaskExecution expectedTaskExecution, TaskRepository taskRepository) {
return taskRepository.completeTaskExecution(expectedTaskExecution.getExecutionId(),
expectedTaskExecution.getExitCode(), new Date(), expectedTaskExecution.getExitMessage(),
expectedTaskExecution.getExitCode(), LocalDateTime.now(), expectedTaskExecution.getExitMessage(),
expectedTaskExecution.getErrorMessage());
}
@@ -335,7 +335,7 @@ public class SimpleTaskRepositoryJdbcTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setErrorMessage(new String(new char[maxErrorMessage + 1]));
expectedTaskExecution.setExitMessage(new String(new char[maxExitMessage + 1]));
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = completeTaskExecution(expectedTaskExecution, taskRepository);

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.task.repository.support;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
@@ -110,7 +110,7 @@ public class SimpleTaskRepositoryMapTests {
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setArguments(Collections.singletonList("foo=" + UUID.randomUUID().toString()));
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
TaskExecution actualTaskExecution = this.taskRepository.startTaskExecution(
@@ -126,7 +126,7 @@ public class SimpleTaskRepositoryMapTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
TaskExecution actualTaskExecution = this.taskRepository.startTaskExecution(
@@ -142,7 +142,7 @@ public class SimpleTaskRepositoryMapTests {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreEmptyTaskExecution(this.taskRepository);
expectedTaskExecution.setStartTime(new Date());
expectedTaskExecution.setStartTime(LocalDateTime.now());
expectedTaskExecution.setTaskName(UUID.randomUUID().toString());
expectedTaskExecution.setParentExecutionId(12345L);
@@ -158,7 +158,7 @@ public class SimpleTaskRepositoryMapTests {
public void testCompleteTaskExecution() {
TaskExecution expectedTaskExecution = TaskExecutionCreator
.createAndStoreTaskExecutionNoParams(this.taskRepository);
expectedTaskExecution.setEndTime(new Date());
expectedTaskExecution.setEndTime(LocalDateTime.now());
expectedTaskExecution.setExitCode(0);
TaskExecution actualTaskExecution = TaskExecutionCreator.completeExecution(this.taskRepository,
expectedTaskExecution);

View File

@@ -20,6 +20,7 @@ import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -73,9 +74,9 @@ public final class TestDBUtils {
TaskExecution taskExecution = new TaskExecution(rs.getLong("TASK_EXECUTION_ID"),
StringUtils.hasText(rs.getString("EXIT_CODE")) ? Integer.valueOf(rs.getString("EXIT_CODE"))
: null,
rs.getString("TASK_NAME"), rs.getTimestamp("START_TIME"), rs.getTimestamp("END_TIME"),
rs.getString("EXIT_MESSAGE"), new ArrayList<>(0), rs.getString("ERROR_MESSAGE"),
rs.getString("EXTERNAL_EXECUTION_ID"));
rs.getString("TASK_NAME"), rs.getObject("START_TIME", LocalDateTime.class),
rs.getObject("END_TIME", LocalDateTime.class), rs.getString("EXIT_MESSAGE"), new ArrayList<>(0),
rs.getString("ERROR_MESSAGE"), rs.getString("EXTERNAL_EXECUTION_ID"));
return taskExecution;
}
});

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.task.util;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
@@ -86,11 +86,11 @@ public final class TestVerifierUtils {
*/
public static TaskExecution createSampleTaskExecutionNoArg() {
Random randomGenerator = new Random();
Date startTime = new Date();
long executionId = randomGenerator.nextLong();
String taskName = UUID.randomUUID().toString();
return new TaskExecution(executionId, null, taskName, startTime, null, null, new ArrayList<>(), null, null);
return new TaskExecution(executionId, null, taskName, LocalDateTime.now(), null, null, new ArrayList<>(), null,
null);
}
/**
@@ -100,14 +100,12 @@ public final class TestVerifierUtils {
public static TaskExecution endSampleTaskExecutionNoArg() {
Random randomGenerator = new Random();
int exitCode = randomGenerator.nextInt();
Date startTime = new Date();
Date endTime = new Date();
long executionId = randomGenerator.nextLong();
String taskName = UUID.randomUUID().toString();
String exitMessage = UUID.randomUUID().toString();
return new TaskExecution(executionId, exitCode, taskName, startTime, endTime, exitMessage, new ArrayList<>(),
null, null);
return new TaskExecution(executionId, exitCode, taskName, LocalDateTime.now(), LocalDateTime.now(), exitMessage,
new ArrayList<>(), null, null);
}
/**
@@ -116,14 +114,14 @@ public final class TestVerifierUtils {
* @return instance of the TaskExecution.
*/
public static TaskExecution createSampleTaskExecution(long executionId) {
Date startTime = new Date();
String taskName = UUID.randomUUID().toString();
String externalExecutionId = UUID.randomUUID().toString();
List<String> args = new ArrayList<>(ARG_SIZE);
for (int i = 0; i < ARG_SIZE; i++) {
args.add(UUID.randomUUID().toString());
}
return new TaskExecution(executionId, null, taskName, startTime, null, null, args, null, externalExecutionId);
return new TaskExecution(executionId, null, taskName, LocalDateTime.now(), null, null, args, null,
externalExecutionId);
}
/**
@@ -135,12 +133,12 @@ public final class TestVerifierUtils {
assertThat(actualTaskExecution.getExecutionId()).as("taskExecutionId must be equal")
.isEqualTo(expectedTaskExecution.getExecutionId());
if (actualTaskExecution.getStartTime() != null) {
assertThat(actualTaskExecution.getStartTime()).as("startTime must be equal")
.hasSameTimeAs(expectedTaskExecution.getStartTime());
assertThat(actualTaskExecution.getStartTime().isEqual(expectedTaskExecution.getStartTime()))
.as("startTime must be equal").isTrue();
}
if (actualTaskExecution.getEndTime() != null) {
assertThat(actualTaskExecution.getEndTime()).as("endTime must be equal")
.hasSameTimeAs(expectedTaskExecution.getEndTime());
assertThat(actualTaskExecution.getEndTime().isEqual(expectedTaskExecution.getEndTime()))
.as("endTime must be equal").isTrue();
}
assertThat(actualTaskExecution.getExitCode()).as("exitCode must be equal")
.isEqualTo(expectedTaskExecution.getExitCode());