-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_modules.py
More file actions
109 lines (83 loc) · 2.97 KB
/
test_modules.py
File metadata and controls
109 lines (83 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/env python3
"""
Simple test script to verify all modules load correctly
"""
import sys
def test_imports():
"""Test that all modules can be imported"""
print("Testing module imports...")
try:
print(" ✓ Importing config...")
import config
print(" ✓ Importing security...")
import security
print(" ✓ Importing logger...")
import logger
print(" ✓ Importing database...")
import database
print(" ✓ Importing risk_manager...")
import risk_manager
print(" ✓ Importing notification_system...")
import notification_system
print(" ✓ Importing data_manager...")
import data_manager
print(" ✓ Importing alpaca_trader...")
import alpaca_trader
print(" ✓ Importing strategy_engine...")
import strategy_engine
print("\n✅ All modules imported successfully!")
return True
except Exception as e:
print(f"\n❌ Import failed: {str(e)}")
import traceback
traceback.print_exc()
return False
def test_basic_functionality():
"""Test basic functionality of key modules"""
print("\nTesting basic functionality...")
try:
from security import InputValidator, RateLimiter
from database import DatabaseManager
from logger import system_logger
# Test input validation
print(" ✓ Testing InputValidator...")
assert InputValidator.validate_symbol("AAPL")
assert InputValidator.validate_quantity(10)
assert InputValidator.validate_price(150.50)
# Test rate limiter
print(" ✓ Testing RateLimiter...")
rl = RateLimiter(max_calls=10, window_seconds=60)
assert rl.check_rate_limit()
# Test database
print(" ✓ Testing DatabaseManager...")
db = DatabaseManager(":memory:") # Use in-memory database
# Test logger
print(" ✓ Testing Logger...")
system_logger.info("Test log message")
print("\n✅ All basic functionality tests passed!")
return True
except Exception as e:
print(f"\n❌ Functionality test failed: {str(e)}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
print("="*60)
print("Stock Trading Platform - Module Test")
print("="*60)
success = True
if not test_imports():
success = False
if not test_basic_functionality():
success = False
print("\n" + "="*60)
if success:
print("✅ ALL TESTS PASSED!")
print("="*60)
print("\nThe trading platform is ready to use.")
print("Run: python trading_platform.py")
sys.exit(0)
else:
print("❌ SOME TESTS FAILED")
print("="*60)
sys.exit(1)