|
20 | 20 | import java.sql.ResultSet; |
21 | 21 | import java.sql.SQLException; |
22 | 22 | import java.util.ArrayList; |
| 23 | +import java.util.Collections; |
23 | 24 | import java.util.Date; |
24 | 25 | import java.util.HashMap; |
25 | 26 | import java.util.Map; |
@@ -185,6 +186,27 @@ public void testWithGeneratedTaskExecutionWithName() throws Exception { |
185 | 186 | assertThat(this.taskExplorer.getTaskExecution(1).getTaskName()).isEqualTo("batchEvents"); |
186 | 187 | } |
187 | 188 |
|
| 189 | + @Test |
| 190 | + public void testWithGeneratedTaskExecutionWithExistingDate() throws Exception { |
| 191 | + final String TASK_EXECUTION_NAME = "PRE-EXECUTION-TEST-NAME"; |
| 192 | + Date startDate = new Date(); |
| 193 | + Thread.sleep(500); |
| 194 | + TaskExecution taskExecution = new TaskExecution(1, 0, TASK_EXECUTION_NAME, startDate, new Date(), "foo", |
| 195 | + Collections.emptyList(), "foo", "bar", null); |
| 196 | + this.taskRepository.createTaskExecution(taskExecution); |
| 197 | + assertThat(this.taskExplorer.getTaskExecutionCount()).as("Only one row is expected").isEqualTo(1); |
| 198 | + |
| 199 | + this.applicationContext = getTaskApplication(1).run(new String[0]); |
| 200 | + assertThat(waitForDBToBePopulated()).isTrue(); |
| 201 | + |
| 202 | + Page<TaskExecution> taskExecutions = this.taskExplorer.findAll(PageRequest.of(0, 10)); |
| 203 | + assertThat(taskExecutions.getTotalElements()).as("Only one row is expected").isEqualTo(1); |
| 204 | + assertThat(taskExecutions.iterator().next().getExitCode().intValue()).as("return code should be 0") |
| 205 | + .isEqualTo(0); |
| 206 | + assertThat(this.taskExplorer.getTaskExecution(1).getStartTime().getTime()).isEqualTo(startDate.getTime()); |
| 207 | + |
| 208 | + } |
| 209 | + |
188 | 210 | @Test |
189 | 211 | public void testWithNoTaskExecution() throws Exception { |
190 | 212 | assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> { |
|
0 commit comments