package org.jooby.issues; import static org.junit.Assert.assertEquals; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.jooby.AsyncMapper; import org.jooby.test.ServerFeature; import org.junit.Test; public class Issue490b extends ServerFeature { { map(new AsyncMapper()); ExecutorService exec = Executors.newSingleThreadExecutor(r -> { Thread thread = new Thread(r); thread.setName("490"); return thread; }); executor(exec); get("/490/callable", () -> (Callable<String>) () -> Thread.currentThread().getName()); get("/490/future", () -> CompletableFuture.supplyAsync(() -> Thread.currentThread().getName(), exec)); } @Test public void shouldMapCallbale() throws Exception { request() .get("/490/callable") .expect(rsp -> { assertEquals("490", rsp); }); request() .get("/490/future") .expect(rsp -> { assertEquals("490", rsp); }); } }