#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" source "$SCRIPT_DIR/../harness/helpers.sh" source "$SCRIPT_DIR/../harness/mock-nas.sh" require_root setup_test_env trap teardown_test_env EXIT # Start mock NAS and create a test file for warmup to pull start_mock_nas nas_create_file "photos/test.jpg" 4 # Generate config with auto-warmup enabled and a warmup rule for the path gen_config warmup_auto=true \ 'warmup.rules=[[warmup.rules]] path = "" ' start_warpgate # Wait for the warmup phase to begin wait_for_log_line "Running auto-warmup" 60 # Warmup ran successfully assert_log_contains "Running auto-warmup" # Wait for warmup to complete and verify the file actually entered cache wait_for_mount 60 wait_for_rc_api 30 sleep 5 assert_cached "photos/test.jpg" echo "PASS: $(basename "$0" .sh)"