summaryrefslogtreecommitdiff
path: root/secrets/test/put.sh
diff options
context:
space:
mode:
Diffstat (limited to 'secrets/test/put.sh')
-rwxr-xr-xsecrets/test/put.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/secrets/test/put.sh b/secrets/test/put.sh
new file mode 100755
index 0000000..7cfb117
--- /dev/null
+++ b/secrets/test/put.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# Tests for put command
+
+this_dir="$(cd "$(dirname "$0")" && pwd)"
+source "${this_dir}/common.sh"
+
+test_put_creates_file() {
+ echo "test-value" | szecret put "test-secret"
+ assert_file_exists "${SZECRET_STORE}/test-secret.age" "put creates encrypted file"
+ pass "put creates file"
+}
+
+test_put_overwrites() {
+ echo "original" | szecret put "overwrite-test"
+ echo "updated" | szecret put "overwrite-test"
+
+ local retrieved
+ retrieved="$(szecret get "overwrite-test")"
+ assert_equals "updated" "${retrieved}" "overwritten value"
+ pass "put overwrites existing secret"
+}
+
+test_put_requires_name() {
+ assert_failure szecret put
+ pass "put requires secret name"
+}
+
+run_tests() {
+ test_put_creates_file
+ test_put_overwrites
+ test_put_requires_name
+}
+
+[[ "${BASH_SOURCE[0]}" == "${0}" ]] && run_tests