get_backup_dir()
{
local config="$1"
- local last_backup_number="$2"
+ local last_backup_dir_path="$2"
local backup_path=
local backup_name=
local date=
- last_backup_number=${last_backup_number:="1"}
+ local last_backup_number="1"
+ local last_backup_dir="${last_backup_dir_path##*/}"
date=$(date --iso-8601=date)
backup_path=$(echo "$config" | jq --raw-output '.backup_path')
backup_name=$(echo "$config" | jq --raw-output '.backup_name')
+ [ "${last_backup_dir:0:10}" == "$date" ] \
+ && last_backup_number="${last_backup_dir:11:2}"
local backup_dir=
local number=
last_backup_dir_path=$(get_last_backup_dir_path "$config")
[ -n "$last_backup_dir_path" ] \
&& echo "ℹ️ INFO: last backup dir path $last_backup_dir_path"
- local last_backup_dir="${last_backup_dir_path##*/}"
- last_backup_number="${last_backup_dir:11:2}"
local backup_dir=
- backup_dir=$(get_backup_dir "$config" "$last_backup_number")
+ backup_dir=$(get_backup_dir "$config" "$last_backup_dir_path")
echo "ℹ️ INFO: backup folder $backup_dir"
create_backup_dir "$config" "$backup_dir"
backup_machines "$config" \
rmdir "build/2000-01-01_36_backup"
}
+@test "success create backup folder latest number with other date" {
+ mkdir --parents "build/1999-12-31_35_backup"
+ backup_machines() {
+ :
+ }
+ cleanup_old_backups() {
+ :
+ }
+
+ run main
+
+ assert_success
+ assert_line --index 0 "⭐ START: backup"
+ assert_line --index 1 "ℹ️ INFO: backup path build"
+ assert_line --index 2 "ℹ️ INFO: backup name backup"
+ assert_line --index 3 "ℹ️ INFO: backup count 15"
+ assert_line --index 4 "ℹ️ INFO: last backup dir path build/1999-12-31_35_backup"
+ assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
+ assert_line --index 6 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
+ assert_line --index 7 "ℹ️ INFO: backup count: 2"
+ assert_line --index 8 "✅ SUCCESS: backup"
+ [ -d "build/2000-01-01_01_backup" ]
+ rmdir "build/1999-12-31_35_backup"
+ rmdir "build/2000-01-01_01_backup"
+}
+
@test "success backup machines" {
machine_backup_pathes() {
: