Co-authored-by: Timothy Messier <tim.messier@gmail.com> Co-authored-by: Todd <github@quaddi.com>
153 lines
4.2 KiB
Bash
153 lines
4.2 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load _auth
|
|
load _connect
|
|
load _targets
|
|
load _helpers
|
|
load _target_host_sources
|
|
|
|
|
|
@test "boundary/login: can login as admin user" {
|
|
run login $DEFAULT_LOGIN
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target/connect: admin user can connect to default target" {
|
|
run connect_nc $DEFAULT_TARGET
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: admin user can read default target" {
|
|
run read_target $DEFAULT_TARGET
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/login: can login as unpriv user" {
|
|
run login $DEFAULT_UNPRIVILEGED_LOGIN
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target/connect: unpriv user can connect to default target" {
|
|
run connect_nc $DEFAULT_TARGET
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: unpriv user can read default target" {
|
|
run read_target $DEFAULT_TARGET
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/login: login back in as admin user" {
|
|
run login $DEFAULT_LOGIN
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: admin user can create target" {
|
|
run create_tcp_target $DEFAULT_P_ID 22 $TGT_NAME
|
|
echo $output
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: admin user can not create already created target" {
|
|
run create_tcp_target $DEFAULT_P_ID 22 $TGT_NAME
|
|
[ "$status" -eq 1 ]
|
|
}
|
|
|
|
@test "boundary/target: admin user can read created target" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run read_target $id
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: the $TGT_NAME target contains default authorized-actions" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
local out=$(read_target $id)
|
|
|
|
run has_default_target_actions "$out"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: admin user can add default host set to created target" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run add_target_host_sources $id $DEFAULT_HOST_SET
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: created target has default host set" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
local format="json"
|
|
run target_has_host_source_id $id $format $DEFAULT_HOST_SET
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target/connect: default user can connect to created target" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run connect_nc $id
|
|
echo "connecting to $id: $output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target/client_port: admin user set can set a client port" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run update_tcp_target -id $id -default-client-port 1234
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
|
|
run read_target $id
|
|
[ "$status" -eq 0 ]
|
|
got=$(echo "$output")
|
|
|
|
echo "$got"
|
|
run field_eq "$got" ".item.attributes.default_client_port" "1234"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: default user can delete target" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run delete_target $id
|
|
run has_status_code "$output" "204"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: default user can not read deleted target" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME)
|
|
run read_target $id
|
|
[ "$status" -eq 1 ]
|
|
}
|
|
|
|
@test "boundary/target: create target with a network address" {
|
|
run create_tcp_target_with_addr $DEFAULT_P_ID "localhost" 22 $TGT_NAME_WITH_ADDR
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: cannot assign an host source to a target with an address" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME_WITH_ADDR)
|
|
run add_target_host_sources $id $DEFAULT_HOST_SET
|
|
[ "$status" -eq 1 ]
|
|
}
|
|
|
|
@test "boundary/target: can assign an host source to a target after deleting address" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME_WITH_ADDR)
|
|
run update_address $id "null"
|
|
[ "$status" -eq 0 ]
|
|
run add_target_host_sources $id $DEFAULT_HOST_SET
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: cannot assign an address to a target with an host source" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME_WITH_ADDR)
|
|
run update_address $id "localhost"
|
|
[ "$status" -eq 1 ]
|
|
}
|
|
|
|
@test "boundary/target: can assign an an address to a target after deleting host source" {
|
|
local id=$(target_id_from_name $DEFAULT_P_ID $TGT_NAME_WITH_ADDR)
|
|
run remove_target_host_sources $id $DEFAULT_HOST_SET
|
|
[ "$status" -eq 0 ]
|
|
run update_address $id "localhost"
|
|
[ "$status" -eq 0 ]
|
|
}
|