summaryrefslogtreecommitdiff
path: root/test/integration/test-apt-https-no-redirect
blob: bc744d6f27227d49d2ad634d2afc0fc33d71ae0d (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
#!/bin/sh
set -e

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

setupenvironment
configarchitecture "i386"

insertpackage 'stable' 'apt' 'all' '1'
setupaptarchive --no-update

echo 'alright' > aptarchive/working
changetohttpswebserver  -o 'aptwebserver::redirect::replace::/redirectme/=http://localhost:8080/'

msgtest 'download of a file works via' 'http'
downloadfile 'http://localhost:8080/working' httpfile >/dev/null 2>&1 && msgpass || msgfail
testfileequal httpfile 'alright'

msgtest 'download of a file works via' 'https'
downloadfile 'https://localhost:4433/working' httpsfile >/dev/null 2>&1 && msgpass || msgfail
testfileequal httpsfile 'alright'

msgtest 'download of a file does not work if' 'https redirected to http'
downloadfile 'https://localhost:4433/redirectme/working' redirectfile >curloutput 2>&1 && msgfail || msgpass

msgtest 'libcurl has forbidden access in last request to' 'http resource'
if grep -q -E -- 'Protocol "?http"? not supported or disabled in libcurl' curloutput; then
	msgpass
else
	cat curloutput
	msgfail
fi