Added ability to update externalExecutionId

resolves #259
This commit is contained in:
Glenn Renfro
2017-01-03 17:13:15 -05:00
committed by Eric Bottard
parent 1185421803
commit 2eb1c49e12
8 changed files with 138 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2015-2016 the original author or authors.
* Copyright 2015-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -126,6 +126,42 @@ public class SimpleTaskRepositoryJdbcTests {
TestVerifierUtils.verifyTaskExecution(expectedTaskExecution, actualTaskExecution);
}
@Test
public void testUpdateExternalExecutionId() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(UUID.randomUUID().toString());
taskRepository.updateExternalExecutionId(
expectedTaskExecution.getExecutionId(),
expectedTaskExecution.getExternalExecutionId());
TestVerifierUtils.verifyTaskExecution(expectedTaskExecution,
TestDBUtils.getTaskExecutionFromDB(dataSource,
expectedTaskExecution.getExecutionId()));
}
@Test
public void testUpdateNullExternalExecutionId() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(null);
taskRepository.updateExternalExecutionId(
expectedTaskExecution.getExecutionId(),
expectedTaskExecution.getExternalExecutionId());
TestVerifierUtils.verifyTaskExecution(expectedTaskExecution,
TestDBUtils.getTaskExecutionFromDB(dataSource,
expectedTaskExecution.getExecutionId()));
}
@Test(expected = IllegalStateException.class)
public void testInvalidExecutionIdForExternalExecutionIdUpdate() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(null);
taskRepository.updateExternalExecutionId(
-1,
expectedTaskExecution.getExternalExecutionId());
}
@Test
@DirtiesContext
public void testCompleteTaskExecution() {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2015 the original author or authors.
* Copyright 2015-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,6 +28,7 @@ import org.springframework.cloud.task.repository.TaskExecution;
import org.springframework.cloud.task.repository.TaskRepository;
import org.springframework.cloud.task.repository.dao.MapTaskExecutionDao;
import org.springframework.cloud.task.util.TaskExecutionCreator;
import org.springframework.cloud.task.util.TestDBUtils;
import org.springframework.cloud.task.util.TestVerifierUtils;
import static org.springframework.test.util.AssertionErrors.assertTrue;
@@ -61,6 +62,40 @@ public class SimpleTaskRepositoryMapTests {
getSingleTaskExecutionFromMapRepository(expectedTaskExecution.getExecutionId()));
}
@Test
public void testUpdateExternalExecutionId() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(UUID.randomUUID().toString());
taskRepository.updateExternalExecutionId(
expectedTaskExecution.getExecutionId(),
expectedTaskExecution.getExternalExecutionId());
TestVerifierUtils.verifyTaskExecution(expectedTaskExecution,
getSingleTaskExecutionFromMapRepository(expectedTaskExecution.getExecutionId()));
}
@Test
public void testUpdateNullExternalExecutionId() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(null);
taskRepository.updateExternalExecutionId(
expectedTaskExecution.getExecutionId(),
expectedTaskExecution.getExternalExecutionId());
TestVerifierUtils.verifyTaskExecution(expectedTaskExecution,
getSingleTaskExecutionFromMapRepository(expectedTaskExecution.getExecutionId()));
}
@Test(expected = IllegalArgumentException.class)
public void testInvalidExecutionIdForExternalExecutionIdUpdate() {
TaskExecution expectedTaskExecution =
TaskExecutionCreator.createAndStoreTaskExecutionNoParams(taskRepository);
expectedTaskExecution.setExternalExecutionId(null);
taskRepository.updateExternalExecutionId(
-1,
expectedTaskExecution.getExternalExecutionId());
}
@Test
public void testCreateTaskExecutionWithParam() {
TaskExecution expectedTaskExecution =

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2015 the original author or authors.
* Copyright 2015-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -156,6 +156,10 @@ public class TestVerifierUtils {
assertEquals("errorMessage must be equal",
expectedTaskExecution.getErrorMessage(),
actualTaskExecution.getErrorMessage());
assertEquals("externalExecutionId must be equal",
expectedTaskExecution.getExternalExecutionId(),
actualTaskExecution.getExternalExecutionId());
if (expectedTaskExecution.getArguments() != null) {
assertNotNull("arguments should not be null",
actualTaskExecution.getArguments());