Add appending capabilities to the SimpleCommandLineArgsProvider

Adds the ability to add a list of command line arguments to the existing
ones.

Resolves #279
This commit is contained in:
Michael Minella
2017-02-10 13:45:55 -06:00
parent a7fe76c7d6
commit 1d1a935f46
2 changed files with 69 additions and 2 deletions

View File

@@ -15,6 +15,7 @@
*/
package org.springframework.cloud.task.batch.partition;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -47,4 +48,44 @@ public class SimpleCommandLineArgsProviderTests {
assertEquals("bar", commandLineArgs.get(1));
assertEquals("baz", commandLineArgs.get(2));
}
@Test
public void testAppending() {
List<String> appendedValues = new ArrayList<>(3);
appendedValues.add("one");
appendedValues.add("two");
appendedValues.add("three");
TaskExecution taskExecution = new TaskExecution();
taskExecution.setArguments(Arrays.asList("foo", "bar", "baz"));
SimpleCommandLineArgsProvider provider = new SimpleCommandLineArgsProvider(taskExecution);
provider.setAppendedArgs(appendedValues);
List<String> commandLineArgs = provider.getCommandLineArgs(null);
assertEquals("foo", commandLineArgs.get(0));
assertEquals("bar", commandLineArgs.get(1));
assertEquals("baz", commandLineArgs.get(2));
assertEquals("one", commandLineArgs.get(3));
assertEquals("two", commandLineArgs.get(4));
assertEquals("three", commandLineArgs.get(5));
}
@Test
public void testAppendingNull() {
TaskExecution taskExecution = new TaskExecution();
taskExecution.setArguments(Arrays.asList("foo", "bar", "baz"));
SimpleCommandLineArgsProvider provider = new SimpleCommandLineArgsProvider(taskExecution);
provider.setAppendedArgs(null);
List<String> commandLineArgs = provider.getCommandLineArgs(null);
assertEquals(3, commandLineArgs.size());
assertEquals("foo", commandLineArgs.get(0));
assertEquals("bar", commandLineArgs.get(1));
assertEquals("baz", commandLineArgs.get(2));
}
}