Files
foxhunt/scripts/test_circuit_breakers.sh
jgrusewski 8d89fe80ff chore: Second cleanup wave - organize root directory
- Archive: 85 agent .txt files → docs/archive/agents/legacy_txt/
- Scripts: Move 110 shell scripts → scripts/ (keep deploy.sh in root)
- Models: Move 18 .safetensors → ml/models/checkpoints/training_artifacts/
- Delete: 34 directories (~33GB freed) - target/, coverage_*, test artifacts
- Build: Clean 14 build artifacts (.rlib, .o, .pid, binaries)
- Tests: Move 14 .rs files → tests/standalone/
- SQL: Move 5 files → sql/ (keep init-db*.sql for Docker)
- Wave 153: Archive to docs/archive/historical/wave153/
- Docs: Archive 9 markdown files to wave_d/reports/ and historical/

Total impact: ~34GB freed (both waves), root directory cleaned from 583 to ~40 essential files
Directory count reduced from 65 to 31 (52% reduction)
All historical data preserved in organized archive structure
2025-10-30 01:26:02 +01:00

136 lines
4.2 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
echo "======================================"
echo "Circuit Breaker Validation Test Suite"
echo "======================================"
echo ""
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Test counters
TOTAL_TESTS=0
PASSED_TESTS=0
FAILED_TESTS=0
test_result() {
TOTAL_TESTS=$((TOTAL_TESTS + 1))
if [ $1 -eq 0 ]; then
echo -e "${GREEN}✓ PASS${NC}: $2"
PASSED_TESTS=$((PASSED_TESTS + 1))
else
echo -e "${RED}✗ FAIL${NC}: $2"
FAILED_TESTS=$((FAILED_TESTS + 1))
fi
}
echo "Phase 1: Inventory Circuit Breaker Implementations"
echo "---------------------------------------------------"
# Search for circuit breaker implementations
echo "Searching for circuit breaker code..."
CB_RISK=$(find risk/src -name "circuit_breaker.rs" 2>/dev/null | wc -l)
CB_TRADING=$(find trading_engine/src/types -name "circuit_breaker.rs" 2>/dev/null | wc -l)
test_result $([ $CB_RISK -gt 0 ] && echo 0 || echo 1) "Risk circuit breaker implementation exists"
test_result $([ $CB_TRADING -gt 0 ] && echo 0 || echo 1) "Trading engine circuit breaker implementation exists"
echo ""
echo "Phase 2: Check Configuration"
echo "----------------------------"
# Check for circuit breaker configuration
echo "Checking circuit breaker configuration..."
# Check risk circuit breaker config
if grep -r "CircuitBreakerConfig" risk/src/ >/dev/null 2>&1; then
test_result 0 "Circuit breaker configuration structure exists"
else
test_result 1 "Circuit breaker configuration structure exists"
fi
# Check for failure thresholds
if grep -r "failure_threshold\|daily_loss_percentage" risk/src/ >/dev/null 2>&1; then
test_result 0 "Failure threshold configuration"
else
test_result 1 "Failure threshold configuration"
fi
# Check for state management
if grep -r "CircuitState\|CircuitBreakerState" risk/src/ trading_engine/src/ >/dev/null 2>&1; then
test_result 0 "Circuit breaker state management"
else
test_result 1 "Circuit breaker state management"
fi
echo ""
echo "Phase 3: Check State Transitions"
echo "---------------------------------"
# Check for state transition logic
if grep -r "Closed\|Open\|HalfOpen" trading_engine/src/types/circuit_breaker.rs risk/src/circuit_breaker.rs 2>/dev/null; then
test_result 0 "State transition logic (Closed/Open/HalfOpen)"
else
test_result 1 "State transition logic (Closed/Open/HalfOpen)"
fi
# Check for transition methods
if grep -r "transition_to_open\|transition_to_closed\|transition_to_half_open" trading_engine/src/types/circuit_breaker.rs 2>/dev/null; then
test_result 0 "State transition methods"
else
test_result 1 "State transition methods"
fi
echo ""
echo "Phase 4: Check Monitoring Integration"
echo "--------------------------------------"
# Check for metrics
if grep -r "CircuitBreakerMetrics\|get_metrics" risk/src/circuit_breaker.rs trading_engine/src/types/circuit_breaker.rs 2>/dev/null; then
test_result 0 "Circuit breaker metrics"
else
test_result 1 "Circuit breaker metrics"
fi
# Check for health check
if grep -r "health_check" risk/src/circuit_breaker.rs 2>/dev/null; then
test_result 0 "Health check integration"
else
test_result 1 "Health check integration"
fi
echo ""
echo "Phase 5: Check API Gateway Integration"
echo "---------------------------------------"
# Check API Gateway health router
if grep -r "circuit.*breaker\|circuit_breaker_status" services/api_gateway/src/health_router.rs 2>/dev/null; then
test_result 0 "API Gateway circuit breaker endpoint"
else
test_result 1 "API Gateway circuit breaker endpoint"
fi
echo ""
echo "Phase 6: Check Redis Coordination"
echo "----------------------------------"
# Check for Redis integration
if grep -r "redis_client\|RedisResult\|persist_state_to_redis" risk/src/circuit_breaker.rs 2>/dev/null; then
test_result 0 "Redis state coordination"
else
test_result 1 "Redis state coordination"
fi
echo ""
echo "========================================"
echo " INITIAL SUMMARY"
echo "========================================"
echo "Total Tests: $TOTAL_TESTS"
echo -e "${GREEN}Passed: $PASSED_TESTS${NC}"
echo -e "${RED}Failed: $FAILED_TESTS${NC}"
echo ""