#!/usr/bin/env python3 """ šŸš€ Quick Test Script for GAIA Agent Tests basic functionality before deployment """ import os import sys def test_imports(): """Test all required imports""" print("šŸ” Testing imports...") try: import gradio as gr print("āœ… Gradio") except ImportError as e: print(f"āŒ Gradio: {e}") return False try: import requests print("āœ… Requests") except ImportError as e: print(f"āŒ Requests: {e}") return False try: import pandas as pd print("āœ… Pandas") except ImportError as e: print(f"āŒ Pandas: {e}") return False try: from dotenv import load_dotenv print("āœ… Python-dotenv") except ImportError as e: print(f"āŒ Python-dotenv: {e}") return False try: from langchain_core.messages import HumanMessage print("āœ… LangChain Core") except ImportError as e: print(f"āŒ LangChain Core: {e}") return False return True def test_environment(): """Test environment setup""" print("\nšŸ” Testing environment...") # Load environment from dotenv import load_dotenv load_dotenv() # Check API keys api_keys = { "GROQ_API_KEY": os.getenv("GROQ_API_KEY"), "GOOGLE_API_KEY": os.getenv("GOOGLE_API_KEY"), "TAVILY_API_KEY": os.getenv("TAVILY_API_KEY"), } has_llm_key = False for key, value in api_keys.items(): status = "āœ… Set" if value else "āŒ Missing" print(f" {key}: {status}") if key in ["GROQ_API_KEY", "GOOGLE_API_KEY"] and value: has_llm_key = True if not has_llm_key: print("āš ļø WARNING: No LLM API key found!") return False return True def test_agent_import(): """Test agent import""" print("\nšŸ¤– Testing agent import...") try: from atharva.agent import build_graph print("āœ… Agent module imported successfully") return True except ImportError as e: print(f"āŒ Agent import failed: {e}") return False except Exception as e: print(f"āŒ Agent error: {e}") return False def test_app_import(): """Test app import""" print("\nšŸ“± Testing app import...") try: # Test if we can import the app components import atharva.app as app print("āœ… App module imported successfully") return True except ImportError as e: print(f"āŒ App import failed: {e}") return False except Exception as e: print(f"āŒ App error: {e}") return False def main(): """Run all tests""" print("šŸš€ GAIA Agent Deployment Test") print("=" * 50) tests = [ ("Import Test", test_imports), ("Environment Test", test_environment), ("Agent Import Test", test_agent_import), ("App Import Test", test_app_import), ] results = [] for test_name, test_func in tests: try: result = test_func() results.append((test_name, result)) except Exception as e: print(f"āŒ {test_name} crashed: {e}") results.append((test_name, False)) # Summary print("\n" + "=" * 50) print("šŸ“Š Test Results Summary:") passed = sum(1 for _, result in results if result) total = len(results) for test_name, result in results: status = "āœ… PASS" if result else "āŒ FAIL" print(f" {test_name}: {status}") print(f"\nšŸŽÆ Score: {passed}/{total} tests passed") if passed == total: print("šŸŽ‰ All tests passed! Ready for deployment!") return 0 else: print("āš ļø Some tests failed. Please fix issues before deployment.") return 1 if __name__ == "__main__": sys.exit(main())