]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
add test for rsync with dir mode
authorBastian Dehn <hhaalo@arcor.de>
Mon, 17 Aug 2026 17:57:58 +0000 (19:57 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Mon, 17 Aug 2026 17:57:58 +0000 (19:57 +0200)
tests/restore_tests.bats

index cba39c9d29765e313f51ffb43cea7cd742205abb..6d433998e5916056f670646c21e5e61110a85b33 100755 (executable)
@@ -533,6 +533,36 @@ teardown() {
        assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "backupuser@www.example.com:/testpath/testfile"
 }
 
+# bats test_tags=restore:rsync, restore:origin
+@test "success backup machine path rsync parameter delete dir mode" {
+       mkdir --parents "build/test/2000-01-01_01_backup/testpc1.example.com/testpath/dir"
+       RSYNC_LOG_RUNS="1"
+
+       run main -d "2000-01-01" -n "01" -r "testpc1.example.com" -p "/testpath/dir/" -o
+
+       assert_success
+       assert_line --index 0 "⭐ START: restore"
+       assert_line --index 1 "ℹ️ INFO: backup path build/test"
+       assert_line --index 2 "ℹ️ INFO: backup name backup"
+       assert_line --index 3 "ℹ️ INFO: restore mode directory"
+       assert_line --index 4 "ℹ️ INFO: restore path build/test/2000-01-01_01_backup/testpc1.example.com/testpath/dir/"
+       assert_line --index 5 "ℹ️ INFO: remote path backupuser@www.example.com:/testpath/dir/"
+       assert_line --index 6 "⚠️ WARN: DELETE MODE IS ON"
+       assert_line --index 7 "❓ QUESTION: Do you want restore? [N/y]"
+       assert_line --index 8 "✅ SUCCESS: restore"
+       assert_equal "$(awk 'NR==1 {print; exit}' "$RSYNC_LOG")" "10"
+       assert_equal "$(awk 'NR==2 {print; exit}' "$RSYNC_LOG")" "--archive"
+       assert_equal "$(awk 'NR==3 {print; exit}' "$RSYNC_LOG")" "--verbose"
+       assert_equal "$(awk 'NR==4 {print; exit}' "$RSYNC_LOG")" "--sparse"
+       assert_equal "$(awk 'NR==5 {print; exit}' "$RSYNC_LOG")" "--acls"
+       assert_equal "$(awk 'NR==6 {print; exit}' "$RSYNC_LOG")" "--hard-links"
+       assert_equal "$(awk 'NR==7 {print; exit}' "$RSYNC_LOG")" "--human-readable"
+       assert_equal "$(awk 'NR==8 {print; exit}' "$RSYNC_LOG")" "--delete"
+       assert_equal "$(awk 'NR==9 {print; exit}' "$RSYNC_LOG")" "--rsh=ssh -p 22"
+       assert_equal "$(awk 'NR==10 {print; exit}' "$RSYNC_LOG")" "build/test/2000-01-01_01_backup/testpc1.example.com/testpath/dir/"
+       assert_equal "$(awk 'NR==11 {print; exit}' "$RSYNC_LOG")" "backupuser@www.example.com:/testpath/dir/"
+}
+
 # bats test_tags=restore:rsync, restore:origin
 @test "success show help useage" {
        mkdir --parents "build/test/2000-01-01_01_backup/testpc1.example.com/testpath"