]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
add test success mount partition
authorBastian Dehn <hhaalo@arcor.de>
Sun, 16 Aug 2026 17:23:11 +0000 (19:23 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 16 Aug 2026 17:23:11 +0000 (19:23 +0200)
src/backupmount
tests/backupmount_tests.bats

index 2a275f250fa608d186641729c4c101525ff9062c..2a91485bc273c7f80c65578b2c4f1d121639d9d4 100755 (executable)
@@ -53,6 +53,11 @@ mount_partition()
 {
        local partition="$1"
        local backup_path="$2"
+
+       echo "ℹ️ INFO: create backup path $backup_path"
+       mkdir --parents "$backup_path"
+       echo "ℹ️ INFO: mount $partition to $backup_path"
+       mount "$partition" "$backup_path"
 }
 
 mount_device()
index 610691372e2bd0ae460be9535b87aa25f57fb709..a4d2b0709a4af1c1b18dc93bd3a6de60c49ad5b8 100755 (executable)
@@ -5,6 +5,7 @@ setup() {
        bats_load_library 'bats-assert'
        export TESTMODE="ON"
        export CRYPTSETUP_LOG="build/test/cryptsetup.log"
+       export MOUNT_LOG="build/test/mount.log"
        export CONFIG_FILE="src/config-example.yaml"
        source src/backupmount
        mkdir --parents "build/test"
@@ -15,12 +16,17 @@ setup() {
                printf "%s\n" "${#@}" > "$CRYPTSETUP_LOG"
                printf "%s\n" "$@" >> "$CRYPTSETUP_LOG"
        }
+       mount() {
+               printf "%s\n" "${#@}" > "$MOUNT_LOG"
+               printf "%s\n" "$@" >> "$MOUNT_LOG"
+       }
 }
 
 teardown() {
        rm --recursive --force "build/test"
        unset TESTMODE
        unset CRYPTSETUP_LOG
+       unset MOUNT_LOG
        unset CONFIG_FILE
 }
 
@@ -359,4 +365,33 @@ teardown() {
        assert_line --index 2 "ℹ️ INFO: use key /path/to/luks-key-file-day"
        assert_line --index 3 "ℹ️ INFO: volume open luks-crypt-volume"
        assert_line --index 4 "❌ ERROR: partition /dev/path/to/partday not found"
+}
+
+# bats test_tags=backupmount:mount
+@test "success mount partition for day" {
+       exists_block_device() {
+               return 0
+       }
+       exists_key() {
+               return 0
+       }
+       cryptsetup() {
+               return 0
+       }
+       exists_partition() {
+               return 0
+       }
+
+       run main "mount"
+
+       assert_success
+       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/luks-key-file-day"
+       assert_line --index 3 "ℹ️ INFO: volume open luks-crypt-volume"
+       assert_line --index 4 "ℹ️ INFO: create backup path build/test"
+       assert_line --index 5 "ℹ️ INFO: mount /dev/path/to/partday to build/test"
+       assert_equal "$(awk 'NR==1 {print; exit}' "$MOUNT_LOG")" "2"
+       assert_equal "$(awk 'NR==2 {print; exit}' "$MOUNT_LOG")" "/dev/path/to/partday"
+       assert_equal "$(awk 'NR==3 {print; exit}' "$MOUNT_LOG")" "build/test"
 }
\ No newline at end of file