123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #!/usr/bin/env python3
- """
- Test script to verify configuration and CCXT format
- """
- import sys
- import os
- from pathlib import Path
- # Add the project root and src directory to the path
- project_root = Path(__file__).parent.parent
- sys.path.insert(0, str(project_root))
- sys.path.insert(0, str(project_root / 'src'))
- from config import Config
- def test_config():
- """Test configuration setup."""
- print("🧪 Testing Configuration Setup")
- print("=" * 50)
-
- try:
- # Test basic configuration
- print("🔍 Checking environment variables...")
- print(f"📂 Current directory: {os.getcwd()}")
- print(f"📄 .env file exists: {os.path.exists('.env')}")
- print()
-
- # Show raw environment variables
- print("🔑 Raw Environment Variables:")
- print(f" HYPERLIQUID_PRIVATE_KEY: {'✅ Set' if os.getenv('HYPERLIQUID_PRIVATE_KEY') else '❌ Not Set'}")
- print(f" HYPERLIQUID_SECRET_KEY: {'✅ Set' if os.getenv('HYPERLIQUID_SECRET_KEY') else '❌ Not Set'}")
- print(f" HYPERLIQUID_TESTNET: {os.getenv('HYPERLIQUID_TESTNET', 'NOT SET')}")
- print(f" TELEGRAM_BOT_TOKEN: {'✅ Set' if os.getenv('TELEGRAM_BOT_TOKEN') else '❌ Not Set'}")
- print(f" TELEGRAM_CHAT_ID: {'✅ Set' if os.getenv('TELEGRAM_CHAT_ID') else '❌ Not Set'}")
- print(f" TELEGRAM_ENABLED: {os.getenv('TELEGRAM_ENABLED', 'NOT SET')}")
- print()
-
- # Test Config class
- print("⚙️ Config Class Values:")
- print(f" HYPERLIQUID_PRIVATE_KEY: {'✅ Set (' + Config.HYPERLIQUID_PRIVATE_KEY[:10] + '...)' if Config.HYPERLIQUID_PRIVATE_KEY else '❌ Not Set'}")
- print(f" HYPERLIQUID_SECRET_KEY: {'✅ Set (' + Config.HYPERLIQUID_SECRET_KEY[:10] + '...)' if Config.HYPERLIQUID_SECRET_KEY else '❌ Not Set'}")
- print(f" HYPERLIQUID_TESTNET: {Config.HYPERLIQUID_TESTNET}")
- print(f" TELEGRAM_ENABLED: {Config.TELEGRAM_ENABLED}")
- print()
-
- # Test CCXT configuration format
- print("🔧 CCXT Configuration Format:")
- ccxt_config = Config.get_hyperliquid_config()
-
- for key, value in ccxt_config.items():
- if key in ['apiKey', 'secret', 'private_key'] and value:
- print(f" {key}: {value[:10]}...")
- else:
- print(f" {key}: {value}")
- print()
-
- # Test validation
- print("✅ Configuration Validation:")
- is_valid = Config.validate()
-
- if is_valid:
- print("🎉 Configuration is VALID!")
-
- # Show the exact format that will be sent to HyperliquidSync
- final_config = {
- 'apiKey': Config.HYPERLIQUID_PRIVATE_KEY,
- 'testnet': Config.HYPERLIQUID_TESTNET,
- 'sandbox': Config.HYPERLIQUID_TESTNET,
- }
-
- if Config.HYPERLIQUID_SECRET_KEY:
- final_config['secret'] = Config.HYPERLIQUID_SECRET_KEY
-
- print("\n📋 Final CCXT Config (masked):")
- for key, value in final_config.items():
- if key in ['apiKey', 'secret'] and value:
- print(f" '{key}': '{value[:10]}...'")
- else:
- print(f" '{key}': {value}")
-
- return True
- else:
- print("❌ Configuration is INVALID!")
- return False
-
- except Exception as e:
- print(f"💥 Configuration test failed: {e}")
- import traceback
- traceback.print_exc()
- return False
- if __name__ == "__main__":
- success = test_config()
-
- if success:
- print("\n🎉 Config test PASSED!")
- sys.exit(0)
- else:
- print("\n💥 Config test FAILED!")
- sys.exit(1)
|