You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org> on 2016/11/04 14:25:28 UTC

Change in asterixdb[master]: Align HTTP Test Requests to $METHOD.http

Michael Blow has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1341

Change subject: Align HTTP Test Requests to $METHOD.http
......................................................................

Align HTTP Test Requests to $METHOD.http

Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
---
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
D asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
C asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
13 files changed, 85 insertions(+), 71 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/41/1341/1

diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
similarity index 98%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
index 517b5b0..08577ae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
@@ -22,3 +22,4 @@
  * Expected Result : Success
  * Date            : 7th September 2016
  */
+/admin/cluster
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
index b88aed8..a6414db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Negative
  * Date            : 7th September 2016
  */
-/node/foo
+/admin/cluster/node/foo
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
index 22b4a19..8291cb7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node
+/admin/cluster/node
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
similarity index 96%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
index 0faba10..401f9a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node/asterix_nc1
+/admin/cluster/node/asterix_nc1
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
deleted file mode 100644
index 726f7e7..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/*
- * Test case Name  : cluster_state_3
- * Description     : cluster state api all nodes
- * Expected Result : Positive
- * Date            : 8th September 2016
- */
-/cc
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
similarity index 97%
copy from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
copy to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
index 22b4a19..5f248e8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node
+/admin/cluster/cc
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
index 1c6bab0..edc6363 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/cc/stats
+/admin/cluster/cc/stats
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
similarity index 95%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
index b1aa5d3..62cdfeb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node/asterix_nc2/threaddump
+/admin/cluster/node/asterix_nc2/threaddump
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.httpapi.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
similarity index 100%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.httpapi.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.httpapi.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
similarity index 100%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.httpapi.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
similarity index 98%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
index 6a75528..0e6b893 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
@@ -22,3 +22,4 @@
  * Expected Result : Success
  * Date            : 8th September 2016
  */
+/admin/version
\ No newline at end of file
diff --git a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
index 0a1ad14..115f5c0 100644
--- a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
+++ b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
@@ -33,6 +33,7 @@
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -371,6 +372,9 @@
 
     // For tests where you simply want the byte-for-byte output.
     private static void writeOutputToFile(File actualFile, InputStream resultStream) throws Exception {
+        if (!actualFile.getParentFile().mkdirs()) {
+            LOGGER.warning("Unable to create actual file parent dir: " + actualFile.getParentFile());
+        }
         try (FileOutputStream out = new FileOutputStream(actualFile)) {
             IOUtils.copy(resultStream, out);
         }
@@ -427,7 +431,7 @@
     }
 
     public InputStream executeQueryService(String str, String url) throws Exception {
-        return executeQueryService(str, OutputFormat.CLEAN_JSON, url, new ArrayList<>(), false);
+        return executeQueryService(str, OutputFormat.CLEAN_JSON, url, Collections.emptyList(), false);
     }
 
     public InputStream executeQueryService(String str, OutputFormat fmt, String url,
@@ -454,11 +458,21 @@
         params.add(formatParam);
     }
 
+    private List<CompilationUnit.Parameter> injectStatement(String statement, String stmtParamName,
+                                                            List<CompilationUnit.Parameter> otherParams) {
+        CompilationUnit.Parameter stmtParam = new CompilationUnit.Parameter();
+        stmtParam.setName(stmtParamName);
+        stmtParam.setValue(statement);
+        List<CompilationUnit.Parameter> params = new ArrayList<>(otherParams);
+        params.add(stmtParam);
+        return params;
+    }
+
     private HttpUriRequest constructHttpMethod(String statement, String endpoint, String stmtParam,
             boolean postStmtAsParam, List<CompilationUnit.Parameter> otherParams) {
         if (statement.length() + endpoint.length() < MAX_URL_LENGTH) {
             // Use GET for small-ish queries
-            return constructGetMethod(statement, endpoint, stmtParam, otherParams);
+            return constructGetMethod(endpoint, injectStatement(statement, stmtParam, otherParams));
         } else {
             // Use POST for bigger ones to avoid 413 FULL_HEAD
             String stmtParamName = (postStmtAsParam ? stmtParam : null);
@@ -466,21 +480,47 @@
         }
     }
 
