92 lines
2.6 KiB
Python
92 lines
2.6 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
# -*- coding: utf-8 -*-
|
||
|
|
"""
|
||
|
|
测试重构后的应用
|
||
|
|
"""
|
||
|
|
|
||
|
|
import sys
|
||
|
|
import os
|
||
|
|
|
||
|
|
# 添加项目路径
|
||
|
|
sys.path.append('src')
|
||
|
|
|
||
|
|
def test_blueprints():
|
||
|
|
"""测试蓝图注册"""
|
||
|
|
try:
|
||
|
|
from src.web.app import app
|
||
|
|
|
||
|
|
print("✓ Flask应用导入成功")
|
||
|
|
|
||
|
|
# 测试蓝图注册
|
||
|
|
blueprints = list(app.blueprints.keys())
|
||
|
|
print(f"✓ 已注册蓝图: {blueprints}")
|
||
|
|
|
||
|
|
expected_blueprints = [
|
||
|
|
'alerts', 'workorders', 'conversations', 'knowledge',
|
||
|
|
'monitoring', 'system', 'feishu_sync', 'core', 'auth',
|
||
|
|
'agent', 'vehicle', 'analytics', 'test'
|
||
|
|
]
|
||
|
|
|
||
|
|
for bp in expected_blueprints:
|
||
|
|
if bp in blueprints:
|
||
|
|
print(f"✓ 蓝图 {bp} 已注册")
|
||
|
|
else:
|
||
|
|
print(f"✗ 蓝图 {bp} 未注册")
|
||
|
|
|
||
|
|
# 测试路由
|
||
|
|
routes = [str(rule) for rule in app.url_map.iter_rules()]
|
||
|
|
agent_routes = [r for r in routes if 'agent' in r]
|
||
|
|
vehicle_routes = [r for r in routes if 'vehicle' in r]
|
||
|
|
analytics_routes = [r for r in routes if 'analytics' in r]
|
||
|
|
|
||
|
|
print(f"✓ Agent相关路由数量: {len(agent_routes)}")
|
||
|
|
print(f"✓ Vehicle相关路由数量: {len(vehicle_routes)}")
|
||
|
|
print(f"✓ Analytics相关路由数量: {len(analytics_routes)}")
|
||
|
|
|
||
|
|
return True
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
print(f"✗ 应用测试失败: {e}")
|
||
|
|
import traceback
|
||
|
|
traceback.print_exc()
|
||
|
|
return False
|
||
|
|
|
||
|
|
def test_blueprint_imports():
|
||
|
|
"""测试蓝图模块导入"""
|
||
|
|
blueprints_to_test = [
|
||
|
|
('src.web.blueprints.agent', 'agent_bp'),
|
||
|
|
('src.web.blueprints.vehicle', 'vehicle_bp'),
|
||
|
|
('src.web.blueprints.analytics', 'analytics_bp'),
|
||
|
|
('src.web.blueprints.test', 'test_bp'),
|
||
|
|
]
|
||
|
|
|
||
|
|
for module_name, bp_name in blueprints_to_test:
|
||
|
|
try:
|
||
|
|
module = __import__(module_name, fromlist=[bp_name])
|
||
|
|
bp = getattr(module, bp_name)
|
||
|
|
print(f"✓ {module_name}.{bp_name} 导入成功")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"✗ {module_name}.{bp_name} 导入失败: {e}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
return True
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
print("开始测试重构后的应用...")
|
||
|
|
print("=" * 50)
|
||
|
|
|
||
|
|
success = True
|
||
|
|
|
||
|
|
print("\n1. 测试蓝图模块导入...")
|
||
|
|
success &= test_blueprint_imports()
|
||
|
|
|
||
|
|
print("\n2. 测试Flask应用和蓝图注册...")
|
||
|
|
success &= test_blueprints()
|
||
|
|
|
||
|
|
print("\n" + "=" * 50)
|
||
|
|
if success:
|
||
|
|
print("✓ 所有测试通过!重构成功!")
|
||
|
|
else:
|
||
|
|
print("✗ 部分测试失败,请检查代码")
|
||
|
|
sys.exit(1)
|