From: Bastian Dehn Date: Sun, 16 Aug 2026 17:23:11 +0000 (+0200) Subject: add test success mount partition X-Git-Tag: v1.0.7^2~1^2~11 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=14a2646a14587f89f1608ee4715e50c3e8d17749;p=simple-backup.git add test success mount partition --- diff --git a/src/backupmount b/src/backupmount index 2a275f2..2a91485 100755 --- a/src/backupmount +++ b/src/backupmount @@ -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() diff --git a/tests/backupmount_tests.bats b/tests/backupmount_tests.bats index 6106913..a4d2b07 100755 --- a/tests/backupmount_tests.bats +++ b/tests/backupmount_tests.bats @@ -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