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 SSH server to start
9ensureserverrunning SSH_PORT
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 'repository not found'
40! usoft repo tree repo1
41stderr 'repository not found'
42! usoft repo tag list repo1
43stderr 'repository not found'
44! usoft repo tag delete repo1 v1.0.0
45stderr 'repository not found'
46! usoft repo blob repo1 README.md
47stderr 'repository not found'
48! usoft repo description repo1
49stderr 'repository not found'
50! usoft repo description repo1 'new desc'
51stderr 'repository not found'
52! usoft repo project-name repo1
53stderr 'repository not found'
54! usoft repo private repo1 true
55stderr 'repository not found'
56! usoft repo private repo1
57stderr 'repository not found'
58! usoft repo rename repo1 repo11
59stderr 'repository not found'
60! usoft repo branch default repo1
61stderr 'repository not found'
62! usoft repo branch default repo1 main
63stderr 'repository not found'
64! usoft repo delete repo1
65stderr 'repository not found'
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