#!/usr/bin/env node

/**
 * 🚀 生产环境快速验证测试
 * 验证统一架构在生产环境的兼容性和功能
 */

import { SystemOrchestrator } from './src/modules/SystemOrchestrator.js'
import { logger } from './src/utils/logger.js'
import * as dotenv from 'dotenv'

// 加载环境变量
dotenv.config()

async function runProductionTest(): Promise<void> {
  console.log('🚀 开始生产环境快速验证测试')
  console.log('=' + '='.repeat(50))

  try {
    // 1. 测试SystemOrchestrator实例化
    console.log('📦 测试 SystemOrchestrator 实例化...')
    const orchestrator = new SystemOrchestrator()
    console.log('✅ SystemOrchestrator 实例化成功')

    // 2. 测试系统状态获取
    console.log('📊 测试系统状态获取...')
    const status = await orchestrator.getSystemStatus()
    console.log(`✅ 系统状态: ${status.status}`)
    console.log(`📋 服务数量: ${Object.keys(status.services).length}`)

    // 3. 测试服务列表
    console.log('🔧 注册的服务:')
    Object.keys(status.services).forEach(serviceName => {
      console.log(`   - ${serviceName}`)
    })

    // 4. 测试Delta中性控制器导入
    console.log('🎯 测试 Delta 中性控制器...')
    const { DeltaNeutralController } = await import('./src/controllers/DeltaNeutralController.js')
    console.log('✅ DeltaNeutralController 导入成功')

    // 5. 测试风险监控服务导入
    console.log('🛡️ 测试风险监控服务...')
    const { RiskMonitoringService } = await import('./src/services/RiskMonitoringService.js')
    console.log('✅ RiskMonitoringService 导入成功')

    // 6. 测试生产环境入口
    console.log('🏭 测试生产环境入口...')
    const { UnifiedTradingSystem } = await import('./src/main-production.js')
    const productionSystem = new UnifiedTradingSystem()
    console.log('✅ 生产环境系统实例化成功')

    console.log('\n🎉 生产环境验证测试全部通过！')
    console.log('💡 系统已准备好进行生产部署')

  } catch (error) {
    console.error('❌ 生产环境测试失败:', error)
    process.exit(1)
  }
}

// 运行测试
if (import.meta.url === `file://${process.argv[1]}`) {
  runProductionTest().catch(error => {
    console.error('💥 测试执行失败:', error)
    process.exit(1)
  })
}