修复了一些错误 更新了AI.md(给ai看的)
This commit is contained in:
132
test_core_functionality.py
Normal file
132
test_core_functionality.py
Normal file
@@ -0,0 +1,132 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
简单测试验证核心功能
|
||||
"""
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 添加项目根目录到路径
|
||||
project_root = Path(__file__).parent
|
||||
sys.path.insert(0, str(project_root))
|
||||
|
||||
def test_imports():
|
||||
"""测试核心模块导入"""
|
||||
try:
|
||||
# 测试配置模块
|
||||
from oss.config import Config, get_config, init_config
|
||||
print("✅ 配置模块导入成功")
|
||||
|
||||
# 测试日志模块
|
||||
from oss.logger.logger import Logger
|
||||
print("✅ 日志模块导入成功")
|
||||
|
||||
# 测试插件类型
|
||||
from oss.plugin.types import Plugin
|
||||
print("✅ 插件类型导入成功")
|
||||
|
||||
# 测试配置功能
|
||||
config = Config()
|
||||
print(f"✅ 配置创建成功: HOST={config.host}")
|
||||
|
||||
# 测试日志功能
|
||||
logger = Logger()
|
||||
logger.info("测试日志消息")
|
||||
print("✅ 日志功能正常")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ 导入测试失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
def test_cors_config():
|
||||
"""测试CORS配置"""
|
||||
try:
|
||||
from oss.config import Config
|
||||
|
||||
config = Config()
|
||||
cors_origins = config.get("CORS_ALLOWED_ORIGINS")
|
||||
print(f"✅ CORS配置: {cors_origins}")
|
||||
|
||||
# 测试环境变量覆盖
|
||||
import os
|
||||
os.environ["CORS_ALLOWED_ORIGINS"] = '["http://localhost:8080"]'
|
||||
config = Config()
|
||||
cors_origins = config.get("CORS_ALLOWED_ORIGINS")
|
||||
print(f"✅ CORS环境变量覆盖: {cors_origins}")
|
||||
|
||||
# 清理
|
||||
del os.environ["CORS_ALLOWED_ORIGINS"]
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ CORS配置测试失败: {e}")
|
||||
return False
|
||||
|
||||
def test_logging_config():
|
||||
"""测试日志配置"""
|
||||
try:
|
||||
from oss.config import Config
|
||||
|
||||
config = Config()
|
||||
print(f"✅ 日志格式: {config.get('LOG_FORMAT')}")
|
||||
print(f"✅ 日志级别: {config.get('LOG_LEVEL')}")
|
||||
print(f"✅ 日志文件: {config.get('LOG_FILE')}")
|
||||
print(f"✅ 日志最大大小: {config.get('LOG_MAX_SIZE')}")
|
||||
print(f"✅ 日志备份数: {config.get('LOG_BACKUP_COUNT')}")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ 日志配置测试失败: {e}")
|
||||
return False
|
||||
|
||||
def test_host_config():
|
||||
"""测试主机配置"""
|
||||
try:
|
||||
from oss.config import Config
|
||||
|
||||
config = Config()
|
||||
print(f"✅ 主机配置: {config.host}")
|
||||
|
||||
# 检查是否修复了默认绑定所有接口的问题
|
||||
if config.host == "127.0.0.1":
|
||||
print("✅ 主机配置已修复:默认绑定本地接口")
|
||||
else:
|
||||
print(f"⚠️ 主机配置可能存在安全风险: {config.host}")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ 主机配置测试失败: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("开始测试NebulaShell核心功能...")
|
||||
|
||||
tests = [
|
||||
("导入测试", test_imports),
|
||||
("CORS配置测试", test_cors_config),
|
||||
("日志配置测试", test_logging_config),
|
||||
("主机配置测试", test_host_config),
|
||||
]
|
||||
|
||||
passed = 0
|
||||
total = len(tests)
|
||||
|
||||
for test_name, test_func in tests:
|
||||
print(f"\n--- {test_name} ---")
|
||||
if test_func():
|
||||
passed += 1
|
||||
else:
|
||||
print(f"❌ {test_name} 失败")
|
||||
|
||||
print(f"\n--- 测试结果 ---")
|
||||
print(f"通过: {passed}/{total}")
|
||||
|
||||
if passed == total:
|
||||
print("🎉 所有测试通过!核心功能正常。")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("❌ 部分测试失败,需要修复。")
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user