@SuppressWarnings("rawtypes")
  public Result waitUntilDone(Config config) {
    return finishOrTimeout(
        config,
        new Supplier[] {() -> false},
        () -> jobIsDone(config.project(), config.region(), config.jobId()));
  }
@Test
  public void testWaitUntilDoneTimeout() throws IOException {
    when(client.getJobStatus(any(), any(), any())).thenReturn(JobState.RUNNING);
    Result result = new PipelineOperator(client).waitUntilDone(DEFAULT_CONFIG);
    assertThat(result).isEqualTo(Result.TIMEOUT);
  }