You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by ti...@apache.org on 2018/11/21 17:37:48 UTC

asterixdb git commit: [NO ISSUE] Introduce TestExecutor.extractResult

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 <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mh...@apache.org>


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 <ti...@apache.org>
Authored: Sat Nov 17 22:45:22 2018 -0800
Committer: Till Westmann <ti...@apache.org>
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;