#!/usr/bin/env bash # Integration tests for deploy, bridge, verify scripts # Run: ./scripts/tests/integration-test-scripts.sh [--deploy|--bridge|--verify] # Version: 2026-01-31 set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" test_load_env() { echo "Test: load-project-env" source "${SCRIPT_DIR}/../lib/load-project-env.sh" [[ -n "${PROJECT_ROOT:-}" ]] || { echo "FAIL: PROJECT_ROOT"; return 1; } [[ -n "$(get_host_for_vmid 10130)" ]] || { echo "FAIL: get_host_for_vmid"; return 1; } echo " OK" } test_bridge_dry_run() { echo "Test: bridge --dry-run (requires PRIVATE_KEY, CCIPWETH9_BRIDGE_CHAIN138)" source "${SCRIPT_DIR}/../lib/load-project-env.sh" 2>/dev/null || true if [[ -z "${CCIPWETH9_BRIDGE_CHAIN138:-}" ]]; then echo " SKIP (CCIPWETH9_BRIDGE_CHAIN138 not set)" return 0 fi "${SCRIPT_DIR}/../bridge/run-send-cross-chain.sh" 0.0001 0x0000000000000000000000000000000000000001 --dry-run 2>/dev/null || echo " SKIP (cast/RPC)" echo " OK" } test_verify_preflight() { echo "Test: verify script pre-flight (forge, node, smom-dbis-138)" [[ -d "${PROJECT_ROOT}/smom-dbis-138" ]] || { echo " SKIP (smom-dbis-138 not found)"; return 0; } command -v forge &>/dev/null || { echo " SKIP (forge not found)"; return 0; } command -v node &>/dev/null || { echo " SKIP (node not found)"; return 0; } echo " OK" } test_deploy_syntax() { echo "Test: deploy script syntax" bash -n "${SCRIPT_DIR}/../dbis/deploy-dbis-frontend-to-container.sh" || { echo " FAIL"; return 1; } echo " OK" } run_tests() { test_load_env test_deploy_syntax test_verify_preflight test_bridge_dry_run } run_tests