### Question:
BlockingStreamingToStreamingService extends AbstractServiceAdapterHolder { @Override public Completable closeAsync() { return blockingToCompletable(original::close); } BlockingStreamingToStreamingService(final BlockingStreamingHttpService original,
                                        final HttpExecutionStrategyInfluencer influencer); @Override Single<StreamingHttpResponse> handle(final HttpServiceContext ctx,
                                                final StreamingHttpRequest request,
                                                final StreamingHttpResponseFactory responseFactory); @Override Completable closeAsync(); @Override Completable closeAsyncGracefully();  }### Answer:
@Test public void closeAsync() throws Exception { final AtomicBoolean closedCalled = new AtomicBoolean(); BlockingStreamingHttpService syncService = new BlockingStreamingHttpService() { @Override public void handle(final HttpServiceContext ctx, final BlockingStreamingHttpRequest request, final BlockingStreamingHttpServerResponse response) { throw new IllegalStateException("shouldn't be called!"); } @Override public void close() { closedCalled.set(true); } }; StreamingHttpService asyncService = toStreamingHttpService(syncService, strategy -> strategy).adaptor(); asyncService.closeAsync().toFuture().get(); assertThat(closedCalled.get(), is(true)); }