#!/usr/bin/env python3 """ Test script to demonstrate the new environment loading functionality """ from tradingagents.utils.env_loader import load_environment_variables, print_environment_status, get_llm_config def test_environment_loading(): """Test the environment loading functionality""" print("๐Ÿงช Testing Environment Loading") print("=" * 40) # Test environment loading env_info = load_environment_variables() print(f"\n๐Ÿ“ Environment file: {env_info['env_file_path']}") print(f"๐Ÿ”‘ FinnHub available: {env_info['validation']['finnhub_available']}") print(f"๐Ÿค– LLM providers: {env_info['validation']['llm_providers_available']}") print(f"โœ… All required available: {env_info['validation']['all_required_available']}") if env_info['validation']['warnings']: print("\nโš ๏ธ Warnings:") for warning in env_info['validation']['warnings']: print(f" โ€ข {warning}") return env_info def test_provider_configs(): """Test provider configuration retrieval""" print("\n๐Ÿ”ง Testing Provider Configurations") print("=" * 40) providers = ["openai", "google", "anthropic"] for provider in providers: config = get_llm_config(provider) print(f"\n๐Ÿ“‹ {provider.upper()} Configuration:") print(f" Backend URL: {config.get('backend_url', 'Not needed')}") print(f" Embedding Model: {config.get('embedding_model', 'Unknown')}") print(f" API Key Env: {config.get('api_key_env', 'Unknown')}") quick_models = config.get('supported_models', {}).get('quick_think', []) deep_models = config.get('supported_models', {}).get('deep_think', []) print(f" Quick Think Models: {len(quick_models)} available") print(f" Deep Think Models: {len(deep_models)} available") def test_gemini_specific(): """Test Gemini-specific configuration""" print("\n๐Ÿค– Testing Gemini Configuration") print("=" * 40) google_config = get_llm_config("google") print(f"Backend URL: {google_config.get('backend_url')}") print(f"Embedding Model: {google_config.get('embedding_model')}") if google_config.get('backend_url') is None: print("โœ… Correct: Google doesn't need backend_url") else: print("โŒ Incorrect: Google should not have backend_url") # Test model availability quick_models = google_config.get('supported_models', {}).get('quick_think', []) deep_models = google_config.get('supported_models', {}).get('deep_think', []) print(f"\nAvailable Gemini Models:") print(f" Quick Think: {quick_models}") print(f" Deep Think: {deep_models}") if __name__ == "__main__": print("๐Ÿš€ TradingAgents Environment Testing") print("=" * 50) # Test environment loading env_info = test_environment_loading() # Test provider configurations test_provider_configs() # Test Gemini-specific configuration test_gemini_specific() # Show full environment status print("\n" + "=" * 50) print_environment_status() print("\nโœ… Environment testing completed!")