mirror of
https://github.com/Ravinou/borgwarehouse
synced 2026-03-14 22:35:46 +01:00
107 lines
No EOL
2.5 KiB
Bash
107 lines
No EOL
2.5 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
setup() {
|
|
export home="/tmp/borgwarehouse"
|
|
mkdir -p "${home}/repos/repo1"
|
|
mkdir -p "${home}/repos/repo2"
|
|
mkdir -p "${home}/repos/repo3"
|
|
|
|
# Create files with different sizes
|
|
dd if=/dev/zero of="${home}/repos/repo1/file1" bs=1K count=32
|
|
dd if=/dev/zero of="${home}/repos/repo2/file1" bs=1K count=1156
|
|
dd if=/dev/zero of="${home}/repos/repo3/file1" bs=1K count=112
|
|
|
|
echo "home=${home}" > "${home}/.env"
|
|
}
|
|
|
|
teardown() {
|
|
rm -rf /tmp/borgwarehouse
|
|
}
|
|
|
|
@test "Test getStorageUsed.sh returns the size of all repositories in JSON format" {
|
|
run bash /test/scripts/getStorageUsed.sh
|
|
|
|
# Expected output in JSON format with my fake files
|
|
expected_output='[
|
|
{
|
|
"size": 36,
|
|
"name": "repo1"
|
|
},
|
|
{
|
|
"size": 1160,
|
|
"name": "repo2"
|
|
},
|
|
{
|
|
"size": 116,
|
|
"name": "repo3"
|
|
}
|
|
]'
|
|
|
|
normalized_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$normalized_output" == "$normalized_expected_output" ]
|
|
}
|
|
|
|
|
|
@test "Test getStorageUsed.sh when no repositories exist" {
|
|
# Delete all repositories
|
|
rm -rf "${home}/repos"
|
|
mkdir -p "${home}/repos"
|
|
|
|
run bash /test/scripts/getStorageUsed.sh
|
|
|
|
normalized_expected_output='[]'
|
|
normalized_output=$(echo "$output" | jq .)
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$normalized_output" == "$normalized_expected_output" ]
|
|
}
|
|
|
|
@test "Test getStorageUsed.sh with only one repository" {
|
|
# Keep only one repository
|
|
rm -rf "${home}/repos/repo2" "${home}/repos/repo3"
|
|
|
|
run bash /test/scripts/getStorageUsed.sh
|
|
|
|
expected_output='[{"size": 36, "name": "repo1"}]'
|
|
|
|
normalized_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
echo "$normalized_output"
|
|
echo "$normalized_expected_output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$normalized_output" == "$normalized_expected_output" ]
|
|
}
|
|
|
|
@test "Test getStorageUsed.sh ignores lost+found directory" {
|
|
mkdir -p "${home}/repos/lost+found"
|
|
dd if=/dev/zero of="${home}/repos/lost+found/file1" bs=1K count=500
|
|
|
|
run bash /test/scripts/getStorageUsed.sh
|
|
|
|
# Expected output should NOT include lost+found
|
|
expected_output='[
|
|
{
|
|
"size": 36,
|
|
"name": "repo1"
|
|
},
|
|
{
|
|
"size": 1160,
|
|
"name": "repo2"
|
|
},
|
|
{
|
|
"size": 116,
|
|
"name": "repo3"
|
|
}
|
|
]'
|
|
|
|
normalized_output=$(echo "$output" | jq .)
|
|
normalized_expected_output=$(echo "$expected_output" | jq .)
|
|
|
|
[ "$status" -eq 0 ]
|
|
[ "$normalized_output" == "$normalized_expected_output" ]
|
|
} |