Files
threshold/internal/tests/cli/boundary/_users.bash
T
Timothy Messier e66ea15fef fix(cli): Status code on api error
When using the json output of the cli (`-format=json`), a successful
call to the controller API would place the HTTP status code in the JSON
as `status_code`. However, if there was an error from the API the status
code would be placed in the JSON as `status`. In order to be consistent,
this adds a `status_code` field to the error response case. For
backwards compatibility it still populates `status` in the error case.

This inconsistency was missed partially due to a bug in the CLI tests.
The assertion on status code was not valid and would always be
successful. Thus this also fixes the assertions and tests.
2023-02-03 17:00:34 +00:00

40 lines
920 B
Bash

load _authorized_actions
function create_user() {
boundary users create -scope-id global -name $1 -description 'test user'
}
function read_user() {
boundary users read -id $1 -format json
}
function delete_user() {
boundary users delete -id $1 -format json
}
function list_users() {
boundary users list -format json
}
function assoc_user_acct() {
boundary users add-accounts -account $1 -id $2
}
function has_default_user_actions() {
# tests that the user resource contains default actions
local out=$1
local actions=('read' 'update' 'delete' 'add-accounts' 'set-accounts' 'remove-accounts')
for action in ${actions[@]}; do
$(has_authorized_action "$out" "$action") || {
echo "failed to find $action action in output: $out"
return 1
}
done
}
function user_id() {
local user=$1
strip $(list_users | jq -c ".items[] | select(.name | contains(\"$user\")) | .[\"id\"]")
}