#!/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 the mock NAS so rclone can connect via SFTP start_mock_nas # Generate a default config pointing at the mock NAS gen_config # Start warpgate and wait for full startup start_warpgate wait_for_log_line "Supervision active" 60 # Verify the five startup phases appear in the correct order assert_log_order "Preflight checks" "Starting rclone mount" assert_log_order "Starting rclone mount" "Mount ready" assert_log_order "Mount ready" "Starting protocol services" assert_log_order "Starting protocol services" "Supervision active" echo "PASS: $(basename "$0" .sh)"