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