-    private HttpUriRequest constructGetMethod(String statement, String endpoint, String stmtParam,
-            List<CompilationUnit.Parameter> otherParams) {
-        RequestBuilder builder = RequestBuilder.get(endpoint).addParameter(stmtParam, statement);
-        for (CompilationUnit.Parameter param : otherParams) {
+    private HttpUriRequest constructGetMethod(String endpoint, List<CompilationUnit.Parameter> params) {
+        RequestBuilder builder = RequestBuilder.get(endpoint);
+        for (CompilationUnit.Parameter param : params) {
             builder.addParameter(param.getName(), param.getValue());
         }
         builder.setCharset(StandardCharsets.UTF_8);
         return builder.build();
     }
 
+    private HttpUriRequest constructGetMethod(String endpoint, OutputFormat fmt,
+                                              List<CompilationUnit.Parameter> params) {
+
+        HttpUriRequest method = constructGetMethod(endpoint, params);
+        // Set accepted output response type
+        method.setHeader("Accept", fmt.mimeType());
+        return method;
+    }
+
+    private HttpUriRequest constructPostMethod(String endpoint, List<CompilationUnit.Parameter> params) {
+        RequestBuilder builder = RequestBuilder.post(endpoint);
+        for (CompilationUnit.Parameter param : params) {
+            builder.addParameter(param.getName(), param.getValue());
+        }
+        builder.setCharset(StandardCharsets.UTF_8);
+        return builder.build();
+    }
+
+    private HttpUriRequest constructPostMethod(String endpoint, OutputFormat fmt,
+                                              List<CompilationUnit.Parameter> params) {
+
+        HttpUriRequest method = constructPostMethod(endpoint, params);
+        // Set accepted output response type
+        method.setHeader("Accept", fmt.mimeType());
+        return method;
+    }
+
     protected HttpUriRequest constructPostMethodUrl(String statement, String endpoint, String stmtParam,
             List<CompilationUnit.Parameter> otherParams) {
         RequestBuilder builder = RequestBuilder.post(endpoint);
         if (stmtParam != null) {
-            for (CompilationUnit.Parameter param : otherParams) {
+            for (CompilationUnit.Parameter param : injectStatement(statement, stmtParam, otherParams)) {
                 builder.addParameter(param.getName(), param.getValue());
             }
             builder.addParameter(stmtParam, statement);
@@ -500,8 +540,7 @@
         RequestBuilder builder = RequestBuilder.post(endpoint);
         JSONObject content = new JSONObject();
         try {
-            content.put(stmtParam, statement);
-            for (CompilationUnit.Parameter param : otherParams) {
+            for (CompilationUnit.Parameter param : injectStatement(statement, stmtParam, otherParams)) {
                 content.put(param.getName(), param.getValue());
             }
         } catch (JSONException e) {
@@ -513,8 +552,13 @@
     }
 
     public InputStream executeJSONGet(OutputFormat fmt, String url) throws Exception {
-        HttpUriRequest request = RequestBuilder.get(url).setHeader("Accept", fmt.mimeType()).build();
+        HttpUriRequest request = constructGetMethod(url, fmt, Collections.emptyList());
+        HttpResponse response = executeAndCheckHttpRequest(request);
+        return response.getEntity().getContent();
+    }
 
+    public InputStream executeJSONPost(OutputFormat fmt, String url) throws Exception {
+        HttpUriRequest request = constructPostMethod(url, fmt, Collections.emptyList());
         HttpResponse response = executeAndCheckHttpRequest(request);
         return response.getEntity().getContent();
     }
@@ -765,7 +809,6 @@
 
                 File actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile,
                         new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
                 writeOutputToFile(actualResultFile, resultStream);
 
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
@@ -782,7 +825,6 @@
                 resultStream = executeQuery(statement, OutputFormat.forCompilationUnit(cUnit),
                         getEndpoint(Servlets.AQL_QUERY), cUnit.getParameter());
                 qbcFile = getTestCaseQueryBeforeCrashFile(actualPath, testCaseCtx, cUnit);
-                qbcFile.getParentFile().mkdirs();
                 writeOutputToFile(qbcFile, resultStream);
                 break;
             case "txnqar": // qar represents query after recovery
@@ -791,7 +833,6 @@
                 File qarFile = new File(actualPath + File.separator
                         + testCaseCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName()
                         + "_qar.adm");
-                qarFile.getParentFile().mkdirs();
                 writeOutputToFile(qarFile, resultStream);
                 qbcFile = getTestCaseQueryBeforeCrashFile(actualPath, testCaseCtx, cUnit);
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), qbcFile, qarFile);
@@ -859,36 +900,26 @@
                     throw new Exception(output);
                 }
                 break;
-            case "cstate": // cluster state query
+            case "get":
+            case "post":
+                if (!"http".equals(ctx.extension())) {
+                    throw new IllegalArgumentException("Unexpected format for method " + ctx.getType() + ": "
+                            + ctx.extension());
+                }
                 fmt = OutputFormat.forCompilationUnit(cUnit);
-                String extra = stripJavaComments(statement).trim();
-                resultStream = executeJSONGet(fmt, getEndpoint(Servlets.CLUSTER_STATE) + extra);
+                String endpoint = stripJavaComments(statement).trim();
+                switch (ctx.getType()) {
+                    case "get":
+                        resultStream = executeJSONGet(fmt, "http://" + host + ":" + port + endpoint);
+                        break;
+                    case "post":
+                        resultStream = executeJSONPost(fmt, "http://" + host + ":" + port + endpoint);
+                        break;
+                    default:
+                        throw new IllegalStateException("NYI: " + ctx.getType());
+                }
                 expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
                 actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
-                writeOutputToFile(actualResultFile, resultStream);
-                runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
-                        actualResultFile);
-                queryCount.increment();
-                break;
-            case "version": // version servlet
-                fmt = OutputFormat.forCompilationUnit(cUnit);
-                resultStream = executeJSONGet(fmt, getEndpoint(Servlets.VERSION));
-                expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
-                actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
-                writeOutputToFile(actualResultFile, resultStream);
-                runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
-                        actualResultFile);
-                queryCount.increment();
-                break;
-            case "httpapi": // http api
-                fmt = OutputFormat.forCompilationUnit(cUnit);
-                extra = stripJavaComments(statement).trim();
-                resultStream = executeJSONGet(fmt, "http://" + host + ":" + port + extra);
-                expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
-                actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
                 writeOutputToFile(actualResultFile, resultStream);
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
                         actualResultFile);
