Files
smom-dbis-138/scripts/configure-network-test.sh
defiQUG 1fb7266469 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.
2025-12-12 14:57:48 -08:00

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!"