1# vi: set ft=conf
  2
  3# convert crlf to lf on windows
  4[windows] dos2unix info.txt admin_key_list1.txt admin_key_list2.txt list1.txt list2.txt foo_info1.txt foo_info2.txt foo_info3.txt foo_info4.txt foo_info5.txt
  5
  6# start soft serve
  7exec soft serve &
  8# wait for server to start
  9waitforserver
 10
 11# add key to admin
 12soft user add-pubkey admin "$ADMIN2_AUTHORIZED_KEY"
 13soft user info admin
 14soft info
 15cmpenv stdout info.txt
 16
 17
 18# list admin pubkeys
 19soft pubkey list
 20cmpenv stdout admin_key_list1.txt
 21
 22# remove key
 23soft pubkey remove $ADMIN2_AUTHORIZED_KEY
 24soft pubkey list
 25cmpenv stdout admin_key_list2.txt
 26
 27# add key back key
 28soft pubkey add $ADMIN2_AUTHORIZED_KEY
 29soft pubkey list
 30cmpenv stdout admin_key_list1.txt
 31
 32# list users
 33soft user list
 34cmpenv stdout list1.txt
 35
 36# create a new user
 37soft user create foo --key "$USER1_AUTHORIZED_KEY"
 38soft user list
 39cmpenv stdout list2.txt
 40
 41# get new user info
 42soft user info foo
 43cmpenv stdout foo_info1.txt
 44
 45# make user admin
 46soft user set-admin foo true
 47soft user info foo
 48cmpenv stdout foo_info2.txt
 49
 50# remove admin
 51soft user set-admin foo false
 52soft user info foo
 53cmpenv stdout foo_info3.txt
 54
 55# remove key from user
 56soft user remove-pubkey foo "$USER1_AUTHORIZED_KEY"
 57soft user info foo
 58cmpenv stdout foo_info4.txt
 59
 60# rename user
 61soft user set-username foo foo2
 62soft user info foo2
 63cmpenv stdout foo_info5.txt
 64
 65# remove user
 66soft user delete foo2
 67! stdout .
 68soft user list
 69cmpenv stdout list1.txt
 70
 71# stop the server
 72[windows] stopserver
 73[windows] ! stderr .
 74
 75
 76-- info.txt --
 77Username: admin
 78Admin: true
 79Public keys:
 80  $ADMIN1_AUTHORIZED_KEY
 81  $ADMIN2_AUTHORIZED_KEY
 82-- list1.txt --
 83admin
 84-- list2.txt --
 85admin
 86foo
 87-- foo_info1.txt --
 88Username: foo
 89Admin: false
 90Public keys:
 91  $USER1_AUTHORIZED_KEY
 92-- foo_info2.txt --
 93Username: foo
 94Admin: true
 95Public keys:
 96  $USER1_AUTHORIZED_KEY
 97-- foo_info3.txt --
 98Username: foo
 99Admin: false
100Public keys:
101  $USER1_AUTHORIZED_KEY
102-- foo_info4.txt --
103Username: foo
104Admin: false
105Public keys:
106-- foo_info5.txt --
107Username: foo2
108Admin: false
109Public keys:
110-- admin_key_list1.txt --
111$ADMIN1_AUTHORIZED_KEY
112$ADMIN2_AUTHORIZED_KEY
113-- admin_key_list2.txt --
114$ADMIN1_AUTHORIZED_KEY