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.
This commit is contained in:
Timothy Messier committed 2023-02-03 17:00:34 +00:00
1 parent 99a8875d3e
commit e66ea15fef
17 files changed
+101 -62

No files matched your search

@@ -5,7 +5,7 @@ function create_username_password_credential() {
local sid=$2
local user=$3
local pass=$4
export BP="${pass}"
boundary credentials create username-password \
-name $name \
@@ -32,7 +32,7 @@ function read_credential() {
}
function delete_credential() {
boundary credentials delete -id $1
boundary credentials delete -id $1 -format json
}
function list_credentials() {
@@ -42,6 +42,6 @@ function list_credentials() {
function credential_id() {
local name=$1
local sid=$2
strip $(list_credentials $sid | jq -c ".items[] | select(.name | contains(\"$name\")) | .[\"id\"]")
}