]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR="$(readlink -f "$(dirname "$0")")" | |
5 | . "$TESTDIR/framework" | |
6 | ||
7 | setupenvironment | |
8 | configarchitecture 'native' | |
9 | ||
10 | echo 'found' > aptarchive/working | |
11 | changetohttpswebserver -o 'aptwebserver::redirect::replace::/redirectme/=/' \ | |
12 | -o 'aptwebserver::httpcode::200=200' -o 'aptwebserver::httpcode::404=404' \ | |
13 | -o 'aptwebserver::httpcode::301=301' | |
14 | webserverconfig 'aptwebserver::empty-response-header::' 'foobar' | |
15 | ||
16 | testdownload() { | |
17 | rm -f downfile | |
18 | msgtest "download of a $1 via" "${3%%:*}" | |
19 | $2 --nomsg downloadfile "$3" downfile | |
20 | ||
21 | cp rootdir/tmp/testsuccess.output download.log | |
22 | #looking for "HTTP server doesn't give Reason-Phrase for 200" | |
23 | testsuccess grep 'give Reason-Phrase for' download.log | |
24 | ||
25 | if [ "$2" = 'testsuccess' ]; then | |
26 | testfileequal downfile 'found' | |
27 | else | |
28 | testfailure test -e downfile | |
29 | fi | |
30 | } | |
31 | ||
32 | runtest() { | |
33 | testdownload 'file works' 'testsuccess' "$1/working" | |
34 | testdownload 'file via redirect works' 'testsuccess' "$1/redirectme/working" | |
35 | ||
36 | testdownload 'non-existent file fails' 'testfailure' "$1/failing" | |
37 | testdownload 'non-existent file via redirect fails' 'testfailure' "$1/redirectme/failing" | |
38 | } | |
39 | ||
40 | runtest "http://localhost:${APTHTTPPORT}" | |
41 | runtest "https://localhost:${APTHTTPSPORT}" |