100 lines
3.4 KiB
Python
100 lines
3.4 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
快速测试脚本 - 验证节点是否可以正常导入和使用
|
|
|
|
这个脚本可以快速检查:
|
|
1. 节点代码是否可以正常导入
|
|
2. 节点类是否可以实例化
|
|
3. 节点映射是否正确
|
|
"""
|
|
|
|
def quick_test():
|
|
"""快速测试节点基本功能"""
|
|
print("🔍 开始快速测试...\n")
|
|
|
|
try:
|
|
# 1. 测试导入
|
|
print("1. 测试模块导入...")
|
|
from sora_node import (
|
|
SoraClient,
|
|
SoraTextToVideo,
|
|
SoraImageToVideo,
|
|
SoraVideoToVideo,
|
|
NODE_CLASS_MAPPINGS,
|
|
NODE_DISPLAY_NAME_MAPPINGS
|
|
)
|
|
print(" ✓ 模块导入成功\n")
|
|
|
|
# 2. 测试节点类
|
|
print("2. 测试节点类...")
|
|
# Text-to-Video
|
|
node_t2v = SoraTextToVideo()
|
|
input_types = node_t2v.INPUT_TYPES()
|
|
assert "required" in input_types
|
|
assert "prompt" in input_types["required"]
|
|
print(" ✓ SoraTextToVideo 节点正常")
|
|
|
|
# Image-to-Video
|
|
node_i2v = SoraImageToVideo()
|
|
input_types_i2v = node_i2v.INPUT_TYPES()
|
|
assert "image" in input_types_i2v["required"]
|
|
assert "prompt" in input_types_i2v["required"]
|
|
print(" ✓ SoraImageToVideo 节点正常")
|
|
|
|
# Video-to-Video
|
|
node_v2v = SoraVideoToVideo()
|
|
input_types_v2v = node_v2v.INPUT_TYPES()
|
|
assert "video" in input_types_v2v["required"]
|
|
assert "prompt" in input_types_v2v["required"]
|
|
print(" ✓ SoraVideoToVideo 节点正常")
|
|
print(" ✓ 所有节点类实例化成功\n")
|
|
|
|
# 3. 测试节点映射
|
|
print("3. 测试节点映射...")
|
|
assert "SoraTextToVideo" in NODE_CLASS_MAPPINGS
|
|
assert "SoraImageToVideo" in NODE_CLASS_MAPPINGS
|
|
assert "SoraVideoToVideo" in NODE_CLASS_MAPPINGS
|
|
assert NODE_CLASS_MAPPINGS["SoraTextToVideo"] == SoraTextToVideo
|
|
assert NODE_CLASS_MAPPINGS["SoraImageToVideo"] == SoraImageToVideo
|
|
assert NODE_CLASS_MAPPINGS["SoraVideoToVideo"] == SoraVideoToVideo
|
|
assert "SoraTextToVideo" in NODE_DISPLAY_NAME_MAPPINGS
|
|
assert "SoraImageToVideo" in NODE_DISPLAY_NAME_MAPPINGS
|
|
assert "SoraVideoToVideo" in NODE_DISPLAY_NAME_MAPPINGS
|
|
print(" ✓ 所有节点映射正确\n")
|
|
|
|
# 4. 测试客户端初始化(不需要真实 API)
|
|
print("4. 测试客户端类...")
|
|
try:
|
|
client = SoraClient(api_key="test-key-123")
|
|
assert client.api_key == "test-key-123"
|
|
print(" ✓ 客户端类正常\n")
|
|
except Exception as e:
|
|
print(f" ✗ 客户端测试失败: {e}\n")
|
|
|
|
print("=" * 50)
|
|
print("✅ 所有快速测试通过!")
|
|
print("=" * 50)
|
|
print("\n节点已准备好,可以:")
|
|
print(" 1. 复制到 ComfyUI/custom_nodes/ 目录")
|
|
print(" 2. 重启 ComfyUI")
|
|
print(" 3. 在节点菜单中找到以下节点:")
|
|
print(" - Sora Text-To-Video")
|
|
print(" - Sora Image-To-Video")
|
|
print(" - Sora Video-To-Video")
|
|
return True
|
|
|
|
except ImportError as e:
|
|
print(f" ✗ 导入失败: {e}")
|
|
print("\n请确保 sora_node.py 在同一目录下")
|
|
return False
|
|
except Exception as e:
|
|
print(f" ✗ 测试失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
|
|
if __name__ == "__main__":
|
|
quick_test()
|
|
|