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