summaryrefslogtreecommitdiff
path: root/test/integration/test-apt-https-no-redirect
blob: 106d4bced9bea9029e278589b062f050d016e766 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh
set -e

TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework

setupenvironment
configarchitecture "i386"

buildsimplenativepackage 'apt' 'all' '1.0' 'stable'
setupaptarchive --no-update

changetohttpswebserver  -o 'aptwebserver::redirect::replace::/redirectme/=http://localhost:8080/'

DOWNLOG='download-testfile.log'
msgtest 'normal http download works'
downloadfile 'http://localhost:8080/pool/apt_1.0/changelog' changelog2 > "$DOWNLOG" && msgpass || msgfail

msgtest 'normal https download works'
downloadfile 'https://localhost:4433/pool/apt_1.0/changelog' changelog > "$DOWNLOG" && msgpass || msgfail

msgtest 'redirecting https to http does not work'
if ! downloadfile 'https://localhost:4433/redirectme/pool/apt_1.0/changelog' changelog3 > "$DOWNLOG"; then
    msgpass
else
    cat >&2 "$DOWNLOG"
    msgfail
fi
    
msgtest 'https methods given proper error on redirect attempt'
if grep -q 'Protocol http not supported or disabled in libcurl' "$DOWNLOG"; then
    msgpass
else
    cat >&2 "$DOWNLOG"
    msgfail
fi