Add Oracle Aggregator and CCIP Integration
- 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.
This commit is contained in:
120
scripts/configure-network-test.sh
Executable file
120
scripts/configure-network-test.sh
Executable file
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Test script for configuration tool
|
||||
# Tests decision logic tree and validation
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/../lib/init.sh"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
|
||||
log_success "Testing Configuration Tool..."
|
||||
|
||||
# Test 1: Python syntax
|
||||
log_warn "Test 1: Python syntax check"
|
||||
python3 -m py_compile scripts/configure-network.py scripts/configure-network-validation.py
|
||||
if [ $? -eq 0 ]; then
|
||||
log_success "✓ Python syntax is valid"
|
||||
else
|
||||
log_error "✗ Python syntax errors found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test 2: Import validation
|
||||
log_warn "Test 2: Import validation"
|
||||
python3 -c "import sys; sys.path.insert(0, 'scripts'); from configure_network_validation import ConfigurationValidator; print('✓ Validation module imports successfully')"
|
||||
if [ $? -eq 0 ]; then
|
||||
log_success "✓ Validation module imports successfully"
|
||||
else
|
||||
log_error "✗ Validation module import failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test 3: Validation logic
|
||||
log_warn "Test 3: Validation logic"
|
||||
python3 << 'EOF'
|
||||
import sys
|
||||
sys.path.insert(0, 'scripts')
|
||||
from configure_network_validation import ConfigurationValidator
|
||||
from pathlib import Path
|
||||
|
||||
# Test configuration
|
||||
test_config = {
|
||||
'genesis': {
|
||||
'chainId': 138,
|
||||
'blockPeriodSeconds': 2,
|
||||
'epochLength': 30000,
|
||||
'requestTimeoutSeconds': 10,
|
||||
'gasLimit': '0x1c9c380',
|
||||
},
|
||||
'validators': ['0x' + '0' * 40],
|
||||
'network': {
|
||||
'clusterName': 'test-cluster',
|
||||
'resourceGroup': 'test-rg',
|
||||
'location': 'eastus',
|
||||
'vnetAddressSpace': '10.0.0.0/16',
|
||||
'subnets': {
|
||||
'validators': '10.0.1.0/24',
|
||||
'sentries': '10.0.2.0/24',
|
||||
'rpc': '10.0.3.0/24',
|
||||
'aks': '10.0.4.0/24',
|
||||
}
|
||||
},
|
||||
'nodes': {
|
||||
'validatorCount': 1,
|
||||
'sentryCount': 0,
|
||||
'rpcCount': 0,
|
||||
},
|
||||
'ports': {
|
||||
'p2p': 30303,
|
||||
'rpcHttp': 8545,
|
||||
'rpcWs': 8546,
|
||||
'metrics': 9545,
|
||||
},
|
||||
'besu': {
|
||||
'validators': {'rpcHttpEnabled': False},
|
||||
'sentries': {'rpcHttpEnabled': True},
|
||||
'rpc': {'rpcHttpEnabled': True, 'p2pEnabled': False},
|
||||
},
|
||||
'deployment': {
|
||||
'type': 'aks',
|
||||
'aksEnabled': True,
|
||||
'vmEnabled': False,
|
||||
},
|
||||
'alloc': {},
|
||||
}
|
||||
|
||||
validator = ConfigurationValidator(test_config, Path('.'))
|
||||
is_valid, errors, warnings = validator.validate_all()
|
||||
|
||||
print(f"Validation result: {'Valid' if is_valid else 'Invalid'}")
|
||||
print(f"Errors: {len(errors)}")
|
||||
print(f"Warnings: {len(warnings)}")
|
||||
|
||||
if errors:
|
||||
print("Errors:")
|
||||
for error in errors:
|
||||
print(f" - {error}")
|
||||
|
||||
if warnings:
|
||||
print("Warnings:")
|
||||
for warning in warnings:
|
||||
print(f" - {warning}")
|
||||
|
||||
if len(warnings) > 0:
|
||||
print("✓ Validation logic working (warnings expected for test config)")
|
||||
else:
|
||||
print("⚠ No warnings generated (may indicate validation issue)")
|
||||
EOF
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
log_success "✓ Validation logic test passed"
|
||||
else
|
||||
log_error "✗ Validation logic test failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_success "All tests passed!"
|
||||
|
||||
Reference in New Issue
Block a user