#!/usr/bin/env bash set -uo pipefail # CASAN Tier-2 local production-like infra lab tests. # Starts Docker Compose if needed, verifies Vault/IdP/MinIO/dashboard/alert/billing. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../scripts/bash/casan-paths.sh" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" S="$CASAN_HARNESS_ROOT/scripts/bash" PASS=0; FAIL=0; SKIP=0 pass() { echo "PASS: $1"; PASS=$((PASS + 1)); } fail() { echo "FAIL: $1"; FAIL=$((FAIL + 1)); } skip() { echo "SKIP: $1"; SKIP=$((SKIP + 1)); } if ! command -v docker >/dev/null 2>&1 || ! docker compose version >/dev/null 2>&1; then skip "Docker Compose unavailable" echo "===== PROD INFRA LAB SUMMARY: PASS=$PASS FAIL=$FAIL SKIP=$SKIP =====" exit 0 fi if bash "$S/infra-lab.sh" start >/dev/null 2>&1; then pass "local-prod Docker Compose stack starts" else fail "local-prod Docker Compose stack failed to start" fi if bash "$S/infra-lab.sh" verify > /tmp/casan-infra-lab-verify.out 2>&1; then pass "local-prod infra lab verification passes" else cat /tmp/casan-infra-lab-verify.out fail "local-prod infra lab verification failed" fi echo "" echo "===== PROD INFRA LAB SUMMARY: PASS=$PASS FAIL=$FAIL SKIP=$SKIP =====" [[ "$FAIL" -eq 0 ]] || exit 1