Repository: asterixdb Updated Branches: refs/heads/master f9d70deb9 -> 7b26b0318
[NO ISSUE] Introduce TestExecutor.extractResult - user model changes: no - storage format changes: no - interface changes: no Change-Id: I8dbd239fa4a3997006c7fa2b27579956ac9660a2 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2433 Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Contrib: Jenkins <[email protected]> Reviewed-by: Murtadha Hubail <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/7b26b031 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/7b26b031 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/7b26b031 Branch: refs/heads/master Commit: 7b26b0318588fb05726f03e8bf9f95ea7d185c53 Parents: f9d70de Author: Till Westmann <[email protected]> Authored: Sat Nov 17 22:45:22 2018 -0800 Committer: Till Westmann <[email protected]> Committed: Wed Nov 21 09:36:52 2018 -0800 ---------------------------------------------------------------------- .../asterix/test/common/TestExecutor.java | 29 +++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7b26b031/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java index 113fc67..9f4f248 100644 --- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java @@ -1779,19 +1779,7 @@ public class TestExecutor { InputStream resultStream = executeQueryService( "select dv.DataverseName from Metadata.`Dataverse` as dv order by dv.DataverseName;", getEndpoint(Servlets.QUERY_SERVICE), OutputFormat.CLEAN_JSON); - String out = IOUtils.toString(resultStream, StandardCharsets.UTF_8); - ObjectMapper om = new ObjectMapper(); - om.setConfig(om.getDeserializationConfig().with(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)); - JsonNode result; - try { - result = om.readValue(out, ObjectNode.class).get("results"); - } catch (JsonMappingException e) { - LOGGER.warn("error mapping response '{}' to json", out, e); - result = null; - } - if (result == null) { - return; - } + JsonNode result = extractResult(IOUtils.toString(resultStream, StandardCharsets.UTF_8)); for (int i = 0; i < result.size(); i++) { JsonNode json = result.get(i); if (json != null) { @@ -1821,6 +1809,21 @@ public class TestExecutor { } } + private JsonNode extractResult(String jsonString) throws IOException { + ObjectMapper om = new ObjectMapper(); + om.setConfig(om.getDeserializationConfig().with(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)); + try { + final JsonNode result = om.readValue(jsonString, ObjectNode.class).get("results"); + if (result == null) { + throw new IllegalArgumentException("No field 'results' in " + jsonString); + } + return result; + } catch (JsonMappingException e) { + LOGGER.warn("error mapping response '{}' to json", jsonString, e); + return om.createArrayNode(); + } + } + //This method is here to enable extension protected String getPath(String servlet) { return servlet;
