]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-602412-dequote-redirect
test-apt-update-reporting: Make more use of framework
[apt.git] / test / integration / test-bug-602412-dequote-redirect
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'amd64'
8
9 buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable'
10
11 setupaptarchive --no-update
12 changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \
13 -o aptwebserver::redirect::replace::/dists/=/newdists/
14
15 mv aptarchive/pool aptarchive/newpool
16 mv aptarchive/dists aptarchive/newdists
17
18 testrun() {
19 msgmsg "Test $1 redirection works in method boundaries" "$2"
20 msgtest 'Test redirection works in' 'apt-get update'
21 testsuccess --nomsg aptget update
22
23 # check that I-M-S header is kept in redirections
24 testsuccessequal "Hit:1 $2 unstable InRelease
25 Reading package lists..." aptget update
26
27 msgtest 'Test redirection works in' 'package download'
28 testsuccess --nomsg aptget install unrelated --download-only -y
29 }
30
31 for CODE in 301 302 307; do
32 webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
33 testrun "$CODE" "http://localhost:${APTHTTPPORT}"
34 testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log
35 rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
36 done
37
38 changetohttpswebserver
39
40 for CODE in 301 302 307; do
41 webserverconfig 'aptwebserver::redirect::httpcode' "$CODE"
42 testrun "$CODE" "https://localhost:${APTHTTPSPORT}"
43 rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives
44 done