@Test
public void exec1Normal() throws Exception {

  final EventCollectorListener eventCollector = new EventCollectorListener();
  eventCollector.setEventFilterOut(EventType.JOB_FINISHED,
      EventType.JOB_STARTED, EventType.JOB_STATUS_CHANGED);
  this.runner = this.testUtil.createFromFlowFile(eventCollector, "exec1");
  FlowRunnerTestUtil.startThread(this.runner);
  succeedJobs("job3", "job4", "job6");
  waitForAndAssertFlowStatus(Status.SUCCEEDED);
  assertThreadShutDown();
  compareFinishedRuntime(this.runner);
  // Check flowVersion
  assertFlowVersion(this.runner.getExecutableFlow(), 1.0);
  assertStatus("job1", Status.SUCCEEDED);
  assertStatus("job2", Status.SUCCEEDED);
  assertStatus("job3", Status.SUCCEEDED);
  assertStatus("job4", Status.SUCCEEDED);
  assertStatus("job5", Status.SUCCEEDED);
  assertStatus("job6", Status.SUCCEEDED);
  assertStatus("job7", Status.SUCCEEDED);
  assertStatus("job8", Status.SUCCEEDED);
  assertStatus("job10", Status.SUCCEEDED);
  eventCollector.assertEvents(EventType.FLOW_STARTED, EventType.FLOW_FINISHED);
}