diff --git a/internal/tests/cli/boundary/_helpers.bash b/internal/tests/cli/boundary/_helpers.bash index 98eaf036cc..c2a996c49e 100644 --- a/internal/tests/cli/boundary/_helpers.bash +++ b/internal/tests/cli/boundary/_helpers.bash @@ -6,6 +6,7 @@ export DEFAULT_P_ID='p_1234567890' export DEFAULT_O_ID='o_1234567890' export DEFAULT_TARGET='ttcp_1234567890' export DEFAULT_HOST_SET='hsst_1234567890' +export DEFAULT_HOST_CATALOG='hcst_1234567890' function strip() { echo "$1" | tr -d '"' diff --git a/internal/tests/cli/boundary/_host_catalogs.bash b/internal/tests/cli/boundary/_host_catalogs.bash new file mode 100644 index 0000000000..6be28993f1 --- /dev/null +++ b/internal/tests/cli/boundary/_host_catalogs.bash @@ -0,0 +1,23 @@ +function create_host_catalog() { + local sid=$1 + local name=$2 + boundary host-catalogs create static -scope-id $sid -name $name -description 'test host catalog' +} + +function read_host_catalog() { + boundary hosts read -id $1 +} + +function delete_host_catalog() { + boundary hosts delete -id $1 +} + +function list_host_catalogs() { + boundary host-catalogs list -scope-id $1 -format json +} + +function host_catalog_id() { + local id=$1 + local sid=$2 + strip $(list_host_catalogs $sid | jq -c ".[] | select(.name | contains(\"$id\")) | .[\"id\"]") +} diff --git a/internal/tests/cli/boundary/_hosts.bash b/internal/tests/cli/boundary/_hosts.bash index 8672f8688f..e8cadd1b25 100644 --- a/internal/tests/cli/boundary/_hosts.bash +++ b/internal/tests/cli/boundary/_hosts.bash @@ -1,8 +1,12 @@ - function create_host() { local name=$1 - local addr=$2 - boundary hosts create static -name $name -address $addr + local hcid=$2 + + boundary hosts create static \ + -name $name \ + -description 'test host' \ + -address '1.1.1.1' \ + -host-catalog-id $hcid } function read_host() { @@ -14,11 +18,12 @@ function delete_host() { } function list_hosts() { - boundary hosts list -scope-id $1 -format json + boundary hosts list -host-catalog-id $1 -format json } function host_id() { - local sid=$1 - local name=$2 - strip $(list_hosts $sid | jq -c ".[] | select(.name | contains(\"$name\")) | .[\"id\"]") + local name=$1 + local hcid=$2 + + strip $(list_hosts $hcid | jq -c ".[] | select(.name | contains(\"$name\")) | .[\"id\"]") } diff --git a/internal/tests/cli/boundary/hosts.bats b/internal/tests/cli/boundary/hosts.bats new file mode 100644 index 0000000000..2367dfc55f --- /dev/null +++ b/internal/tests/cli/boundary/hosts.bats @@ -0,0 +1,53 @@ +#!/usr/bin/env bats + +load _auth +load _hosts +load _helpers + +export NEW_HOST='test' + +@test "boundary/login: can login as default user" { + run login $DEFAULT_USER + echo "$output" + [ "$status" -eq 0 ] +} + +@test "boundary/hosts: can create $NEW_HOST host in default host catalog" { + run create_host $NEW_HOST $DEFAULT_HOST_CATALOG + echo "$output" + [ "$status" -eq 0 ] +} + +@test "boundary/hosts: can not add already created $NEW_HOST host in default host catalog" { + run create_host $NEW_HOST + echo "$output" + [ "$status" -eq 1 ] +} + +@test "boundary/hosts: can read $NEW_HOST host" { + local hid=$(host_id $NEW_HOST $DEFAULT_HOST_CATALOG) + run read_host $hid + echo "$output" + [ "$status" -eq 0 ] +} + +@test "boundary/host: can delete $NEW_HOST host" { + local hid=$(host_id $NEW_HOST $DEFAULT_HOST_CATALOG) + run delete_host $hid + echo "$output" + [ "$status" -eq 0 ] +} + +@test "boundary/host: can not delete already deleted $NEW_HOST host" { + local hid=$(host_id $NEW_HOST $DEFAULT_HOST_CATALOG) + run delete_host $hid + echo "$output" + [ "$status" -eq 1 ] +} + +@test "boundary/hosts: can not read deleted $NEW_HOST host" { + local hid=$(host_id $NEW_HOST $DEFAULT_HOST_CATALOG) + run read_host $hid + echo "$output" + [ "$status" -eq 1 ] +}