From aa3e7b3287a20b464237c869483111abc7e9d815 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 29 Jan 2016 00:52:48 +0100 Subject: test all redirection codes work as expected Git-Dch: Ignore --- test/integration/test-bug-602412-dequote-redirect | 18 +++++++++++++----- test/interactive-helper/aptwebserver.cc | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'test') 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; } } -- cgit v1.2.3