Fix typos in documentation (codespell)
[ntk/apt.git] / test / integration / test-bug-617690-allow-unauthenticated-makes-all-untrusted
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6 setupenvironment
7 configarchitecture 'i386'
8
9 buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable'
10
11 setupaptarchive --no-update
12
13 testfileexists() {
14 msgtest 'Test for existence of file' "$1"
15 test -e "$1" && msgpass || msgfail
16 rm -f "$1"
17 }
18
19 testfilemissing() {
20 msgtest 'Test for non-existance of file' "$1"
21 test -e "$1" && msgfail || msgpass
22 rm -f "$1"
23 }
24
25 testrun() {
26 rm -rf rootdir/var/lib/apt
27 testsuccess aptget update
28
29 if [ "$1" = 'trusted' ]; then
30 testsuccess aptget download cool
31 testfileexists 'cool_1.0_i386.deb'
32
33 testsuccess aptget download cool --allow-unauthenticated
34 testfileexists 'cool_1.0_i386.deb'
35 else
36 testfailure aptget download cool
37 testfilemissing 'cool_1.0_i386.deb'
38
39 testsuccess aptget download cool --allow-unauthenticated
40 testfileexists 'cool_1.0_i386.deb'
41 fi
42
43 mv aptarchive/pool/cool_1.0_i386.deb aptarchive/pool/cool_1.0_i386.deb.bak
44 echo 'this is not a good package' > aptarchive/pool/cool_1.0_i386.deb
45 testfailure aptget download cool
46 testfilemissing cool_1.0_i386.deb
47
48 testfailure aptget download cool --allow-unauthenticated # unauthenticated doesn't mean unchecked
49 testfilemissing cool_1.0_i386.deb
50
51 rm -f aptarchive/pool/cool_1.0_i386.deb
52 mv aptarchive/pool/cool_1.0_i386.deb.bak aptarchive/pool/cool_1.0_i386.deb
53 testsuccess aptget download cool --allow-unauthenticated
54 testfileexists 'cool_1.0_i386.deb'
55 }
56
57 testrun 'trusted'
58
59 find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete
60 testrun 'untrusted'
61
62 changetowebserver
63 testrun 'untrusted'