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