@Test
void scheduleDelayedTask() throws InterruptedException {

    executor.scheduler = ThreadPools.singleThreadScheduler("test-");
    boolean scheduled = executor.scheduleDelayedTask("action", () -> {
        ActionLog actionLog = LogManager.CURRENT_ACTION_LOG.get();
        assertThat(actionLog.action).isEqualTo("task:action");
        assertThat(actionLog.context).doesNotContainKey("root_action");
    }, Duration.ZERO);
    executor.scheduler.shutdown();
    executor.scheduler.awaitTermination(10, TimeUnit.SECONDS);
    assertThat(scheduled).isTrue();
}