@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(); }