|| errlog "missing backup path in $CONFIG_FILE" \
|| return $?
- cryptsetupargs=("open"
+ local cryptsetupargs=("open"
"--key-file $key"
"$device"
"$volume")
rmdir "$backup_path" \
|| errlog "could not delete directory $backup_path" \
|| return $?
+
+ echo "ℹ️ INFO: close volume $volume"
+ local cryptsetupargs=("close" "$volume")
+ cryptsetup "${cryptsetupargs[@]}"
}
main()
umount() {
return 0
}
+ cryptsetup() {
+ return 0
+ }
run main "umount"
assert_line --index 1 "ℹ️ INFO: umount backup path build/test"
assert_line --index 2 "ℹ️ INFO: remove backup directory build/test"
assert_line --index 3 "❌ ERROR: could not delete directory build/test"
+}
+
+# bats test_tags=backupmount:umount
+@test "success close volume with cryptsetup" {
+ umount() {
+ return 0
+ }
+ rmdir() {
+ return 0
+ }
+
+ run main "umount"
+
+ assert_success
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "ℹ️ INFO: umount backup path build/test"
+ assert_line --index 2 "ℹ️ INFO: remove backup directory build/test"
+ assert_line --index 3 "ℹ️ INFO: close volume luks-crypt-volume"
+ assert_line --index 4 "✅ SUCCESS: backupmount"
+ assert_equal "$(awk 'NR==1 {print; exit}' "$CRYPTSETUP_LOG")" "2"
+ assert_equal "$(awk 'NR==2 {print; exit}' "$CRYPTSETUP_LOG")" "close"
+ assert_equal "$(awk 'NR==3 {print; exit}' "$CRYPTSETUP_LOG")" "luks-crypt-volume"
}
\ No newline at end of file