[ "$volume" != "null" ] \
|| errlog "missing backup volume in $CONFIG_FILE" \
|| return $?
+
+ echo "ℹ️ INFO: umount backup path $backup_path"
+ umount "$backup_path" \
+ || errlog "could not umount $backup_path" \
+ || return $?
}
main()
export TESTMODE="ON"
export CRYPTSETUP_LOG="build/test/cryptsetup.log"
export MOUNT_LOG="build/test/mount.log"
+ export UMOUNT_LOG="build/test/umount.log"
export CONFIG_FILE="src/config-example.yaml"
source src/backupmount
mkdir --parents "build/test"
printf "%s\n" "${#@}" > "$MOUNT_LOG"
printf "%s\n" "$@" >> "$MOUNT_LOG"
}
+ umount() {
+ printf "%s\n" "${#@}" > "$UMOUNT_LOG"
+ printf "%s\n" "$@" >> "$UMOUNT_LOG"
+ }
}
teardown() {
unset TESTMODE
unset CRYPTSETUP_LOG
unset MOUNT_LOG
+ unset UMOUNT_LOG
unset CONFIG_FILE
}
assert_failure
assert_line --index 0 "⭐ START: backupmount"
assert_line --index 1 "❌ ERROR: missing backup volume in src/config-example.yaml"
+}
+
+# bats test_tags=backupmount:umount
+@test "success umount backup path " {
+ run main "umount"
+
+ assert_success
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "ℹ️ INFO: umount backup path build/test"
+ assert_equal "$(awk 'NR==1 {print; exit}' "$UMOUNT_LOG")" "1"
+ assert_equal "$(awk 'NR==2 {print; exit}' "$UMOUNT_LOG")" "build/test"
+}
+
+# bats test_tags=backupmount:umount
+@test "failure umount command failed" {
+ umount() {
+ return 1
+ }
+
+ run main "umount"
+
+ assert_failure
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "ℹ️ INFO: umount backup path build/test"
+ assert_line --index 2 "❌ ERROR: could not umount build/test"
}
\ No newline at end of file