summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-01-29 00:52:48 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2016-01-31 19:06:19 +0100
commitaa3e7b3287a20b464237c869483111abc7e9d815 (patch)
tree9ccac51dd28b591b0ad3e09e8710da3e29d04432
parent401d88939a749e8bb3e0493db2fe6d3a7281c73f (diff)
test all redirection codes work as expected
Git-Dch: Ignore
-rwxr-xr-xtest/integration/test-bug-602412-dequote-redirect18
-rw-r--r--test/interactive-helper/aptwebserver.cc2
2 files changed, 14 insertions, 6 deletions
diff --git a/test/integration/test-bug-602412-dequote-redirect b/test/integration/test-bug-602412-dequote-redirect
index c5f0e1e64..3d88baaef 100755
--- a/test/integration/test-bug-602412-dequote-redirect
+++ b/test/integration/test-bug-602412-dequote-redirect
@@ -16,21 +16,29 @@ mv aptarchive/pool aptarchive/newpool
mv aptarchive/dists aptarchive/newdists
testrun() {
- msgmsg 'Test redirection works in method boundaries' "$1"
+ msgmsg "Test $1 redirection works in method boundaries" "$2"
msgtest 'Test redirection works in' 'apt-get update'
testsuccess --nomsg aptget update
# check that I-M-S header is kept in redirections
- testsuccessequal "Hit:1 $1 unstable InRelease
+ testsuccessequal "Hit:1 $2 unstable InRelease
Reading package lists..." aptget update
msgtest 'Test redirection works in' 'package download'
testsuccess --nomsg aptget install unrelated --download-only -y
}
-testrun "http://localhost:${APTHTTPPORT}"
+for CODE in 301 302 307; do
+ webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
+ testrun "$CODE" "http://localhost:${APTHTTPPORT}"
+ testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log
+ rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
+done
-rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
changetohttpswebserver
-testrun "https://localhost:${APTHTTPSPORT}"
+for CODE in 301 302 307; do
+ webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
+ testrun "$CODE" "https://localhost:${APTHTTPSPORT}"
+ rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
+done
diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
index 849323cc0..0398a4599 100644
--- a/test/interactive-helper/aptwebserver.cc
+++ b/test/interactive-helper/aptwebserver.cc
@@ -652,7 +652,7 @@ static void * handleClient(void * voidclient) /*{{{*/
redirect.erase(0,1);
if (redirect != filename)
{
- sendRedirect(client, 301, redirect, *m, sendContent);
+ sendRedirect(client, _config->FindI("aptwebserver::redirect::httpcode", 301), redirect, *m, sendContent);
continue;
}
}