local backup_path=
local backup_name=
local remote_user=
- local remote_machine=
- local remote_port=
+ local host=
+ local port=
backup_path=$(echo "$config" \
| jq --raw-output ".backup_path")
[ "$remote_user" != "null" ] \
|| errlog "missing remote user in $CONFIG_FILE" \
|| return $?
- remote_machine=$(echo "$config" \
- | jq --raw-output ".machines.\"$machine\".remote_machine")
- [ "$remote_machine" != "null" ] \
- || errlog "missing remote machine in $CONFIG_FILE" \
+ host=$(echo "$config" \
+ | jq --raw-output ".machines.\"$machine\".host")
+ [ "$host" != "null" ] \
+ || errlog "missing host in $CONFIG_FILE" \
|| return $?
- remote_port=$(echo "$config" \
- | jq --raw-output ".machines.\"$machine\".remote_port")
- [ "$remote_port" != "null" ] \
- || errlog "missing remote port in $CONFIG_FILE" \
+ port=$(echo "$config" \
+ | jq --raw-output ".machines.\"$machine\".port")
+ [ "$port" != "null" ] \
+ || errlog "missing port in $CONFIG_FILE" \
+ || return $?
+
+ local backup_dir="${date}_${number}_${backup_name}"
+ [ -d "$backup_path/$backup_dir" ] \
+ || errlog "directory $backup_path/$backup_dir not exists" \
|| return $?
}
}
# bats test_tags=backup:config
-@test "failure config missing remote machine" {
+@test "failure config missing host" {
yq() {
echo '{
"backup_path": "build/test",
assert_line --index 0 "⭐ START: restore"
assert_line --index 1 "ℹ️ INFO: backup path build/test"
assert_line --index 2 "ℹ️ INFO: backup name backup"
- assert_line --index 3 "❌ ERROR: missing remote machine in src/config-example.yaml"
+ assert_line --index 3 "❌ ERROR: missing host in src/config-example.yaml"
}
# bats test_tags=backup:config
"machines": {
"testpc1.example.com": {
"remote_user": "testuser",
- "remote_machine": "rmachine"
+ "host": "rmachine"
}
}
}'
assert_line --index 0 "⭐ START: restore"
assert_line --index 1 "ℹ️ INFO: backup path build/test"
assert_line --index 2 "ℹ️ INFO: backup name backup"
- assert_line --index 3 "❌ ERROR: missing remote port in src/config-example.yaml"
+ assert_line --index 3 "❌ ERROR: missing port in src/config-example.yaml"
+}
+
+# bats test_tags=backup:pathcheck
+@test "failure no backup directory" {
+ run main -d "2000-01-01" -n "01" -r "testpc1.example.com" -p "/testpath"
+
+ assert_failure
+ assert_line --index 0 "⭐ START: restore"
+ assert_line --index 1 "ℹ️ INFO: backup path build/test"
+ assert_line --index 2 "ℹ️ INFO: backup name backup"
+ assert_line --index 3 "❌ ERROR: directory build/test/2000-01-01_01_backup not exists"
}
\ No newline at end of file