]>
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 | ||
15 | testdownload() { | |
16 | rm -f downfile | |
17 | msgtest "download of a $1 via" "${3%%:*}" | |
18 | $2 --nomsg downloadfile "$3" downfile | |
19 | ||
20 | cp rootdir/tmp/testsuccess.output download.log | |
21 | #looking for "HTTP server doesn't give Reason-Phrase for 200" | |
22 | testsuccess grep 'give Reason-Phrase for' download.log | |
23 | ||
24 | if [ "$2" = 'testsuccess' ]; then | |
25 | testfileequal downfile 'found' | |
26 | else | |
27 | testfailure test -e downfile | |
28 | fi | |
29 | } | |
30 | ||
31 | runtest() { | |
32 | testdownload 'file works' 'testsuccess' "$1/working" | |
33 | testdownload 'file via redirect works' 'testsuccess' "$1/redirectme/working" | |
34 | ||
35 | testdownload 'non-existent file fails' 'testfailure' "$1/failing" | |
36 | testdownload 'non-existent file via redirect fails' 'testfailure' "$1/redirectme/failing" | |
37 | } | |
38 | ||
39 | runtest "http://localhost:${APTHTTPPORT}" | |
40 | runtest "https://localhost:${APTHTTPSPORT}" |