mirror of
https://github.com/Ravinou/borgwarehouse
synced 2026-03-14 22:35:46 +01:00
85 lines
2.1 KiB
Bash
85 lines
2.1 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
setup() {
|
|
export home="/tmp/borgwarehouse"
|
|
mkdir -p "${home}/repos/repo1"
|
|
mkdir -p "${home}/repos/repo2"
|
|
|
|
# Create integrity files
|
|
touch "${home}/repos/repo1/integrity_file_1"
|
|
touch "${home}/repos/repo2/integrity_file_2"
|
|
|
|
# Set the last modified time of the integrity files
|
|
touch -d '2024-09-04 12:00:00' "${home}/repos/repo1/integrity_file_1"
|
|
touch -d '2024-10-04 13:00:00' "${home}/repos/repo2/integrity_file_2"
|
|
|
|
echo "home=${home}" > "${home}/.env"
|
|
}
|
|
|
|
teardown() {
|
|
rm -rf /tmp/borgwarehouse
|
|
}
|
|
|
|
@test "Test getLastSave.sh - Get last save timestamps for existing repositories" {
|
|
run bash /test/scripts/getLastSave.sh
|
|
|
|
# expected output in JSON format
|
|
expected_output='[
|
|
{
|
|
"repositoryName": "repo1",
|
|
"lastSave": 1725451200
|
|
},
|
|
{
|
|
"repositoryName": "repo2",
|
|
"lastSave": 1728046800
|
|
}
|
|
]'
|
|
|
|
# Normalize the JSON output for comparison
|
|
run_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
[ "$run_output" = "$normalized_expected_output" ]
|
|
}
|
|
|
|
@test "Test getLastSave.sh - Get last save timestamps when no repositories exist" {
|
|
# Delete all repositories
|
|
rm -rf "${home}/repos"
|
|
mkdir -p "${home}/repos"
|
|
|
|
run bash /test/scripts/getLastSave.sh
|
|
|
|
expected_output='[]'
|
|
|
|
run_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$run_output" = "$normalized_expected_output" ]
|
|
}
|
|
|
|
@test "Test getLastSave.sh - Get last save timestamps with missing integrity file" {
|
|
rm "${home}/repos/repo1/integrity_file_1"
|
|
|
|
run bash /test/scripts/getLastSave.sh
|
|
|
|
expected_output='[
|
|
{
|
|
"repositoryName": "repo2",
|
|
"lastSave": 1728046800
|
|
}
|
|
]'
|
|
|
|
run_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$run_output" = "$normalized_expected_output" ]
|
|
}
|
|
|
|
@test "Test getLastSave.sh - Check .env loading" {
|
|
rm "${home}/.env" # Remove .env to check default behavior
|
|
|
|
run bash /test/scripts/getLastSave.sh
|
|
[ "$status" -eq 0 ]
|
|
}
|