secrets/test/get.sh (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#!/bin/bash
# Tests for get command
this_dir="$(cd "$(dirname "$0")" && pwd)"
source "${this_dir}/common.sh"
test_get_retrieves_secret() {
local secret_value="my-secret-value-123"
echo "${secret_value}" | szecret put "test-secret"
local retrieved
retrieved="$(szecret get "test-secret")"
assert_equals "${secret_value}" "${retrieved}" "retrieved value"
pass "get retrieves secret"
}
test_get_nonexistent_fails() {
assert_failure szecret get "nonexistent-secret"
pass "get nonexistent returns error"
}
test_get_requires_name() {
assert_failure szecret get
pass "get requires secret name"
}
test_get_preserves_newlines() {
local secret_value=$'line1\nline2\nline3'
echo "${secret_value}" | szecret put "multiline-secret"
local retrieved
retrieved="$(szecret get "multiline-secret")"
assert_equals "${secret_value}" "${retrieved}" "multiline value"
pass "get preserves newlines"
}
run_tests() {
test_get_retrieves_secret
test_get_nonexistent_fails
test_get_requires_name
test_get_preserves_newlines
}
[[ "${BASH_SOURCE[0]}" == "${0}" ]] && run_tests
|