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.
57 lines
1.2 KiB
Bash
57 lines
1.2 KiB
Bash
load _authorized_actions
|
|
|
|
function create_group() {
|
|
boundary groups create -scope-id global -name $1 -description 'test group'
|
|
}
|
|
|
|
function read_group() {
|
|
boundary groups read -id $1 -format json
|
|
}
|
|
|
|
function delete_group() {
|
|
boundary groups delete -id $1 -format json
|
|
}
|
|
|
|
function list_groups() {
|
|
boundary groups list -format json
|
|
}
|
|
|
|
function assoc_group_acct() {
|
|
boundary groups add-members -member $1 -id $2
|
|
}
|
|
|
|
function group_id() {
|
|
local group=$1
|
|
strip $(list_groups | jq -c ".items[] | select(.name | contains(\"$group\")) | .[\"id\"]")
|
|
}
|
|
|
|
function group_member_ids() {
|
|
local gid=$1
|
|
boundary groups read -id $gid -format json | jq '.item["members"][]["id"]'
|
|
}
|
|
|
|
function group_has_member_id() {
|
|
local mid=$1
|
|
local gid=$2
|
|
ids=$(group_member_ids $gid)
|
|
for id in $ids; do
|
|
if [ $(strip "$id") == "$mid" ]; then
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|
|
|
|
function has_default_group_actions() {
|
|
# tests that the group resource contains default actions
|
|
local out=$1
|
|
local actions=('read' 'update' 'delete' 'add-members' 'set-members' 'remove-members')
|
|
|
|
for action in ${actions[@]}; do
|
|
$(has_authorized_action "$out" "$action") || {
|
|
echo "failed to find $action action in output: $out"
|
|
return 1
|
|
}
|
|
done
|
|
}
|