import sys from pathlib import Path # Add project root to path project_root = Path(__file__).parent sys.path.append(str(project_root)) from services.hf_endpoint_monitor import hf_monitor from core.coordinator import coordinator from utils.config import config import os def test_debug_features(): """Test the enhanced debug features""" print("=== Debug Dashboard Feature Test ===") print() # Test HF Endpoint Monitor Enhanced Features print("1. Testing HF Endpoint Monitor Enhanced Features:") try: # Basic status basic_status = hf_monitor.get_status_summary() print(f" Basic Status: {basic_status}") # Detailed status detailed_status = hf_monitor.get_detailed_status() print(f" Detailed Status Keys: {list(detailed_status.keys())}") # Performance metrics perf_metrics = hf_monitor.get_performance_metrics() print(f" Performance Metrics: {perf_metrics}") print(" ✅ HF Endpoint Monitor Enhanced Features Working") except Exception as e: print(f" ❌ HF Endpoint Monitor Test Failed: {e}") print() # Test Coordinator Status Tracking print("2. Testing Coordinator Status Tracking:") try: # Coordination status coord_status = coordinator.get_coordination_status() print(f" Coordination Status: {coord_status}") # Recent activities (test with demo user) recent_activities = coordinator.get_recent_activities("demo_user") print(f" Recent Activities Keys: {list(recent_activities.keys())}") print(" ✅ Coordinator Status Tracking Working") except Exception as e: print(f" ❌ Coordinator Status Tracking Test Failed: {e}") print() # Test Configuration Display print("3. Testing Configuration Display:") try: print(f" Environment Type: {'HF Space' if config.is_hf_space else 'Local'}") print(f" Fallback Mode: {config.use_fallback}") print(f" HF Token Available: {bool(config.hf_token)}") print(f" Tavily API Key: {bool(os.getenv('TAVILY_API_KEY'))}") print(f" OpenWeather API Key: {bool(config.openweather_api_key)}") # Feature flags features = [] if config.use_fallback: features.append("Fallback Mode") if os.getenv("TAVILY_API_KEY"): features.append("Web Search") if config.openweather_api_key: features.append("Weather Data") if config.hf_token: features.append("Deep Analysis") print(f" Active Features: {', '.join(features) if features else 'None'}") print(" ✅ Configuration Display Working") except Exception as e: print(f" ❌ Configuration Display Test Failed: {e}") print() print("🎉 Debug Dashboard Feature Test Completed!") if __name__ == "__main__": test_debug_features()