summaryrefslogtreecommitdiffstats
path: root/container-core/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/test')
-rw-r--r--container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java1
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java1
-rw-r--r--container-core/src/test/java/com/yahoo/container/xml/providers/XMLProviderTest.java84
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java3
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java55
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterResponseTest.java10
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollectorTest.java2
-rw-r--r--container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java4
-rw-r--r--container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java16
-rw-r--r--container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java4
-rw-r--r--container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java38
-rw-r--r--container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java7
12 files changed, 39 insertions, 186 deletions
diff --git a/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java b/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java
index 34119163d2f..d459070e2bd 100644
--- a/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java
+++ b/container-core/src/test/java/com/yahoo/container/di/DirConfigSource.java
@@ -16,7 +16,6 @@ import java.util.Random;
* @author gjoranv
* @author ollivir
*/
-@SuppressWarnings("removal") // TODO Vespa 8: remove
public class DirConfigSource {
private final TemporaryFolder tempFolder = createTemporaryFolder();
public final ConfigSource configSource;
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
index 58263548085..b87a1179832 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
@@ -9,7 +9,6 @@ import com.yahoo.container.core.ApplicationMetadataConfig;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
import com.yahoo.container.jdisc.config.HealthMonitorConfig;
import com.yahoo.jdisc.Timer;
-import com.yahoo.metrics.MetricsPresentationConfig;
import org.junit.Before;
import org.junit.BeforeClass;
diff --git a/container-core/src/test/java/com/yahoo/container/xml/providers/XMLProviderTest.java b/container-core/src/test/java/com/yahoo/container/xml/providers/XMLProviderTest.java
deleted file mode 100644
index e9983341507..00000000000
--- a/container-core/src/test/java/com/yahoo/container/xml/providers/XMLProviderTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.xml.providers;
-
-import org.junit.Test;
-
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.SAXParserFactory;
-import javax.xml.stream.XMLEventFactory;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.xpath.XPathFactory;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
-
-/**
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
- * @since 5.1.29
- */
-@SuppressWarnings("deprecation")
-public class XMLProviderTest {
-
- @Test
- public void testInstantiationAndDestruction() {
- {
- DatatypeFactoryProvider provider = new DatatypeFactoryProvider();
- DatatypeFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(DatatypeFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- DocumentBuilderFactoryProvider provider = new DocumentBuilderFactoryProvider();
- DocumentBuilderFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(DocumentBuilderFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- SAXParserFactoryProvider provider = new SAXParserFactoryProvider();
- SAXParserFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(SAXParserFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- SchemaFactoryProvider provider = new SchemaFactoryProvider();
- SchemaFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(SchemaFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- TransformerFactoryProvider provider = new TransformerFactoryProvider();
- TransformerFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(TransformerFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- XMLEventFactoryProvider provider = new XMLEventFactoryProvider();
- XMLEventFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(XMLEventFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- XMLInputFactoryProvider provider = new XMLInputFactoryProvider();
- XMLInputFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(XMLInputFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- XMLOutputFactoryProvider provider = new XMLOutputFactoryProvider();
- XMLOutputFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(XMLOutputFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- {
- XPathFactoryProvider provider = new XPathFactoryProvider();
- XPathFactory factory = provider.get();
- assertThat(factory.getClass().getName(), equalTo(XPathFactoryProvider.FACTORY_CLASS));
- provider.deconstruct();
- }
- }
-
-}
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java b/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java
index fd0cfe5718c..7f9e1e8bd64 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/HttpRequestTestCase.java
@@ -73,15 +73,12 @@ public class HttpRequestTestCase {
}
@Test
- @SuppressWarnings("deprecation")
public void requireThatAccessorsWork() {
URI uri = URI.create("http://localhost/path?foo=bar&foo=baz&cox=69");
InetSocketAddress address = new InetSocketAddress("remotehost", 69);
final HttpRequest request = HttpRequest.newServerRequest(mockContainer(), uri, HttpRequest.Method.GET,
HttpRequest.Version.HTTP_1_1, address, 1L);
assertEquals(uri, request.getUri());
- request.setUri(uri = URI.create("http://remotehost/"));
- assertEquals(uri, request.getUri());
assertEquals(HttpRequest.Method.GET, request.getMethod());
request.setMethod(HttpRequest.Method.CONNECT);
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java
index 25efe4ac5f6..294e19aa2a1 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterRequestTest.java
@@ -262,41 +262,36 @@ public class DiscFilterRequestTest {
}
@Test
- @SuppressWarnings("deprecation")
- public void testSetScheme() {
- URI uri = URI.create("https://example.yahoo.com:8080/test");
- HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
- DiscFilterRequest request = new DiscFilterRequest(httpReq);
-
- request.setScheme("http", true);
- System.out.println(request.getUri().toString());
- Assert.assertEquals(request.getUri().toString(), "http://example.yahoo.com:8080/test");
- }
-
- @Test
- @SuppressWarnings("deprecation")
public void testGetServerPort() {
- URI uri = URI.create("http://example.yahoo.com/test");
- HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
- DiscFilterRequest request = new DiscFilterRequest(httpReq);
- Assert.assertEquals(request.getServerPort(), 80);
-
- request.setUri(URI.create("https://example.yahoo.com/test"));
- Assert.assertEquals(request.getServerPort(), 443);
-
+ {
+ URI uri = URI.create("http://example.yahoo.com/test");
+ HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
+ DiscFilterRequest request = new DiscFilterRequest(httpReq);
+ Assert.assertEquals(request.getServerPort(), 80);
+
+ }
+ {
+ URI uri = URI.create("https://example.yahoo.com/test");
+ HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
+ DiscFilterRequest request = new DiscFilterRequest(httpReq);
+ Assert.assertEquals(request.getServerPort(), 443);
+ }
}
@Test
- @SuppressWarnings("deprecation")
public void testIsSecure() {
- URI uri = URI.create("http://example.yahoo.com/test");
- HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
- DiscFilterRequest request = new DiscFilterRequest(httpReq);
- Assert.assertFalse(request.isSecure());
-
- request.setUri(URI.create("https://example.yahoo.com/test"));
- Assert.assertTrue(request.isSecure());
-
+ {
+ URI uri = URI.create("http://example.yahoo.com/test");
+ HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
+ DiscFilterRequest request = new DiscFilterRequest(httpReq);
+ Assert.assertFalse(request.isSecure());
+ }
+ {
+ URI uri = URI.create("https://example.yahoo.com/test");
+ HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
+ DiscFilterRequest request = new DiscFilterRequest(httpReq);
+ Assert.assertTrue(request.isSecure());
+ }
}
@Test
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterResponseTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterResponseTest.java
index bbb81ae3308..ace41473eb4 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterResponseTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/filter/DiscFilterResponseTest.java
@@ -101,14 +101,4 @@ public class DiscFilterResponseTest {
Assert.assertEquals(response.getHeader("name"), "value");
}
- @Test
- @SuppressWarnings("removal")
- public void testGetParentResponse() {
- URI uri = URI.create("http://example.com/test");
- HttpRequest httpReq = newRequest(uri, HttpRequest.Method.GET, HttpRequest.Version.HTTP_1_1);
- HttpResponse httpResp = newResponse(httpReq, 200);
- DiscFilterResponse response = new DiscFilterResponse(httpResp);
- Assert.assertSame(response.getParentResponse(), httpResp);
- }
-
}
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollectorTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollectorTest.java
index 231a9f1384a..89908e6d56b 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollectorTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpResponseStatisticsCollectorTest.java
@@ -86,8 +86,6 @@ public class HttpResponseStatisticsCollectorTest {
assertStatisticsEntry(stats, "http", "GET", MetricDefinitions.RESPONSES_4XX, "read", 401, 1L);
assertStatisticsEntry(stats, "http", "GET", MetricDefinitions.RESPONSES_4XX, "read", 403, 1L);
assertStatisticsEntry(stats, "http", "GET", MetricDefinitions.RESPONSES_4XX, "read", 404, 1L);
- assertStatisticsEntry(stats, "http", "GET", MetricDefinitions.RESPONSES_401, "read", 401, 1L);
- assertStatisticsEntry(stats, "http", "GET", MetricDefinitions.RESPONSES_403, "read", 403, 1L);
}
diff --git a/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java b/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
index efcf608b6f0..f8cd646909d 100644
--- a/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
@@ -22,7 +22,7 @@ public class ResponseTestCase {
* Check the recursive toString printing along the way.
* List variable names ends by numbers specifying the index of the list at each level.
*/
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testRecursiveCompletionAndToString() throws InterruptedException, ExecutionException {
// create lists
@@ -68,7 +68,7 @@ public class ResponseTestCase {
assertEqualsIgnoreObjectNumbers("Uncompleted tree, incoming complete", uncompletedTreeCompletedIncoming, Responses.recursiveToString(list1));
// complete all
- Response.recursiveComplete(list1).get();
+ Response.recursiveFuture(list1).get();
assertEqualsIgnoreObjectNumbers("Completed tree", completedTree, Responses.recursiveToString(list1));
}
diff --git a/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java b/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
index 2fb32271419..7dd043383a1 100644
--- a/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertEquals;
public class FutureDataTestCase {
/** Run a chain which ends in a processor which returns a response containing future data. */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testFutureDataPassThrough() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -45,14 +45,14 @@ public class FutureDataTestCase {
futureDataSource.incomingData.get(0).add(new StringData(request, "d1"));
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("New data is not visible because we haven't asked for it", 1, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS);
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data is available", 3, response.data().asList().size());
assertEquals("d1",response.data().get(1).toString().toString());
assertEquals("d2",response.data().get(2).toString().toString());
}
/** Federate to one source which returns data immediately and one who return future data */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testFederateSyncAndAsyncData() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -81,7 +81,7 @@ public class FutureDataTestCase {
futureDataSource.incomingData.get(0).add(new StringData(request, "d1"));
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("New data is not visible because we haven't asked for it", 0, asyncData.asList().size());
- asyncData.complete().get(1000, TimeUnit.MILLISECONDS);
+ asyncData.completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data is available", 2, asyncData.asList().size());
assertEquals("d1",asyncData.get(0).toString().toString());
assertEquals("d2", asyncData.get(1).toString().toString());
@@ -108,7 +108,7 @@ public class FutureDataTestCase {
assertEquals("New data is not visible because it is not complete", 0, response.data().asList().size());
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("Not visible because it has not been synced yet", 0, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS);
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data as well as the count is available", 3, response.data().asList().size());
assertEquals("d1",response.data().get(0).toString().toString());
assertEquals("d2",response.data().get(1).toString().toString());
@@ -120,7 +120,7 @@ public class FutureDataTestCase {
* When the first of the futures are done one additional chain is to be run.
* When both are done another chain is to be run.
*/
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testAsyncDataProcessingOfFederatedResult() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -154,7 +154,7 @@ public class FutureDataTestCase {
// complete async data in source1
futureSource1.incomingData.get(0).addLast(new StringData(request,"source1Data"));
assertEquals("Not visible yet", 0, source1Data.asList().size());
- source1Data.complete().get(1000, TimeUnit.MILLISECONDS);
+ source1Data.completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals(2, source1Data.asList().size());
assertEquals("source1Data",source1Data.get(0).toString());
assertEquals("Completion listener chain on this has run", "[source1] Data count: 1", source1Data.get(1).toString());
@@ -164,7 +164,7 @@ public class FutureDataTestCase {
futureSource2.incomingData.get(0).addLast(new StringData(request, "source2Data"));
assertEquals("Main completion listener has not run", 3, response.data().asList().size());
- Response.recursiveComplete(response.data()).get();
+ Response.recursiveFuture(response.data()).get();
assertEquals("Main completion listener has run", 4, response.data().asList().size());
assertEquals("The main data counter saw all sync data, but not source2 data as it executes after this",
"[main] Data count: " + (2 + 0 + 3), response.data().get(3).toString());
diff --git a/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java b/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
index bd1307ff77c..d494e774f8e 100644
--- a/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
@@ -26,7 +26,7 @@ import static org.junit.Assert.assertEquals;
public class StreamingTestCase {
/** Tests adding a chain which is called every time new data is added to a data list */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testStreamingData() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -66,7 +66,7 @@ public class StreamingTestCase {
assertEquals("We are getting data add events also the last time", 4, streamProcessor.invocationCount);
assertEquals("New data is consumed", 4, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS); // no-op here
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS); // no-op here
assertEquals("d1",response.data().get(1).toString().toString());
assertEquals("d2",response.data().get(2).toString().toString());
assertEquals("d3",response.data().get(3).toString().toString());
diff --git a/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java b/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
index a6db21d5094..5dfe29dd4a1 100644
--- a/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
+++ b/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.rendering;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.component.provider.ListenableFreezableClass;
import com.yahoo.container.jdisc.ContentChannelOutputStream;
import com.yahoo.processing.Processor;
@@ -23,8 +22,6 @@ import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotSame;
@@ -403,41 +400,6 @@ public class AsynchronousSectionedRendererTest {
}
@Override
- @SuppressWarnings("removal")
- public ListenableFuture<DataList<StringData>> complete() {
- return new ListenableFuture<>() {
- @Override
- public void addListener(Runnable runnable, Executor executor) {
- }
-
- @Override
- public boolean cancel(boolean b) {
- return false;
- }
-
- @Override
- public boolean isCancelled() {
- return false;
- }
-
- @Override
- public boolean isDone() {
- return true;
- }
-
- @Override
- public DataList<StringData> get() {
- return StringDataList.this;
- }
-
- @Override
- public DataList<StringData> get(long l, TimeUnit timeUnit) {
- return StringDataList.this;
- }
- };
- }
-
- @Override
public CompletableFuture<DataList<StringData>> completeFuture() {
return CompletableFuture.completedFuture(this);
}
diff --git a/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java b/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
index 21731f7d714..a2a028772e5 100644
--- a/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
+++ b/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.test.documentation;
-import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.processing.Processor;
import com.yahoo.processing.Request;
@@ -22,13 +21,11 @@ public class AsyncDataProcessingInitiator extends Processor {
this.asyncChain=asyncChain;
}
- @SuppressWarnings({"removal"})
@Override
public Response process(Request request, Execution execution) {
Response response=execution.process(request);
- response.data().complete().addListener(new RunnableExecution(request,
- new ExecutionWithResponse(asyncChain, response, execution)),
- MoreExecutors.directExecutor());
+ response.data().completeFuture().whenComplete((__, ___) -> new RunnableExecution(request,
+ new ExecutionWithResponse(asyncChain, response, execution)).run());
return response;
}