From: Bastian Dehn Date: Sun, 16 Aug 2026 14:23:44 +0000 (+0200) Subject: add test for no media in config X-Git-Tag: v1.0.7^2~1^2~22 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=6b9ae0896c23407f392f1f53db9d53099c6118f8;p=simple-backup.git add test for no media in config --- diff --git a/src/backupmount b/src/backupmount index efa733a..fc8c228 100755 --- a/src/backupmount +++ b/src/backupmount @@ -33,7 +33,13 @@ exists_config_file() mount_backup() { - : + local config="$1" + local media= + mapfile -t media < <(echo "$config" \ + | jq --raw-output ".media | keys[]" 2> /dev/null) + [ "${#media[@]}" -gt 0 ] \ + || errlog "missing media in $CONFIG_FILE" \ + || return $? } umount_backup() @@ -59,7 +65,7 @@ main() || return $? case $cmd in - "mount") mount_backup || return $? ;; + "mount") mount_backup "$config" || return $? ;; "umount") umount_backup || return $? ;; *) errlog "unknown command" && return 1 ;; esac diff --git a/tests/backupmount_tests.bats b/tests/backupmount_tests.bats index 150545e..cd26995 100755 --- a/tests/backupmount_tests.bats +++ b/tests/backupmount_tests.bats @@ -101,4 +101,17 @@ teardown() { assert_failure assert_line --index 0 "⭐ START: backupmount" assert_line --index 1 "❌ ERROR: unknown command" +} + +# bats test_tags=backupmount:mount +@test "failure no media" { + yq() { + echo '{}' + } + + run main "mount" + + assert_failure + assert_line --index 0 "⭐ START: backupmount" + assert_line --index 1 "❌ ERROR: missing media in src/config-example.yaml" } \ No newline at end of file