1# vi: set ft=conf
2
3# convert crlf to lf on windows
4[windows] dos2unix info.txt
5
6# start soft serve
7exec soft serve &
8# wait for server to start
9waitforserver
10
11# create a repo & user1 with admin
12soft repo create repo1 -p
13soft user create user1 -k "$USER1_AUTHORIZED_KEY"
14
15# setup repo
16git clone ssh://localhost:$SSH_PORT/repo1 repo1
17mkfile ./repo1/README.md '# Project\nfoo'
18git -C repo1 add -A
19git -C repo1 commit -m 'first'
20git -C repo1 tag v1.0.0
21git -C repo1 push origin HEAD
22git -C repo1 push origin HEAD --tags
23
24# admin can access it
25soft repo tree repo1
26soft repo blob repo1 README.md
27soft repo description repo1 'desc'
28soft repo project-name repo1 'proj'
29soft repo private repo1
30soft repo info repo1
31cmp stdout info.txt
32
33# verify no collab
34soft repo collab list repo1
35! stdout .
36
37# regular user can't access it
38! usoft repo info repo1
39stderr 'unauthorized'
40! usoft repo tree repo1
41stderr 'unauthorized'
42! usoft repo tag list repo1
43stderr 'unauthorized'
44! usoft repo tag delete repo1 v1.0.0
45stderr 'unauthorized'
46! usoft repo blob repo1 README.md
47stderr 'unauthorized'
48! usoft repo description repo1
49stderr 'unauthorized'
50! usoft repo description repo1 'new desc'
51stderr 'unauthorized'
52! usoft repo project-name repo1
53stderr 'unauthorized'
54! usoft repo private repo1 true
55stderr 'unauthorized'
56! usoft repo private repo1
57stderr 'unauthorized'
58! usoft repo rename repo1 repo11
59stderr 'unauthorized'
60! usoft repo branch default repo1
61stderr 'unauthorized'
62! usoft repo branch default repo1 main
63stderr 'unauthorized'
64! usoft repo delete repo1
65stderr 'unauthorized'
66
67# add user1 as collab
68! soft repo collab add repo1 user1 foobar
69stderr 'invalid access level'
70soft repo collab add repo1 user1 read-write
71soft repo collab list repo1
72stdout user1
73usoft repo collab list repo1
74stdout user1
75
76# verify user1 has access now
77usoft repo info repo1
78cmp stdout info.txt
79
80# delete
81usoft repo delete repo1
82usoft repo list
83! stdout .
84
85# stop the server
86[windows] stopserver
87[windows] ! stderr .
88
89-- info.txt --
90Project Name: proj
91Repository: repo1
92Description: desc
93Private: true
94Hidden: false
95Mirror: false
96Owner: admin
97Default Branch: master
98Branches:
99 - master
100Tags:
101 - v1.0.0