summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-06-28 11:16:29 +0200
committerGitHub <noreply@github.com>2022-06-28 11:16:29 +0200
commit1bb1fe3b1471b7aeb999659585c8e55ed29524db (patch)
tree6a8a3219a923eaa77e585432f8b83711ff51f081 /container-search
parent0255b9e403a13c7de356b97d44a4be526c2a777b (diff)
parentedb148089d93036e57ea40d10c1b4e4ffc0899f4 (diff)
Merge pull request #23255 from vespa-engine/bjorncs/stabilize-test
Ensure JsonRenderer is only used once
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java29
1 files changed, 15 insertions, 14 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
index 83d04c4cc6d..7ddc087feb7 100644
--- a/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/rendering/JsonRendererTestCase.java
@@ -116,8 +116,10 @@ public class JsonRendererTestCase {
@After
public void deconstructClone() {
- renderer.deconstruct();
- renderer = null;
+ if (renderer != null) {
+ renderer.deconstruct();
+ renderer = null;
+ }
}
@AfterClass
@@ -436,10 +438,7 @@ public class JsonRendererTestCase {
e2.search(subQuery);
subQuery.trace("yellow", 1);
q.trace("marker", 1);
- ByteArrayOutputStream bs = new ByteArrayOutputStream();
- CompletableFuture<Boolean> f = renderer.renderResponse(bs, r, execution, null);
- assertTrue(f.get());
- String summary = Utf8.toString(bs.toByteArray());
+ String summary = render(execution, r);
assertEqualJson(expected, summary);
}
@@ -478,10 +477,7 @@ public class JsonRendererTestCase {
execution.search(q);
new Execution(new Chain<>(), execution.context());
- ByteArrayOutputStream bs = new ByteArrayOutputStream();
- CompletableFuture<Boolean> f = renderer.renderResponse(bs, r, execution, null);
- assertTrue(f.get());
- String summary = Utf8.toString(bs.toByteArray());
+ String summary = render(execution, r);
ObjectMapper m = new ObjectMapper();
Map<String, Object> exp = m.readValue(expected, Map.class);
@@ -1478,10 +1474,15 @@ public class JsonRendererTestCase {
}
private String render(Execution execution, Result r) throws InterruptedException, ExecutionException {
- ByteArrayOutputStream bs = new ByteArrayOutputStream();
- CompletableFuture<Boolean> f = renderer.renderResponse(bs, r, execution, null);
- assertTrue(f.get());
- return Utf8.toString(bs.toByteArray());
+ if (renderer == null) createClone();
+ try {
+ ByteArrayOutputStream bs = new ByteArrayOutputStream();
+ CompletableFuture<Boolean> f = renderer.renderResponse(bs, r, execution, null);
+ assertTrue(f.get());
+ return Utf8.toString(bs.toByteArray());
+ } finally {
+ deconstructClone();
+ }
}
@SuppressWarnings("unchecked")