- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
69 lines
2.0 KiB
Bash
Executable File
69 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Production-like load testing
|
|
# Tests system capacity and performance optimizations
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
RPC_URL="${RPC_URL:-http://localhost:8545}"
|
|
RESULTS_DIR="${RESULTS_DIR:-$PROJECT_ROOT/tests/load-test-results}"
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
|
|
mkdir -p "$RESULTS_DIR"
|
|
|
|
echo "Production-Like Load Testing"
|
|
echo "============================="
|
|
echo "RPC URL: $RPC_URL"
|
|
echo "Results Directory: $RESULTS_DIR"
|
|
echo "Timestamp: $TIMESTAMP"
|
|
echo ""
|
|
|
|
# Test 1: CCIP Message Throughput
|
|
echo "Test 1: CCIP Message Throughput"
|
|
echo "-------------------------------"
|
|
./load-test-ccip.sh > "$RESULTS_DIR/ccip-throughput-$TIMESTAMP.log" 2>&1
|
|
echo "✓ CCIP throughput test complete"
|
|
|
|
# Test 2: Oracle Update Frequency
|
|
echo ""
|
|
echo "Test 2: Oracle Update Frequency"
|
|
echo "-------------------------------"
|
|
./load-test-oracle.sh > "$RESULTS_DIR/oracle-frequency-$TIMESTAMP.log" 2>&1
|
|
echo "✓ Oracle frequency test complete"
|
|
|
|
# Test 3: RPC Node Capacity
|
|
echo ""
|
|
echo "Test 3: RPC Node Capacity"
|
|
echo "-------------------------"
|
|
./load-test-rpc.sh > "$RESULTS_DIR/rpc-capacity-$TIMESTAMP.log" 2>&1
|
|
echo "✓ RPC capacity test complete"
|
|
|
|
# Test 4: Concurrent Operations
|
|
echo ""
|
|
echo "Test 4: Concurrent Operations"
|
|
echo "-----------------------------"
|
|
# Run all tests concurrently
|
|
./load-test-ccip.sh > "$RESULTS_DIR/concurrent-ccip-$TIMESTAMP.log" 2>&1 &
|
|
./load-test-oracle.sh > "$RESULTS_DIR/concurrent-oracle-$TIMESTAMP.log" 2>&1 &
|
|
./load-test-rpc.sh > "$RESULTS_DIR/concurrent-rpc-$TIMESTAMP.log" 2>&1 &
|
|
wait
|
|
echo "✓ Concurrent operations test complete"
|
|
|
|
# Generate summary
|
|
echo ""
|
|
echo "Load Testing Summary"
|
|
echo "===================="
|
|
echo "Results saved to: $RESULTS_DIR"
|
|
echo ""
|
|
echo "Review results and validate:"
|
|
echo "1. CCIP message throughput meets requirements"
|
|
echo "2. Oracle update frequency is acceptable"
|
|
echo "3. RPC node capacity is sufficient"
|
|
echo "4. System handles concurrent operations"
|
|
echo ""
|
|
echo "If any test fails, review logs and optimize configuration."
|
|
|