diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-06-28 11:16:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-28 11:16:29 +0200 |
commit | 1bb1fe3b1471b7aeb999659585c8e55ed29524db (patch) | |
tree | 6a8a3219a923eaa77e585432f8b83711ff51f081 /container-search | |
parent | 0255b9e403a13c7de356b97d44a4be526c2a777b (diff) | |
parent | edb148089d93036e57ea40d10c1b4e4ffc0899f4 (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.java | 29 |
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") |