1# vi: set ft=conf
  2
  3[windows] dos2unix argserr1.txt argserr2.txt argserr3.txt invalidrepoerr.txt notauthorizederr.txt
  4
  5# start soft serve
  6exec soft serve &
  7# wait for SSH server to start
  8ensureserverrunning SSH_PORT
  9
 10# create a user
 11soft user create foo --key "$USER1_AUTHORIZED_KEY"
 12
 13# create a repo
 14soft repo create repo1
 15soft repo create repo1p -p
 16usoft repo create repo2
 17usoft repo create repo2p -p
 18
 19# SSH Git commands as admin
 20! soft git-upload-pack
 21cmp stderr argserr1.txt
 22! soft git-upload-pack foobar
 23cmp stderr invalidrepoerr.txt
 24! soft git-upload-archive
 25cmp stderr argserr1.txt
 26! soft git-upload-archive foobar
 27cmp stderr invalidrepoerr.txt
 28! soft git-receive-pack
 29cmp stderr argserr1.txt
 30! soft git-receive-pack foobar
 31stdout '.*0000 capabilities.*git.*' # git pack response
 32stderr '.*something went wrong.*'
 33! soft git-lfs-authenticate
 34cmp stderr argserr2.txt
 35! soft git-lfs-authenticate foobar
 36cmp stderr argserr3.txt
 37! soft git-lfs-authenticate foobar download
 38cmp stderr invalidrepoerr.txt
 39! soft git-lfs-authenticate foobar upload
 40cmp stderr invalidrepoerr.txt
 41soft git-lfs-authenticate repo1 download
 42stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 43soft git-lfs-authenticate repo1 upload
 44stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 45soft git-lfs-authenticate repo1p download
 46stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 47soft git-lfs-authenticate repo1p upload
 48stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 49soft git-lfs-authenticate repo2 download
 50stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 51soft git-lfs-authenticate repo2 upload
 52stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 53soft git-lfs-authenticate repo2p download
 54stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 55soft git-lfs-authenticate repo2p upload
 56stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 57
 58# SSH Git commands as user
 59! usoft git-upload-pack
 60cmp stderr argserr1.txt
 61! usoft git-upload-pack foobar
 62cmp stderr invalidrepoerr.txt
 63! usoft git-upload-archive
 64cmp stderr argserr1.txt
 65! usoft git-upload-archive foobar
 66cmp stderr invalidrepoerr.txt
 67! usoft git-receive-pack
 68cmp stderr argserr1.txt
 69! usoft git-receive-pack foobar
 70stdout '.*0000 capabilities.*git.*' # git pack response
 71stderr '.*something went wrong.*'
 72! usoft git-lfs-authenticate
 73cmp stderr argserr2.txt
 74! usoft git-lfs-authenticate foobar download
 75cmp stderr invalidrepoerr.txt
 76! usoft git-lfs-authenticate foobar upload
 77cmp stderr invalidrepoerr.txt
 78usoft git-lfs-authenticate repo1 download
 79stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 80! usoft git-lfs-authenticate repo1 upload
 81cmp stderr notauthorizederr.txt
 82! usoft git-lfs-authenticate repo1p download
 83cmp stderr notauthorizederr.txt
 84! usoft git-lfs-authenticate repo1p upload
 85cmp stderr notauthorizederr.txt
 86usoft git-lfs-authenticate repo2 download
 87stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 88usoft git-lfs-authenticate repo2 upload
 89stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 90usoft git-lfs-authenticate repo2p download
 91stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 92usoft git-lfs-authenticate repo2p upload
 93stdout '.*header.*Bearer.*href.*expires_in.*expires_at.*'
 94
 95# stop the server
 96[windows] stopserver
 97[windows] ! stderr .
 98
 99-- argserr1.txt --
100Error: accepts 1 arg(s), received 0
101-- argserr2.txt --
102Error: accepts 2 arg(s), received 0
103-- argserr3.txt --
104Error: accepts 2 arg(s), received 1
105-- invalidrepoerr.txt --
106Error: invalid repo
107-- notauthorizederr.txt --
108Error: you are not authorized to do this