- 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.
121 lines
3.0 KiB
Bash
Executable File
121 lines
3.0 KiB
Bash
Executable File
#!/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!"
|
|
|