From 8dd154cf2a7a2c3a13e8ab7f21e720499b28e5ee Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 5 Aug 2026 20:48:43 +0200 Subject: [PATCH] add test for missing remote user --- src/backup | 6 ++++++ tests/backup_tests.bats | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/backup b/src/backup index 6a501ff..0a5d574 100755 --- a/src/backup +++ b/src/backup @@ -134,7 +134,13 @@ path_backup() local machine="$2" local path="$3" local full_backup_path="$4" + local remote_user= + remote_user=$(echo "$config" \ + | jq --raw-output ".machines.$machine.remote_user") + [ "$remote_user" != "null" ] \ + || errlog "no remote user for $machine" \ + || return $? # TODO: config read - rsync implementation } diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index 2f3ecd9..49c6082 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -334,4 +334,33 @@ teardown() { assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup" assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1" assert_line --index 7 "❌ ERROR: missing pathes for machine testpc1" +} + +@test "failure backup machine path no remote user" { + yq() { + echo '{ + "backup_path": "build", + "backup_name": "backup", + "backup_count": 15, + "machines": { + "testpc1": { + "pathes": ["/home/user"] + } + } + }' + } + + run main + + assert_failure + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "ℹ️ INFO: backup path build" + assert_line --index 2 "ℹ️ INFO: backup name backup" + assert_line --index 3 "ℹ️ INFO: backup count 15" + assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup" + assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup" + assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1" + assert_line --index 7 "################################################################################" + assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}" + assert_line --index 9 "❌ ERROR: no remote user for testpc1" } \ No newline at end of file -- 2.47.3