umount_backup()
{
- :
+ local config="$1"
+ local backup_path=
+ local volume=
+
+ backup_path=$(echo "$config" \
+ | jq --raw-output ".backup_path")
+ [ "$backup_path" != "null" ] \
+ || errlog "missing backup path in $CONFIG_FILE" \
+ || return $?
+ volume=$(echo "$config" \
+ | jq --raw-output ".backup_volume")
+ [ "$volume" != "null" ] \
+ || errlog "missing backup volume in $CONFIG_FILE" \
+ || return $?
}
main()
case $cmd in
"mount") mount_backup "$config" || return $? ;;
- "umount") umount_backup || return $? ;;
+ "umount") umount_backup "$config" || return $? ;;
*) errlog "unknown command" && return 1 ;;
esac
assert_line --index 4 "ℹ️ INFO: create backup path build/test"
assert_line --index 5 "ℹ️ INFO: mount /dev/path/to/partday to build/test"
assert_line --index 6 "❌ ERROR: could not mount /dev/path/to/partday to build/test"
+}
+
+# bats test_tags=backupmount:umount
+@test "failure umount missing backup path" {
+ yq() {
+ echo '{}'
+ }
+
+ run main "umount"
+
+ assert_failure
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "❌ ERROR: missing backup path in src/config-example.yaml"
+}
+
+# bats test_tags=backupmount:umount
+@test "failure umount missing backup volume" {
+ yq() {
+ echo '{"backup_path": "build/test"}'
+ }
+
+ run main "umount"
+
+ assert_failure
+ assert_line --index 0 "⭐ START: backupmount"
+ assert_line --index 1 "❌ ERROR: missing backup volume in src/config-example.yaml"
}
\ No newline at end of file