#!/bin/bash # Quick gRPC Endpoint Validation Script # Tests Trading Service and Backtesting Service with 225-feature extraction # # Usage: ./scripts/validate_grpc_endpoints.sh set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$PROJECT_ROOT" # Colors GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' echo -e "${BLUE}========================================${NC}" echo -e "${BLUE}gRPC Endpoint Validation Suite${NC}" echo -e "${BLUE}Testing: 225-Feature Extraction + Regime Detection${NC}" echo -e "${BLUE}========================================${NC}" echo "" # Track test results TOTAL_TESTS=0 PASSED_TESTS=0 FAILED_TESTS=0 run_test() { local test_name=$1 local test_command=$2 TOTAL_TESTS=$((TOTAL_TESTS + 1)) echo -e "${YELLOW}[TEST $TOTAL_TESTS] $test_name${NC}" if eval "$test_command" > /tmp/test_output_$TOTAL_TESTS.log 2>&1; then PASSED_TESTS=$((PASSED_TESTS + 1)) echo -e "${GREEN}✓ PASS${NC}" else FAILED_TESTS=$((FAILED_TESTS + 1)) echo -e "${RED}✗ FAIL${NC}" echo " See: /tmp/test_output_$TOTAL_TESTS.log" fi echo "" } # Test 1: Trading Service Integration Tests run_test "Trading Service - Core Endpoints" \ "cargo test -p trading_service --test integration_tests -- --test-threads=1 --nocapture" # Test 2: Backtesting Service Initialization run_test "Backtesting Service - Initialization" \ "cargo test -p backtesting_service --test integration_tests test_service_initialization -- --nocapture" # Test 3: 225-Feature Extraction - SharedML run_test "225-Feature Extraction - SharedML Strategy" \ "cargo test -p common shared_ml_strategy --lib -- --nocapture" # Test 4: Wave D Feature Integration run_test "Wave D - Feature Integration" \ "cargo test -p ml integration_wave_d_features --lib -- --nocapture" # Test 5: Regime Detection Compilation run_test "Regime Detection - Test Compilation" \ "cargo test -p trading_service --test regime_grpc_integration_test --no-run" # Test 6: API Gateway Regime Endpoints run_test "API Gateway - Regime Endpoint Proto Validation" \ "cargo test -p api_gateway --test regime_endpoint_tests -- --nocapture" echo -e "${BLUE}========================================${NC}" echo -e "${BLUE}Test Summary${NC}" echo -e "${BLUE}========================================${NC}" echo -e "Total Tests: $TOTAL_TESTS" echo -e "${GREEN}Passed: $PASSED_TESTS${NC}" if [ $FAILED_TESTS -gt 0 ]; then echo -e "${RED}Failed: $FAILED_TESTS${NC}" else echo -e "Failed: $FAILED_TESTS" fi echo "" # Calculate pass rate PASS_RATE=$((PASSED_TESTS * 100 / TOTAL_TESTS)) echo -e "Pass Rate: ${PASS_RATE}%" echo "" if [ $PASS_RATE -eq 100 ]; then echo -e "${GREEN}✅ ALL TESTS PASSED${NC}" echo -e "${GREEN}gRPC endpoints operational with 225-feature extraction${NC}" exit 0 else echo -e "${YELLOW}⚠️ Some tests failed. Review logs in /tmp/test_output_*.log${NC}" exit 1 fi