aurweb/test/t1100-git-auth.sh
Lukas Fleischer 2d2bef3513 t1100: Test AUR_OVERWRITE
Since c5302d3 (Require TUs to explicitly request to overwrite a pkgbase,
2017-07-24), non-fast-forward pushes require setting the AUR_OVERWRITE
environment variable. Make sure that git-auth passes this variable to
git-serve when it should (and does not pass it if it shouldn't).

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2017-08-10 15:17:31 +02:00

45 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
test_description='git-auth tests'
. ./setup.sh
test_expect_success 'Test basic authentication.' '
"$GIT_AUTH" "$AUTH_KEYTYPE_USER" "$AUTH_KEYTEXT_USER" >out &&
grep -q AUR_USER=user out &&
grep -q AUR_PRIVILEGED=0 out
'
test_expect_success 'Test Trusted User authentication.' '
"$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
grep -q AUR_USER=tu out &&
grep -q AUR_PRIVILEGED=1 out
'
test_expect_success 'Test authentication with an unsupported key type.' '
test_must_fail "$GIT_AUTH" ssh-xxx "$AUTH_KEYTEXT_USER"
'
test_expect_success 'Test authentication with a wrong key.' '
"$GIT_AUTH" "$AUTH_KEYTYPE_MISSING" "$AUTH_KEYTEXT_MISSING" >out
test_must_be_empty out
'
test_expect_success 'Test AUR_OVERWRITE passthrough.' '
AUR_OVERWRITE=1 \
"$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
grep -q AUR_OVERWRITE=1 out
'
test_expect_success 'Make sure that AUR_OVERWRITE is unset by default.' '
"$GIT_AUTH" "$AUTH_KEYTYPE_TU" "$AUTH_KEYTEXT_TU" >out &&
grep -q AUR_OVERWRITE=0 out
'
test_expect_success 'Make sure regular users cannot set AUR_OVERWRITE.' '
AUR_OVERWRITE=1 \
"$GIT_AUTH" "$AUTH_KEYTYPE_USER" "$AUTH_KEYTEXT_USER" >out &&
grep -q AUR_OVERWRITE=0 out
'
test_done