1# vi: set ft=conf
2
3[windows] dos2unix argserr1.txt argserr2.txt argserr3.txt invalidrepoerr.txt notauthorizederr.txt
4
5# start soft serve
6exec soft serve &
7# wait for server to start
8waitforserver
9
10# create a user
11soft user create foo --key "$USER1_AUTHORIZED_KEY"
12
13# create a repo
14soft repo create repo1
15soft repo create repo1p -p
16usoft repo create repo2
17usoft repo create repo2p -p
18
19# SSH Git commands as admin
20! soft git-upload-pack
21cmp stderr argserr1.txt
22! soft git-upload-pack foobar
23cmp stderr invalidrepoerr.txt
24! soft git-upload-archive
25cmp stderr argserr1.txt
26! soft git-upload-archive foobar
27cmp stderr invalidrepoerr.txt
28! soft git-receive-pack
29cmp stderr argserr1.txt
30! soft git-receive-pack foobar
31stdout '.*0000 capabilities.*git.*' # git pack response
32stderr '.*something went wrong.*'
33! soft git-lfs-authenticate
34cmp stderr argserr2.txt
35! soft git-lfs-authenticate foobar
36cmp stderr argserr3.txt
37! soft git-lfs-authenticate foobar download
38cmp stderr invalidrepoerr.txt
39! soft git-lfs-authenticate foobar upload
40cmp stderr invalidrepoerr.txt
41soft git-lfs-authenticate repo1 download
42stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
43soft git-lfs-authenticate repo1 upload
44stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
45soft git-lfs-authenticate repo1p download
46stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
47soft git-lfs-authenticate repo1p upload
48stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
49soft git-lfs-authenticate repo2 download
50stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
51soft git-lfs-authenticate repo2 upload
52stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
53soft git-lfs-authenticate repo2p download
54stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
55soft git-lfs-authenticate repo2p upload
56stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
57
58# SSH Git commands as user
59! usoft git-upload-pack
60cmp stderr argserr1.txt
61! usoft git-upload-pack foobar
62cmp stderr invalidrepoerr.txt
63! usoft git-upload-archive
64cmp stderr argserr1.txt
65! usoft git-upload-archive foobar
66cmp stderr invalidrepoerr.txt
67! usoft git-receive-pack
68cmp stderr argserr1.txt
69! usoft git-receive-pack foobar
70stdout '.*0000 capabilities.*git.*' # git pack response
71stderr '.*something went wrong.*'
72! usoft git-lfs-authenticate
73cmp stderr argserr2.txt
74! usoft git-lfs-authenticate foobar download
75cmp stderr invalidrepoerr.txt
76! usoft git-lfs-authenticate foobar upload
77cmp stderr invalidrepoerr.txt
78usoft git-lfs-authenticate repo1 download
79stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
80! usoft git-lfs-authenticate repo1 upload
81cmp stderr notauthorizederr.txt
82! usoft git-lfs-authenticate repo1p download
83cmp stderr notauthorizederr.txt
84! usoft git-lfs-authenticate repo1p upload
85cmp stderr notauthorizederr.txt
86usoft git-lfs-authenticate repo2 download
87stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
88usoft git-lfs-authenticate repo2 upload
89stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
90usoft git-lfs-authenticate repo2p download
91stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
92usoft git-lfs-authenticate repo2p upload
93stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
94
95# stop the server
96[windows] stopserver
97[windows] ! stderr .
98
99-- argserr1.txt --
100Error: accepts 1 arg(s), received 0
101-- argserr2.txt --
102Error: accepts 2 arg(s), received 0
103-- argserr3.txt --
104Error: accepts 2 arg(s), received 1
105-- invalidrepoerr.txt --
106Error: invalid repo
107-- notauthorizederr.txt --
108Error: you are not authorized to do this