You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2015/02/02 23:12:30 UTC

trafficserver git commit: add regression tests to some http methods

Repository: trafficserver
Updated Branches:
  refs/heads/5.2.x feb2d30f8 -> 05dae7c7d


add regression tests to some http methods


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/05dae7c7
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/05dae7c7
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/05dae7c7

Branch: refs/heads/5.2.x
Commit: 05dae7c7da003bcb6303048702ef3c859730eb28
Parents: feb2d30
Author: Sudheer Vinukonda <su...@yahoo-inc.com>
Authored: Tue Dec 2 21:21:51 2014 +0000
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Mon Feb 2 15:12:22 2015 -0700

----------------------------------------------------------------------
 proxy/http/RegressionHttpTransact.cc | 40 +++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/05dae7c7/proxy/http/RegressionHttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/RegressionHttpTransact.cc b/proxy/http/RegressionHttpTransact.cc
index 2424964..b74a477 100644
--- a/proxy/http/RegressionHttpTransact.cc
+++ b/proxy/http/RegressionHttpTransact.cc
@@ -52,6 +52,7 @@ setup_client_request(HttpSM * sm, const char * scheme, const char * request)
   int bytes_used = 0;
   sm->t_state.hdr_info.client_request.parse_req(&httpParser, buffer_reader, &bytes_used, true /* eos */);
   sm->t_state.hdr_info.client_request.url_get()->scheme_set(scheme, strlen(scheme));
+  sm->t_state.method = sm->t_state.hdr_info.client_request.method_get_wksidx();
   free_MIOBuffer(read_buffer);
 }
 
@@ -78,6 +79,8 @@ REGRESSION_TEST(HttpTransact_is_request_valid)(RegressionTest *t, int /* level *
     { "http", "GET / HTTP/1.1\r\n\r\n", false},
     // good get request
     { "http", "GET / HTTP/1.1\r\nHost: abc.com\r\n\r\n", true},
+    // good trace request
+    { "http", "TRACE / HTTP/1.1\r\nHost: abc.com\r\n\r\n", true},
     // content len < 0
     { "http", "POST / HTTP/1.1\r\nHost: abc.com\r\nContent-Length: -1\r\n\r\n", false},
     { "http", "PUSH / HTTP/1.1\r\nHost: abc.com\r\nContent-Length: -1\r\n\r\n", false},
@@ -101,3 +104,40 @@ REGRESSION_TEST(HttpTransact_is_request_valid)(RegressionTest *t, int /* level *
     }
   }
 }
+
+REGRESSION_TEST(HttpTransact_handle_trace_and_options_requests)(RegressionTest *t, int /* level */, int *pstatus)
+{
+  HttpTransact transaction;
+  HttpSM sm;
+  *pstatus = REGRESSION_TEST_PASSED;
+
+  struct
+  {
+    const char *scheme;
+    const char *req;
+    bool result;
+  } requests[] = {
+    // good trace request
+    { "http", "TRACE www.abc.com/ HTTP/1.1\r\nHost: abc.com\r\nMax-Forwards: 0\r\n\r\n", true},
+    { NULL, NULL, false}
+  };
+  for (int i = 0; requests[i].req; i++) {
+    setup_client_request(&sm, requests[i].scheme, requests[i].req);
+
+    if (requests[i].result != transaction.is_request_valid(&sm.t_state, &sm.t_state.hdr_info.client_request)) {
+      rprintf(t, "HttpTransact::is_request_valid - failed for request = '%s'.  Expected result was %s request\n", requests[i].req,(requests[i].result ? "valid" :"invalid") );
+      *pstatus = REGRESSION_TEST_FAILED;
+    }
+    if (requests[i].result != transaction.handle_trace_and_options_requests(&sm.t_state, &sm.t_state.hdr_info.client_request)) {
+      rprintf(t, "HttpTransact::handle_trace_and_options_requests - failed for request = '%s'.  Expected result was %s request\n", requests[i].req,(requests[i].result ? "true" :"false") );
+      *pstatus = REGRESSION_TEST_FAILED;
+    }
+  }
+}
+
+REGRESSION_TEST(HttpTransact_handle_request)(RegressionTest * /* t */, int /* level */, int *pstatus)
+{
+  // To be added..
+  *pstatus = REGRESSION_TEST_PASSED;
+}
+