From 5a2ae3d1ac4ec29d1daf958256067ce08dff57c3 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 9 Aug 2026 12:43:16 +0200 Subject: [PATCH] change param test to backward compatible --- builder/Containerfile.template | 4 +++ tests/backup_tests.bats | 65 ++++++++++++++++++++++++++++------ 2 files changed, 58 insertions(+), 11 deletions(-) diff --git a/builder/Containerfile.template b/builder/Containerfile.template index c4706da..2d989c4 100644 --- a/builder/Containerfile.template +++ b/builder/Containerfile.template @@ -18,6 +18,10 @@ RUN apt-get update \ bats-support \ bats-assert \ shellcheck \ + yq \ + jq \ + ssh \ + rsync \ && apt-get clean \ && rm --recursive --force /var/lib/apt/lists/* COPY run /app/run diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index 3c3ccfc..88c0c43 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -873,10 +873,26 @@ teardown() { assert_output "" } -write_log_entry() { - local type="$1" +# bats test_tags=backup:log +@test "success log has logfile entry for type none" { + mkdir --parents build/test + local config= + config=$(yq '.' "$CONFIG_FILE") + get_date_time() { + echo "2000-01-01T23:30:45+02:00" + } + + run log "$config" "log entry" + + assert_success + assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [none] log entry -> build/test/backup.log" + assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [none] log entry" +} + +# bats test_tags=backup:log +@test "success log has logfile entry for type day" { mkdir --parents build/test - touch "build/test/$type" + touch build/test/day local config= config=$(yq '.' "$CONFIG_FILE") get_date_time() { @@ -886,16 +902,43 @@ write_log_entry() { run log "$config" "log entry" assert_success - assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [$type] log entry -> build/test/backup.log" - assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [$type] log entry" + assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [day] log entry -> build/test/backup.log" + assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [day] log entry" } -for type in none day week month; do - bats_test_function --tags "backup:log" \ - --description "success log has logfile entry for type $type" \ - -- \ - write_log_entry "$type" -done +# bats test_tags=backup:log +@test "success log has logfile entry for type week" { + mkdir --parents build/test + touch build/test/week + local config= + config=$(yq '.' "$CONFIG_FILE") + get_date_time() { + echo "2000-01-01T23:30:45+02:00" + } + + run log "$config" "log entry" + + assert_success + assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [week] log entry -> build/test/backup.log" + assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [week] log entry" +} + +# bats test_tags=backup:log +@test "success log has logfile entry for type month" { + mkdir --parents build/test + touch build/test/month + local config= + config=$(yq '.' "$CONFIG_FILE") + get_date_time() { + echo "2000-01-01T23:30:45+02:00" + } + + run log "$config" "log entry" + + assert_success + assert_output "ℹ️ INFO: 2000-01-01T23:30:45+02:00 [month] log entry -> build/test/backup.log" + assert_equal "$(cat "build/test/backup.log")" "2000-01-01T23:30:45+02:00 [month] log entry" +} # bats test_tags=backup:log @test "success no logrotate by 99 lines" { -- 2.47.3