From 84e97fef2ffd7badfd673bd05f6eee096aa3f6a7 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 4 Aug 2026 16:18:11 +0200 Subject: [PATCH] add exists backup path method --- src/backup | 17 ++++++++++++----- tests/backup_tests.bats | 20 +++++++++++++++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/backup b/src/backup index 54afc81..8edf4de 100755 --- a/src/backup +++ b/src/backup @@ -18,6 +18,17 @@ exists_config_file() || return $? } +exists_backup_path() +{ + local config="$1" + local backup_path= + backup_path=$(echo "$config" | jq --raw-output '.backup_path') + [ "$backup_path" != "null" ] \ + || errlog "$CONFIG_FILE missing backup_path" \ + || return $? + echo "ℹ️ INFO: backup path $backup_path" +} + main() { local CONFIG_FILE=${CONFIG_FILE:="config.yaml"} @@ -43,11 +54,7 @@ main() || errlog "failed to load $CONFIG_FILE" \ || return $? - local backup_path= - backup_path=$(echo "$config" | jq --raw-output '.backup_path') - [ "$backup_path" != "null" ] \ - || errlog "$CONFIG_FILE missing backup_path" \ - || return $? + exists_backup_path "$config" local backup_name= backup_name=$(echo "$config" | jq --raw-output '.backup_name') [ "$backup_name" != "null" ] \ diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index 467e57d..8f59595 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -111,6 +111,17 @@ teardown() { assert_line --index 1 "❌ ERROR: src/config-example.yaml missing backup_path" } +@test "success info backup path from config" { + yq() { + echo '{"backup_path": "path"}' + } + + run main + + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "ℹ️ INFO: backup path path" +} + @test "failure no backup name in config" { yq() { echo '{"backup_path": "path"}' @@ -119,7 +130,8 @@ teardown() { run main assert_line --index 0 "⭐ START: backup" - assert_line --index 1 "❌ ERROR: src/config-example.yaml missing backup_name" + assert_line --index 1 "ℹ️ INFO: backup path path" + assert_line --index 2 "❌ ERROR: src/config-example.yaml missing backup_name" } @test "failure no backup count in config" { @@ -133,12 +145,14 @@ teardown() { run main assert_line --index 0 "⭐ START: backup" - assert_line --index 1 "❌ ERROR: src/config-example.yaml missing backup_count" + assert_line --index 1 "ℹ️ INFO: backup path path" + assert_line --index 2 "❌ ERROR: src/config-example.yaml missing backup_count" } @test "success info backup count" { run main assert_line --index 0 "⭐ START: backup" - assert_line --index 1 "ℹ️ INFO: backup count 15" + assert_line --index 1 "ℹ️ INFO: backup path /images/backup" + assert_line --index 2 "ℹ️ INFO: backup count 15" } \ No newline at end of file -- 2.47.3