219 lines
7.8 KiB
Bash
219 lines
7.8 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load _auth
|
|
load _connect
|
|
load _targets
|
|
load _helpers
|
|
load _credential_stores
|
|
load _credentials
|
|
load _target_credential_sources
|
|
|
|
export NEW_STORE='test-for-add-credential-sources'
|
|
export NEW_CREDENTIAL='first-credential'
|
|
export NEW_CREDENTIAL1='second-credential'
|
|
export NEW_CREDENTIAL2='third-credential'
|
|
export NEW_JSON_CREDENTIAL='json-credential'
|
|
|
|
@test "boundary/login: can login as admin user" {
|
|
run login $DEFAULT_LOGIN
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/credential-stores: can create $NEW_STORE static store in default project" {
|
|
run create_static_credential_store $NEW_STORE $DEFAULT_P_ID
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/credentials: can create $NEW_CREDENTIAL credential in $NEW_STORE store" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
run create_username_password_credential $NEW_CREDENTIAL $csid 'username' 'password'
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/credentials: can create $NEW_JSON_CREDENTIAL credential in $NEW_STORE store" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
run create_json_credential $NEW_JSON_CREDENTIAL $csid '-string-kv username=admin -string-kv password=pass'
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can add $NEW_CREDENTIAL credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run add_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate only $NEW_CREDENTIAL credential source present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can add $NEW_JSON_CREDENTIAL credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_JSON_CREDENTIAL $csid)
|
|
run add_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate $NEW_CREDENTIAL & $NEW_JSON_CREDENTIAL credential source present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local credup_id=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local credjson_id=$(credential_id $NEW_JSON_CREDENTIAL $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $credup_id
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run validate_credential_sources $DEFAULT_TARGET $credjson_id
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: cannot add duplicate credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run add_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 1 ]
|
|
}
|
|
|
|
@test "boundary/target: can delete $NEW_CREDENTIAL credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run remove_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate $NEW_CREDENTIAL credential source removed" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run validate_credential_sources_not_present $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can delete $NEW_JSON_CREDENTIAL credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_JSON_CREDENTIAL $csid)
|
|
run remove_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate $NEW_JSON_CREDENTIAL credential source removed" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_JSON_CREDENTIAL $csid)
|
|
run validate_credential_sources_not_present $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/credentials: can create additional credentials in $NEW_STORE store" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
run create_username_password_credential $NEW_CREDENTIAL1 $csid 'username' 'password'
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
|
|
run create_username_password_credential $NEW_CREDENTIAL2 $csid 'username' 'password'
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can add multiple credential sources" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run add_target_brokered_credential_sources $DEFAULT_TARGET $cid $cid1 $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate added credential sources present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $cid $cid1 $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can delete multiple credential sources" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
run remove_target_brokered_credential_sources $DEFAULT_TARGET $cid $cid1
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate $NEW_CREDENTIAL2 credential source present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate deleted credential sources not present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run validate_credential_sources_not_present $DEFAULT_TARGET $cid $cid1
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can set multiple credential sources" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run set_target_brokered_credential_sources $DEFAULT_TARGET $cid $cid1 $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate set credential sources present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: can set just $NEW_CREDENTIAL credential source" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run set_target_brokered_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate $NEW_CREDENTIAL credential source present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid=$(credential_id $NEW_CREDENTIAL $csid)
|
|
run validate_credential_sources $DEFAULT_TARGET $cid
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "boundary/target: validate not set credential sources not present" {
|
|
local csid=$(credential_store_id $NEW_STORE $DEFAULT_P_ID)
|
|
local cid1=$(credential_id $NEW_CREDENTIAL1 $csid)
|
|
local cid2=$(credential_id $NEW_CREDENTIAL2 $csid)
|
|
run validate_credential_sources_not_present $DEFAULT_TARGET $cid1 $cid2
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|