repo-perms.txtar

 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
63soft repo collab add repo1 user1
64soft repo collab list repo1
65stdout user1
66usoft repo collab list repo1
67stdout user1
68
69# verify user1 has access now
70usoft repo info repo1
71cmp stdout info.txt
72
73# delete
74usoft repo delete repo1
75usoft repo list
76! stdout .
77
78-- info.txt --
79Project Name: proj
80Repository: repo1
81Description: desc
82Private: true
83Hidden: false
84Mirror: false
85Default Branch: master
86Branches:
87  - master
88Tags:
89  - v1.0.0