user_management.txtar

  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 bar_info.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# create a new user with an invalid email
 72! soft user create bar --key "$USER2_AUTHORIZED_KEY" "foobar"
 73stderr 'invalid email address.*'
 74
 75# create a new user with a valid email
 76soft user create bar --key "$USER2_AUTHORIZED_KEY" "foo@bar.baz"
 77! stdout .
 78# add email to existing user
 79soft user add-email bar "foobar@fubar.baz"
 80! stdout .
 81# add existing email
 82! soft user add-email bar "foobar@fubar.baz"
 83stderr 'duplicate key.*'
 84
 85# get new user info
 86soft user info bar
 87cmpenv stdout bar_info.txt
 88
 89# remove primary email from user
 90! soft user remove-email bar "foo@bar.baz"
 91stderr 'cannot remove primary email.*'
 92
 93# set primary email that doesn't exist
 94! soft user set-primary-email bar "foobar@foofoo.foo"
 95stderr 'no rows in result set.*'
 96# set primary email
 97soft user set-primary-email bar "foobar@fubar.baz"
 98! stdout .
 99# remove other email
100soft user remove-email bar "foo@bar.baz"
101! stdout .
102
103# stop the server
104[windows] stopserver
105[windows] ! stderr .
106
107
108-- info.txt --
109Username: admin
110Admin: true
111Public keys:
112  $ADMIN1_AUTHORIZED_KEY
113  $ADMIN2_AUTHORIZED_KEY
114-- list1.txt --
115admin
116-- list2.txt --
117admin
118foo
119-- foo_info1.txt --
120Username: foo
121Admin: false
122Public keys:
123  $USER1_AUTHORIZED_KEY
124-- foo_info2.txt --
125Username: foo
126Admin: true
127Public keys:
128  $USER1_AUTHORIZED_KEY
129-- foo_info3.txt --
130Username: foo
131Admin: false
132Public keys:
133  $USER1_AUTHORIZED_KEY
134-- foo_info4.txt --
135Username: foo
136Admin: false
137Public keys:
138-- foo_info5.txt --
139Username: foo2
140Admin: false
141Public keys:
142-- admin_key_list1.txt --
143$ADMIN1_AUTHORIZED_KEY
144$ADMIN2_AUTHORIZED_KEY
145-- admin_key_list2.txt --
146$ADMIN1_AUTHORIZED_KEY
147-- bar_info.txt --
148Username: bar
149Admin: false
150Public keys:
151  $USER2_AUTHORIZED_KEY
152Emails:
153  foo@bar.baz (primary: true)
154  foobar@fubar.baz (primary: false)