@Test
  public void shouldSeeFinishedStateForAsncImport() throws InterruptedException {
    // given
    final ImportConfig config = new ImportConfig();
    config.setScript( //
        "INSERT Title;code[unique=true]\n" //
            + ";foo;\n" //
            + "\"#% java.lang.Thread.sleep(2000);\";\n" //
            + ";bar;\n" //
        );
    config.setSynchronous(false);
    config.setFailOnError(true);
    config.setRemoveOnSuccess(false);
    config.setEnableCodeExecution(Boolean.TRUE);

    // when
    final long now = System.currentTimeMillis();
    final ImportResult importResult = importService.importData(config);
    final long maxWait = System.currentTimeMillis() + (30 * 1000);
    do {
      Thread.sleep(500);
    } while (!importResult.isFinished() && System.currentTimeMillis() < maxWait);

    // then
    assertThat(System.currentTimeMillis() - now).isGreaterThanOrEqualTo(2000);
    assertThat(importResult.isFinished()).isTrue();
    assertThat(importResult.isError()).isFalse();
  }