diff --git a/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java b/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
index 74a607d..e41a624 100644
--- a/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
+++ b/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
@@ -39,6 +39,12 @@
         return type;
     }
 
+    public String extension() {
+        final String name = file.getName();
+        int lastDot = name.lastIndexOf('.');
+        return lastDot == -1 ? name : name.substring(lastDot + 1);
+    }
+
     public void setType(String type) {
         this.type = type;
     }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 3: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1092/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No

Change in asterixdb[master]: Align HTTP Test Requests to $METHOD.http

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3247/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 3:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3249/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 3:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1092/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1341

to look at the new patch set (#3).

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................

ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
---
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
D asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
C asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
13 files changed, 83 insertions(+), 70 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/41/1341/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Michael Blow has uploaded a new patch set (#2).

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................

ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
---
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
D asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
C asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
13 files changed, 85 insertions(+), 71 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/41/1341/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 3: Code-Review+2

(1 comment)

Looks quite a bit cleaner now.

https://asterix-gerrit.ics.uci.edu/#/c/1341/3/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
File asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java:

Line 918:                         throw new IllegalStateException("NYI: " + ctx.getType());
A little brief, but ok.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: Yes

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Michael Blow has submitted this change and it was merged.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1341
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
D asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
C asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
R asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
M asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
13 files changed, 83 insertions(+), 70 deletions(-)

Approvals:
  Till Westmann: Looks good to me, approved
  Jenkins: Verified; No violations found; Verified



diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
similarity index 98%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
index 517b5b0..08577ae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_1/cluster_state_1.1.get.http
@@ -22,3 +22,4 @@
  * Expected Result : Success
  * Date            : 7th September 2016
  */
+/admin/cluster
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
index b88aed8..a6414db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_2/cluster_state_2.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Negative
  * Date            : 7th September 2016
  */
-/node/foo
+/admin/cluster/node/foo
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
index 22b4a19..8291cb7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node
+/admin/cluster/node
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
similarity index 96%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
index 0faba10..401f9a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_4/cluster_state_4.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node/asterix_nc1
+/admin/cluster/node/asterix_nc1
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
deleted file mode 100644
index 726f7e7..0000000
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.cstate.aql
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/*
- * Test case Name  : cluster_state_3
- * Description     : cluster state api all nodes
- * Expected Result : Positive
- * Date            : 8th September 2016
- */
-/cc
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
similarity index 97%
copy from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
copy to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
index 22b4a19..5f248e8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_3/cluster_state_3.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_1/cluster_state_cc_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node
+/admin/cluster/cc
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
similarity index 97%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
index 1c6bab0..edc6363 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_cc_stats_1/cluster_state_cc_stats_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/cc/stats
+/admin/cluster/cc/stats
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
similarity index 95%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
index b1aa5d3..62cdfeb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.cstate.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/cluster_state_nc_threaddump_1/cluster_state_nc_threaddump_1.1.get.http
@@ -22,4 +22,4 @@
  * Expected Result : Positive
  * Date            : 8th September 2016
  */
-/node/asterix_nc2/threaddump
+/admin/cluster/node/asterix_nc2/threaddump
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.httpapi.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
similarity index 100%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.httpapi.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/diagnostics_1/diagnostics_1.1.get.http
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.httpapi.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
similarity index 100%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.httpapi.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/replication/replication.1.get.http
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
similarity index 98%
rename from asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql
rename to asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
index 6a75528..0e6b893 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.version.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/api/version_1/version_1.1.get.http
@@ -22,3 +22,4 @@
  * Expected Result : Success
  * Date            : 8th September 2016
  */
+/admin/version
\ No newline at end of file
diff --git a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
index 0a1ad14..c6da1c0 100644
--- a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
+++ b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
@@ -371,6 +371,9 @@
 
     // For tests where you simply want the byte-for-byte output.
     private static void writeOutputToFile(File actualFile, InputStream resultStream) throws Exception {
+        if (!actualFile.getParentFile().mkdirs()) {
+            LOGGER.warning("Unable to create actual file parent dir: " + actualFile.getParentFile());
+        }
         try (FileOutputStream out = new FileOutputStream(actualFile)) {
             IOUtils.copy(resultStream, out);
         }
@@ -454,11 +457,21 @@
         params.add(formatParam);
     }
 
+    private List<CompilationUnit.Parameter> injectStatement(String statement, String stmtParamName,
+                                                            List<CompilationUnit.Parameter> otherParams) {
+        CompilationUnit.Parameter stmtParam = new CompilationUnit.Parameter();
+        stmtParam.setName(stmtParamName);
+        stmtParam.setValue(statement);
+        List<CompilationUnit.Parameter> params = new ArrayList<>(otherParams);
+        params.add(stmtParam);
+        return params;
+    }
+
     private HttpUriRequest constructHttpMethod(String statement, String endpoint, String stmtParam,
             boolean postStmtAsParam, List<CompilationUnit.Parameter> otherParams) {
         if (statement.length() + endpoint.length() < MAX_URL_LENGTH) {
             // Use GET for small-ish queries
-            return constructGetMethod(statement, endpoint, stmtParam, otherParams);
+            return constructGetMethod(endpoint, injectStatement(statement, stmtParam, otherParams));
         } else {
             // Use POST for bigger ones to avoid 413 FULL_HEAD
             String stmtParamName = (postStmtAsParam ? stmtParam : null);
@@ -466,21 +479,47 @@
         }
     }
 
-    private HttpUriRequest constructGetMethod(String statement, String endpoint, String stmtParam,
-            List<CompilationUnit.Parameter> otherParams) {
-        RequestBuilder builder = RequestBuilder.get(endpoint).addParameter(stmtParam, statement);
-        for (CompilationUnit.Parameter param : otherParams) {
+    private HttpUriRequest constructGetMethod(String endpoint, List<CompilationUnit.Parameter> params) {
+        RequestBuilder builder = RequestBuilder.get(endpoint);
+        for (CompilationUnit.Parameter param : params) {
             builder.addParameter(param.getName(), param.getValue());
         }
         builder.setCharset(StandardCharsets.UTF_8);
         return builder.build();
     }
 
+    private HttpUriRequest constructGetMethod(String endpoint, OutputFormat fmt,
+                                              List<CompilationUnit.Parameter> params) {
+
+        HttpUriRequest method = constructGetMethod(endpoint, params);
+        // Set accepted output response type
+        method.setHeader("Accept", fmt.mimeType());
+        return method;
+    }
+
+    private HttpUriRequest constructPostMethod(String endpoint, List<CompilationUnit.Parameter> params) {
+        RequestBuilder builder = RequestBuilder.post(endpoint);
+        for (CompilationUnit.Parameter param : params) {
+            builder.addParameter(param.getName(), param.getValue());
+        }
+        builder.setCharset(StandardCharsets.UTF_8);
+        return builder.build();
+    }
+
+    private HttpUriRequest constructPostMethod(String endpoint, OutputFormat fmt,
+                                              List<CompilationUnit.Parameter> params) {
+
+        HttpUriRequest method = constructPostMethod(endpoint, params);
+        // Set accepted output response type
+        method.setHeader("Accept", fmt.mimeType());
+        return method;
+    }
+
     protected HttpUriRequest constructPostMethodUrl(String statement, String endpoint, String stmtParam,
             List<CompilationUnit.Parameter> otherParams) {
         RequestBuilder builder = RequestBuilder.post(endpoint);
         if (stmtParam != null) {
-            for (CompilationUnit.Parameter param : otherParams) {
+            for (CompilationUnit.Parameter param : injectStatement(statement, stmtParam, otherParams)) {
                 builder.addParameter(param.getName(), param.getValue());
             }
             builder.addParameter(stmtParam, statement);
@@ -500,8 +539,7 @@
         RequestBuilder builder = RequestBuilder.post(endpoint);
         JSONObject content = new JSONObject();
         try {
-            content.put(stmtParam, statement);
-            for (CompilationUnit.Parameter param : otherParams) {
+            for (CompilationUnit.Parameter param : injectStatement(statement, stmtParam, otherParams)) {
                 content.put(param.getName(), param.getValue());
             }
         } catch (JSONException e) {
@@ -513,8 +551,13 @@
     }
 
     public InputStream executeJSONGet(OutputFormat fmt, String url) throws Exception {
-        HttpUriRequest request = RequestBuilder.get(url).setHeader("Accept", fmt.mimeType()).build();
+        HttpUriRequest request = constructGetMethod(url, fmt, new ArrayList<>());
+        HttpResponse response = executeAndCheckHttpRequest(request);
+        return response.getEntity().getContent();
+    }
 
+    public InputStream executeJSONPost(OutputFormat fmt, String url) throws Exception {
+        HttpUriRequest request = constructPostMethod(url, fmt, new ArrayList<>());
         HttpResponse response = executeAndCheckHttpRequest(request);
         return response.getEntity().getContent();
     }
@@ -765,7 +808,6 @@
 
                 File actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile,
                         new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
                 writeOutputToFile(actualResultFile, resultStream);
 
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
@@ -782,7 +824,6 @@
                 resultStream = executeQuery(statement, OutputFormat.forCompilationUnit(cUnit),
                         getEndpoint(Servlets.AQL_QUERY), cUnit.getParameter());
                 qbcFile = getTestCaseQueryBeforeCrashFile(actualPath, testCaseCtx, cUnit);
-                qbcFile.getParentFile().mkdirs();
                 writeOutputToFile(qbcFile, resultStream);
                 break;
             case "txnqar": // qar represents query after recovery
@@ -791,7 +832,6 @@
                 File qarFile = new File(actualPath + File.separator
                         + testCaseCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName()
                         + "_qar.adm");
-                qarFile.getParentFile().mkdirs();
                 writeOutputToFile(qarFile, resultStream);
                 qbcFile = getTestCaseQueryBeforeCrashFile(actualPath, testCaseCtx, cUnit);
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), qbcFile, qarFile);
@@ -859,36 +899,26 @@
                     throw new Exception(output);
                 }
                 break;
-            case "cstate": // cluster state query
+            case "get":
+            case "post":
+                if (!"http".equals(ctx.extension())) {
+                    throw new IllegalArgumentException("Unexpected format for method " + ctx.getType() + ": "
+                            + ctx.extension());
+                }
                 fmt = OutputFormat.forCompilationUnit(cUnit);
-                String extra = stripJavaComments(statement).trim();
-                resultStream = executeJSONGet(fmt, getEndpoint(Servlets.CLUSTER_STATE) + extra);
+                String endpoint = stripJavaComments(statement).trim();
+                switch (ctx.getType()) {
+                    case "get":
+                        resultStream = executeJSONGet(fmt, "http://" + host + ":" + port + endpoint);
+                        break;
+                    case "post":
+                        resultStream = executeJSONPost(fmt, "http://" + host + ":" + port + endpoint);
+                        break;
+                    default:
+                        throw new IllegalStateException("NYI: " + ctx.getType());
+                }
                 expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
                 actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
-                writeOutputToFile(actualResultFile, resultStream);
-                runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
-                        actualResultFile);
-                queryCount.increment();
-                break;
-            case "version": // version servlet
-                fmt = OutputFormat.forCompilationUnit(cUnit);
-                resultStream = executeJSONGet(fmt, getEndpoint(Servlets.VERSION));
-                expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
-                actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
-                writeOutputToFile(actualResultFile, resultStream);
-                runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
-                        actualResultFile);
-                queryCount.increment();
-                break;
-            case "httpapi": // http api
-                fmt = OutputFormat.forCompilationUnit(cUnit);
-                extra = stripJavaComments(statement).trim();
-                resultStream = executeJSONGet(fmt, "http://" + host + ":" + port + extra);
-                expectedResultFile = expectedResultFileCtxs.get(queryCount.intValue()).getFile();
-                actualResultFile = testCaseCtx.getActualResultFile(cUnit, expectedResultFile, new File(actualPath));
-                actualResultFile.getParentFile().mkdirs();
                 writeOutputToFile(actualResultFile, resultStream);
                 runScriptAndCompareWithResult(testFile, new PrintWriter(System.err), expectedResultFile,
                         actualResultFile);
diff --git a/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java b/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
index 74a607d..e41a624 100644
--- a/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
+++ b/asterixdb/asterix-test-framework/src/main/java/org/apache/asterix/testframework/context/TestFileContext.java
@@ -39,6 +39,12 @@
         return type;
     }
 
+    public String extension() {
+        final String name = file.getName();
+        int lastDot = name.lastIndexOf('.');
+        return lastDot == -1 ? name : name.substring(lastDot + 1);
+    }
+
     public void setType(String type) {
         this.type = type;
     }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>

Change in asterixdb[master]: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: ASTERIXDB-1719 - Align HTTP Test Requests to $METHOD.http
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3248/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1341
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I60958f77226f1afb2585baf9248682c4867758d8
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No