eipp: add Allow-Temporary-Remove-of-Essentials
[apt.git] / test / integration / test-authentication-basic
index 4b0ead54a72bfc1824403eef512ab35354d00132..9a15c760429bf1f98ef2e0c44f0f7689677954c8 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 
 setupenvironment
 configarchitecture 'i386'
@@ -10,7 +10,7 @@ configarchitecture 'i386'
 insertpackage 'unstable' 'foo' 'all' '1'
 setupaptarchive --no-update
 
-changetohttpswebserver --authorization="$(printf '%s' 'star:hunter2' | base64 )"
+changetohttpswebserver --authorization="$(printf '%s' 'star@irc:hunter2' | base64 )"
 
 echo 'See, when YOU type hunter2, it shows to us as *******' > aptarchive/bash
 
@@ -18,13 +18,13 @@ testauthfailure() {
        testfailure apthelper download-file "${1}/bash" ./downloaded/bash
        # crappy test, but http and https output are wastely different…
        testsuccess grep 401 rootdir/tmp/testfailure.output
-       testsuccess test ! -s ./downloaded/bash
+       testfailure test -s ./downloaded/bash
 }
 
 testauthsuccess() {
        testsuccess apthelper download-file "${1}/bash" ./downloaded/bash
        testfileequal ./downloaded/bash "$(cat aptarchive/bash)"
-       testfilestats ./downloaded/bash '%U:%G:%a' '=' "${USER}:${USER}:644"
+       testfilestats ./downloaded/bash '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
        rm -f ./downloaded/bash
 
        # lets see if got/retains acceptable permissions
@@ -32,13 +32,13 @@ testauthsuccess() {
                if [ "$(id -u)" = '0' ]; then
                        testfilestats "$AUTHCONF" '%U:%G:%a' '=' "_apt:root:600"
                else
-                       testfilestats "$AUTHCONF" '%U:%G:%a' '=' "${USER}:${USER}:600"
+                       testfilestats "$AUTHCONF" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:600"
                fi
        fi
 
        rm -rf rootdir/var/lib/apt/lists
        testsuccess aptget update
-       testequal 'Reading package lists...
+       testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   foo
@@ -61,7 +61,7 @@ runtest() {
 
        # good auth
        authfile 'machine localhost
-login star
+login star@irc
 password hunter2'
        testauthsuccess "$1"
 
@@ -77,30 +77,33 @@ login debian
 password jessie
 
 machine localhost
-login star
+login star@irc
 password hunter2'
        testauthsuccess "$1"
 }
 
 msgmsg 'server basic auth'
-rewritesourceslist 'http://localhost:8080'
-runtest 'http://localhost:8080'
-rewritesourceslist 'https://localhost:4433'
-runtest 'https://localhost:4433'
-rewritesourceslist 'http://localhost:8080'
+rewritesourceslist "http://localhost:${APTHTTPPORT}"
+runtest "http://localhost:${APTHTTPPORT}"
+rewritesourceslist "http://star%40irc:hunter2@localhost:${APTHTTPPORT}"
+authfile ''
+testauthsuccess "http://star%40irc:hunter2@localhost:${APTHTTPPORT}"
+rewritesourceslist "https://localhost:${APTHTTPSPORT}"
+runtest "https://localhost:${APTHTTPSPORT}"
+rewritesourceslist "http://localhost:${APTHTTPPORT}"
 
 msgmsg 'proxy to server basic auth'
 webserverconfig 'aptwebserver::request::absolute' 'uri'
-export http_proxy='http://localhost:8080'
-runtest 'http://localhost:8080'
+export http_proxy="http://localhost:${APTHTTPPORT}"
+runtest "http://localhost:${APTHTTPPORT}"
 unset http_proxy
 
 msgmsg 'proxy basic auth to server basic auth'
 webserverconfig 'aptwebserver::proxy-authorization' "$(printf 'moon:deer2' | base64)"
-export http_proxy='http://moon:deer2@localhost:8080'
-runtest 'http://localhost:8080'
+export http_proxy="http://moon:deer2@localhost:${APTHTTPPORT}"
+runtest "http://localhost:${APTHTTPPORT}"
 
 msgmsg 'proxy basic auth to server'
 authfile ''
 webserverconfig 'aptwebserver::authorization' ''
-testauthsuccess 'http://localhost:8080'
+testauthsuccess "http://localhost:${APTHTTPPORT}"