Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Script de inicialização do Sistema de Testes Massivos - AgentGraph | |
| Execute este arquivo na raiz do projeto para ter acesso a todos os módulos | |
| """ | |
| import os | |
| import sys | |
| import subprocess | |
| import logging | |
| def check_dependencies(): | |
| """Verifica se as dependências estão instaladas""" | |
| try: | |
| import flask | |
| import pandas | |
| import openpyxl | |
| print("✅ Dependências Flask/Pandas verificadas") | |
| return True | |
| except ImportError as e: | |
| print(f"❌ Dependência faltando: {e}") | |
| print("💡 Execute: pip install flask pandas openpyxl") | |
| return False | |
| def check_agentgraph_setup(): | |
| """Verifica se o AgentGraph está configurado""" | |
| try: | |
| from utils.config import AVAILABLE_MODELS, validate_config | |
| validate_config() | |
| print("✅ AgentGraph configurado corretamente") | |
| print(f"📊 {len(AVAILABLE_MODELS)} modelos disponíveis") | |
| return True | |
| except Exception as e: | |
| print(f"❌ Erro na configuração do AgentGraph: {e}") | |
| print("💡 Verifique se as APIs estão configuradas no .env") | |
| return False | |
| def check_cache_disabled(): | |
| """Verifica se o cache foi desativado conforme solicitado""" | |
| try: | |
| from nodes.agent_node import route_after_cache_check | |
| # Testa se o cache está desativado | |
| test_state = {"cache_hit": True, "processing_enabled": False} | |
| result = route_after_cache_check(test_state) | |
| if result != "update_history": # Se não vai para cache, está desativado | |
| print("✅ Cache desativado conforme solicitado") | |
| return True | |
| else: | |
| print("⚠️ Cache ainda ativo - pode afetar testes de consistência") | |
| return True # Não é erro fatal | |
| except Exception as e: | |
| print(f"⚠️ Erro ao verificar cache: {e}") | |
| return True # Não é erro fatal | |
| def check_test_modules(): | |
| """Verifica se os módulos de teste estão funcionando""" | |
| try: | |
| from testes.test_runner import MassiveTestRunner | |
| from testes.test_validator import TestValidator | |
| from testes.report_generator import ReportGenerator | |
| print("✅ Módulos de teste carregados com sucesso") | |
| return True | |
| except Exception as e: | |
| print(f"❌ Erro nos módulos de teste: {e}") | |
| return False | |
| def main(): | |
| """Função principal""" | |
| print("🧪 Sistema de Testes Massivos - AgentGraph") | |
| print("=" * 60) | |
| print("📍 Executando da raiz do projeto para acesso completo aos módulos") | |
| print("=" * 60) | |
| # Verificações pré-execução | |
| checks = [ | |
| ("Dependências", check_dependencies), | |
| ("Configuração AgentGraph", check_agentgraph_setup), | |
| ("Status do Cache", check_cache_disabled), | |
| ("Módulos de Teste", check_test_modules) | |
| ] | |
| print("\n🔍 Verificações pré-execução:") | |
| all_passed = True | |
| for check_name, check_func in checks: | |
| print(f"\n📋 {check_name}:") | |
| if not check_func(): | |
| all_passed = False | |
| if not all_passed: | |
| print("\n❌ Algumas verificações falharam") | |
| print("🔧 Corrija os problemas acima antes de continuar") | |
| return False | |
| print("\n" + "=" * 60) | |
| print("🚀 Todas as verificações passaram!") | |
| print("🌐 Iniciando servidor de testes...") | |
| print("📊 Interface disponível em: http://localhost:5001") | |
| print("🔄 Pressione Ctrl+C para parar") | |
| print("=" * 60) | |
| # Inicia o servidor | |
| try: | |
| from testes.app_teste import app | |
| # Configura logging para Flask | |
| import logging | |
| logging.getLogger('werkzeug').setLevel(logging.WARNING) # Reduz logs do Flask | |
| app.run( | |
| host='0.0.0.0', | |
| port=5001, | |
| debug=True, # Habilita debug para ver logs | |
| threaded=True, | |
| use_reloader=False # Evita restart duplo | |
| ) | |
| except KeyboardInterrupt: | |
| print("\n👋 Sistema de testes encerrado pelo usuário") | |
| except Exception as e: | |
| print(f"\n❌ Erro ao iniciar servidor: {e}") | |
| print("💡 Verifique se a porta 5001 está disponível") | |
| return False | |
| return True | |
| if __name__ == '__main__': | |
| print("🎯 SISTEMA DE TESTES MASSIVOS PARA AGENTGRAPH") | |
| print("=" * 60) | |
| print("📝 FUNCIONALIDADES:") | |
| print("• Testes paralelos com até 8 workers simultâneos") | |
| print("• Comparação de modelos SQL (GPT, Claude, Gemini)") | |
| print("• Teste com/sem Processing Agent") | |
| print("• Validação automática por LLM ou palavra-chave") | |
| print("• Relatórios detalhados em Excel/CSV") | |
| print("• Interface HTML intuitiva") | |
| print("• Métricas de consistência e performance") | |
| print("=" * 60) | |
| success = main() | |
| if success: | |
| print("\n🎉 Sistema executado com sucesso!") | |
| else: | |
| print("\n❌ Erro na execução do sistema") | |
| print("💡 Verifique os logs acima para detalhes") | |
| sys.exit(0 if success else 1) | |