From 0aaa85c6a7f7192390f7eab56e0a5848303a46bd Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 16 Aug 2026 17:19:37 +0200 Subject: [PATCH] add volume missing test --- src/backupmount | 8 ++++++++ tests/backupmount_tests.bats | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/backupmount b/src/backupmount index 0ad4b65..4fdd547 100755 --- a/src/backupmount +++ b/src/backupmount @@ -57,6 +57,7 @@ mount_device() local media="$2" local device= local key= + local volume= device=$(echo "$config" \ | jq --raw-output ".media.\"$media\".device") @@ -72,6 +73,13 @@ mount_device() || errlog "missing key for media $media in $CONFIG_FILE" \ || return $? exists_key "$media" "$key" || return $? + echo "ℹ️ INFO: use key $key" + + volume=$(echo "$config" \ + | jq --raw-output ".media.\"$media\".volume") + [ "$volume" != "null" ] \ + || errlog "missing volume in $CONFIG_FILE" \ + || return $? } mount_backup() diff --git a/tests/backupmount_tests.bats b/tests/backupmount_tests.bats index 6e7aced..6dbcfbc 100755 --- a/tests/backupmount_tests.bats +++ b/tests/backupmount_tests.bats @@ -190,4 +190,32 @@ teardown() { assert_line --index 0 "⭐ START: backupmount" assert_line --index 1 "ℹ️ INFO: media day with device /dev/path/to/day found" assert_line --index 2 "❌ ERROR: key notexistskey for media day not exists" +} + +# bats test_tags=backupmount:mount +@test "failure missing volume for media day" { + yq() { + echo '{ + "media": { + "day": { + "device": "/dev/path/to/day", + "key": "/path/to/key" + } + } + }' + } + exists_block_device() { + return 0 + } + exists_key() { + return 0 + } + + run main "mount" + + assert_failure + assert_line --index 0 "⭐ START: backupmount" + assert_line --index 1 "ℹ️ INFO: media day with device /dev/path/to/day found" + assert_line --index 2 "ℹ️ INFO: use key /path/to/key" + assert_line --index 3 "❌ ERROR: missing volume in src/config-example.yaml" } \ No newline at end of file -- 2.47.3