You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ro...@apache.org on 2018/06/04 20:49:57 UTC
[incubator-trafficcontrol] 14/15: Add ModHdr test start,
some cleanup
This is an automated email from the ASF dual-hosted git repository.
rob pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git
commit 3ef7b8f9ac261e5d3a69bffc5732a57cb9fb6c91
Author: Jan van Doorn <jv...@knutsel.com>
AuthorDate: Mon May 28 14:45:10 2018 -0600
Add ModHdr test start, some cleanup
---
grove/integration_test/setup-and-run.sh | 38 ++++++
.../tests/plugins/modify_headers/remap.json | 152 +++++++++++++++++++++
.../tests/plugins/modify_headers/test.sh | 41 ++++++
.../tests/plugins/range_req_handler/test.sh | 4 +-
4 files changed, 233 insertions(+), 2 deletions(-)
diff --git a/grove/integration_test/setup-and-run.sh b/grove/integration_test/setup-and-run.sh
index 4e642df..3194947 100644
--- a/grove/integration_test/setup-and-run.sh
+++ b/grove/integration_test/setup-and-run.sh
@@ -55,6 +55,44 @@ curl -H'Host: mem-test.cdn.kabletown.net' -Lsv -r 50000-50009 http://localhost:
#cd $GOPATH/src/github.com/apache/incubator-trafficcontrol/grove/integration_test
go build compare_gets.go
+#function run_test () {
+# command=${1}
+# output=${2:-/dev/null}
+# echo -n "Test ${testno} (${command}): "
+# ${command} > ${output} 2>&1
+# thisresult=$?
+#
+# result=$(($result+thisresult))
+# if [ $thisresult -eq 0 ]
+# then
+# echo "PASS"
+# else
+# echo "FAIL"
+# fi
+#
+# testno=$(($testno+1))
+#}
+
+
+function run_test () {
+ "$@"
+ thisresult=$?
+
+ result=$(($result+thisresult))
+ if [ $thisresult -eq 0 ]
+ then
+ echo "PASS"
+ else
+ echo "FAIL"
+ fi
+
+ testno=$(($testno+1))
+}
+export -f run_test
+
+
+$GOPATH/src/github.com/apache/incubator-trafficcontrol/grove/integration_test/tests/plugins/modify_headers/test.sh
+$GOPATH/src/github.com/apache/incubator-trafficcontrol/grove/integration_test/tests/plugins/range_req_handler/test.sh
diff --git a/grove/integration_test/tests/plugins/modify_headers/remap.json b/grove/integration_test/tests/plugins/modify_headers/remap.json
new file mode 100644
index 0000000..80739e4
--- /dev/null
+++ b/grove/integration_test/tests/plugins/modify_headers/remap.json
@@ -0,0 +1,152 @@
+{
+ "parent_selection": "consistent-hash",
+ "plugins": {
+ "modify_response_headers_global": {
+ "set": [
+ {
+ "name": "Server",
+ "value": "Grove/0.39999999"
+ }
+ ]
+ }
+ },
+ "retry_codes": null,
+ "retry_num": null,
+ "rules": [
+ {
+ "allow": null,
+ "certificate-file": "",
+ "certificate-key-file": "",
+ "concurrent_rule_requests": 0,
+ "connection-close": false,
+ "deny": null,
+ "from": "http://disk-test.cdn.kabletown.net",
+ "name": "test",
+ "parent_selection": "consistent-hash",
+ "cache_name": "disk",
+ "plugins": {
+ "modify_parent_request_headers": {
+ "set": [
+ {
+ "name": "X-From-CDN",
+ "value": "Traffic-Control"
+ }
+ ]
+ },
+ "modify_headers": {
+ "set": [
+ {
+ "name": "X-CDN-name",
+ "value": "GroverCDN"
+ }
+ ]
+ },
+ "range_req_handler": {
+ "mode": "get_full_serve_range"
+ }
+ },
+ "query-string": {
+ "cache": true,
+ "remap": true
+ },
+ "retry_codes": [],
+ "retry_num": 5,
+ "timeout_ms": 5000000,
+ "to": [
+ {
+ "retry_codes": [],
+ "retry_num": 0,
+ "timeout_ms": 5000000,
+ "url": "http://localhost",
+ "weight": 1
+ }
+ ]
+ },
+ {
+ "allow": null,
+ "certificate-file": "",
+ "certificate-key-file": "",
+ "concurrent_rule_requests": 0,
+ "connection-close": false,
+ "deny": null,
+ "from": "http://disk1-test.cdn.kabletown.net",
+ "name": "test1",
+ "parent_selection": "consistent-hash",
+ "cache_name": "disk",
+ "plugins": {
+ "modify_parent_request_headers": {
+ "set": [
+ {
+ "name": "X-From-CDN",
+ "value": "Traffic-Control"
+ }
+ ]
+ },
+ "modify_headers": {
+ "set": [
+ {
+ "name": "X-CDN-name",
+ "value": "GroverCDN"
+ }
+ ]
+ }
+ },
+ "query-string": {
+ "cache": true,
+ "remap": true
+ },
+ "retry_codes": [],
+ "retry_num": 5,
+ "timeout_ms": 5000000,
+ "to": [
+ {
+ "retry_codes": [],
+ "retry_num": 0,
+ "timeout_ms": 5000000,
+ "url": "http://localhost",
+ "weight": 1
+ }
+ ]
+ },
+ {
+ "allow": null,
+ "certificate-file": "",
+ "certificate-key-file": "",
+ "concurrent_rule_requests": 0,
+ "connection-close": false,
+ "deny": null,
+ "from": "http://mem-test.cdn.kabletown.net",
+ "name": "test2",
+ "parent_selection": "consistent-hash",
+ "query-string": {
+ "cache": true,
+ "remap": true
+ },
+ "retry_codes": [],
+ "retry_num": 5,
+ "timeout_ms": 5000,
+ "plugins": {
+ "range_req_handler": {
+ "mode": "store_ranges"
+ }
+ },
+ "to": [
+ {
+ "retry_codes": [],
+ "retry_num": 0,
+ "timeout_ms": 5000000,
+ "url": "http://localhost",
+ "weight": 1
+ }
+ ]
+ }
+ ],
+ "stats": {
+ "allow": [
+ "127.0.0.1/32",
+ "::1/128"
+ ],
+ "deny": null
+ },
+ "timeout_ms": 5000
+}
diff --git a/grove/integration_test/tests/plugins/modify_headers/test.sh b/grove/integration_test/tests/plugins/modify_headers/test.sh
new file mode 100644
index 0000000..9e9615d
--- /dev/null
+++ b/grove/integration_test/tests/plugins/modify_headers/test.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash -x
+
+#
+# Licensed 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.
+#
+
+
+originurl="http://localhost/"
+host="mem-test.cdn.kabletown.net"
+cacheurl="http://localhost:8080/"
+file="10Mb.txt"
+
+result=0
+testno=0
+
+
+# test global header set
+run_test curl -Lkvs -HHost:mem-test.cdn.kabletown.net -o /tmp/10k.bin http://localhost:8080/10k.bin
+cp /tmp/run_test.out /tmp/hdrs.out
+run_test diff /tmp/10k.bin /var/www/html/10k.bin
+run_test grep "< Server: Grove/0.39999999" /tmp/hdrs.out
+
+# test per remap header set up and down
+run_test curl -XTRACE -H'Host: disk-test.cdn.kabletown.net' http://localhost:8080/10Mb.txt -Lkvs -o /tmp/out
+cp /tmp/run_test.out /tmp/hdrs.out
+run_test grep "X-From-Cdn: Traffic-Control" /tmp/out
+run_test grep "< X-Cdn-Name: GroverCDN" /tmp/out
+
+echo "plugin/modify_headers: $testno tests done, $result failed."
+
+exit $result
diff --git a/grove/integration_test/tests/plugins/range_req_handler/test.sh b/grove/integration_test/tests/plugins/range_req_handler/test.sh
index b013400..0926ded 100644
--- a/grove/integration_test/tests/plugins/range_req_handler/test.sh
+++ b/grove/integration_test/tests/plugins/range_req_handler/test.sh
@@ -41,7 +41,7 @@ done
# multipart
for host in "mem-test.cdn.kabletown.net" "disk-test.cdn.kabletown.net"
do
- for r in "0-0" "0-100" "5000-" "-100" "0-0,10-15" "0-100,200-210" "33-99,101-188" "8-10,9-15,100-200" "0-300,200-250" "-33,66-99,50-150" "500-,300-304"
+ for r in "0-0" "0-100" "5000-" "-100" "0-0,10-15" "0-100,200-210" "33-99,101-188" "8-10,9-15,100-200" "0-300,200-250" "-33,66-99,50-150" "300-304,500-,600-700"
do
test="${CMP_TOOL} --chdrs \"Host:$host Range:bytes=${r}\" --ohdrs \"Range:bytes=${r}\" --path \"10Mb.txt\" --ignorehdrs \"Server,Date\" --ignorempb"
testno=$(($testno+1))
@@ -53,6 +53,6 @@ do
done
done
-echo "$testno tests done, $result failed."
+echo "plugin/range_req_handler: $testno tests done, $result failed."
exit $result
--
To stop receiving notification emails like this one, please contact
rob@apache.org.