@Test public void testNullStep() throws Exception { handler = new TaskExecutorPartitionHandler(); try { handler.handle(stepExecutionSplitter, stepExecution); fail("Expected IllegalArgumentException"); } catch (IllegalArgumentException e) { // expected String message = e.getMessage(); assertTrue("Wrong message: " + message, message.contains("Step")); } }
@Test public void testSetGridSize() throws Exception { handler.setGridSize(2); handler.handle(stepExecutionSplitter, stepExecution); assertEquals(2, count); assertEquals("[foo0, foo1]", stepExecutions.toString()); }
@Test public void testSetTaskExecutor() throws Exception { handler.setTaskExecutor(new SimpleAsyncTaskExecutor()); handler.handle(stepExecutionSplitter, stepExecution); assertEquals(1, count); }
@Test public void testTaskExecutorFailure() throws Exception { handler.setGridSize(2); handler.setTaskExecutor(new TaskExecutor() { @Override public void execute(Runnable task) { if (count > 0) { throw new TaskRejectedException("foo"); } task.run(); } }); Collection<StepExecution> executions = handler.handle(stepExecutionSplitter, stepExecution); new DefaultStepExecutionAggregator().aggregate(stepExecution, executions); assertEquals(1, count); assertEquals(ExitStatus.FAILED.getExitCode(), stepExecution.getExitStatus().getExitCode()); }