summaryrefslogtreecommitdiffstats
path: root/git-interface/test/t0002-serve.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-interface/test/t0002-serve.sh')
-rwxr-xr-xgit-interface/test/t0002-serve.sh62
1 files changed, 62 insertions, 0 deletions
diff --git a/git-interface/test/t0002-serve.sh b/git-interface/test/t0002-serve.sh
index 7e17bcbc..f36f1d88 100755
--- a/git-interface/test/t0002-serve.sh
+++ b/git-interface/test/t0002-serve.sh
@@ -15,6 +15,8 @@ test_expect_success 'Test help.' '
test_expect_success 'Test setup-repo and list-repos.' '
SSH_ORIGINAL_COMMAND="setup-repo foobar" AUR_USER=user \
"$GIT_SERVE" 2>&1 &&
+ SSH_ORIGINAL_COMMAND="setup-repo foobar2" AUR_USER=tu \
+ "$GIT_SERVE" 2>&1 &&
cat >expected <<-EOF &&
*foobar
EOF
@@ -23,4 +25,64 @@ test_expect_success 'Test setup-repo and list-repos.' '
test_cmp expected actual
'
+test_expect_success 'Test git-receive-pack.' '
+ cat >expected <<-EOF &&
+ user
+ foobar
+ foobar
+ EOF
+ SSH_ORIGINAL_COMMAND="git-receive-pack /foobar.git/" \
+ AUR_USER=user AUR_PRIVILEGED=0 \
+ "$GIT_SERVE" 2>&1 >actual &&
+ test_cmp expected actual
+'
+
+test_expect_success 'Test git-receive-pack with an invalid repository name.' '
+ SSH_ORIGINAL_COMMAND="git-receive-pack /!.git/" \
+ AUR_USER=user AUR_PRIVILEGED=0 \
+ test_must_fail "$GIT_SERVE" 2>&1 >actual
+'
+
+test_expect_success "Test git-upload-pack." '
+ cat >expected <<-EOF &&
+ user
+ foobar
+ foobar
+ EOF
+ SSH_ORIGINAL_COMMAND="git-upload-pack /foobar.git/" \
+ AUR_USER=user AUR_PRIVILEGED=0 \
+ "$GIT_SERVE" 2>&1 >actual &&
+ test_cmp expected actual
+'
+
+test_expect_success "Try to pull from someone else's repository." '
+ cat >expected <<-EOF &&
+ user
+ foobar2
+ foobar2
+ EOF
+ SSH_ORIGINAL_COMMAND="git-upload-pack /foobar2.git/" \
+ AUR_USER=user AUR_PRIVILEGED=0 \
+ "$GIT_SERVE" 2>&1 >actual &&
+ test_cmp expected actual
+'
+
+test_expect_success "Try to push to someone else's repository." '
+ SSH_ORIGINAL_COMMAND="git-receive-pack /foobar2.git/" \
+ AUR_USER=user AUR_PRIVILEGED=0 \
+ test_must_fail "$GIT_SERVE" 2>&1
+'
+
+test_expect_success "Try to push to someone else's repository as Trusted User." '
+ cat >expected <<-EOF &&
+ tu
+ foobar
+ foobar
+ EOF
+ SSH_ORIGINAL_COMMAND="git-receive-pack /foobar.git/" \
+ AUR_USER=tu AUR_PRIVILEGED=1 \
+ "$GIT_SERVE" 2>&1 >actual &&
+ test_cmp expected actual
+'
+
test_done