117 lines
3.9 KiB
Python
117 lines
3.9 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
测试资源分类管理CLI功能
|
||
"""
|
||
|
||
import sys
|
||
import os
|
||
sys.path.insert(0, '/root/projects/mixvideo_v2')
|
||
|
||
from python_core.services.resource_category_manager import ResourceCategoryManager
|
||
|
||
def test_category_manager():
|
||
"""测试分类管理器基本功能"""
|
||
print("🧪 测试资源分类管理器...")
|
||
|
||
try:
|
||
# 创建管理器
|
||
manager = ResourceCategoryManager()
|
||
print("✅ ResourceCategoryManager 初始化成功")
|
||
|
||
# 创建测试分类
|
||
result1 = manager.create_category('商业', '商业相关的视频内容', '#FF6B6B')
|
||
print(f"✅ 创建分类1: {result1['title']} (ID: {result1['id'][:8]})")
|
||
|
||
result2 = manager.create_category('教育', '教育培训相关内容', '#4ECDC4')
|
||
print(f"✅ 创建分类2: {result2['title']} (ID: {result2['id'][:8]})")
|
||
|
||
result3 = manager.create_category('娱乐', '娱乐休闲相关内容', '#45B7D1')
|
||
print(f"✅ 创建分类3: {result3['title']} (ID: {result3['id'][:8]})")
|
||
|
||
# 获取所有分类
|
||
categories = manager.get_all_categories()
|
||
print(f"✅ 获取到 {len(categories)} 个分类")
|
||
|
||
# 搜索分类
|
||
search_results = manager.search_categories('商业')
|
||
print(f"✅ 搜索'商业'找到 {len(search_results)} 个结果")
|
||
|
||
# 更新分类
|
||
updated = manager.update_category(result1['id'], title='商业推广', color='#FF5555')
|
||
if updated:
|
||
print(f"✅ 更新分类成功: {updated['title']}")
|
||
|
||
# 获取单个分类
|
||
category = manager.get_category_by_id(result2['id'])
|
||
if category:
|
||
print(f"✅ 获取分类详情: {category['title']}")
|
||
|
||
print("\n📋 所有分类列表:")
|
||
for i, cat in enumerate(categories, 1):
|
||
print(f" {i}. {cat['title']} - {cat['color']} - {cat['ai_prompt'][:20]}...")
|
||
|
||
print("\n🎉 所有测试通过!")
|
||
return True
|
||
|
||
except Exception as e:
|
||
print(f"❌ 测试失败: {e}")
|
||
return False
|
||
|
||
def test_cli_import():
|
||
"""测试CLI模块导入"""
|
||
print("\n🧪 测试CLI模块导入...")
|
||
|
||
try:
|
||
from python_core.cli.commands.category import category_app
|
||
print("✅ category CLI模块导入成功")
|
||
|
||
from python_core.cli.cli import app
|
||
print("✅ 主CLI应用导入成功")
|
||
|
||
# 检查命令是否注册
|
||
commands = [cmd.name for cmd in app.registered_commands.values()]
|
||
groups = [group.name for group in app.registered_groups.values()]
|
||
|
||
print(f"✅ 注册的命令: {commands}")
|
||
print(f"✅ 注册的命令组: {groups}")
|
||
|
||
if 'category' in groups:
|
||
print("✅ category命令组已正确注册")
|
||
else:
|
||
print("❌ category命令组未注册")
|
||
return False
|
||
|
||
print("🎉 CLI导入测试通过!")
|
||
return True
|
||
|
||
except Exception as e:
|
||
print(f"❌ CLI导入测试失败: {e}")
|
||
return False
|
||
|
||
def main():
|
||
"""主测试函数"""
|
||
print("🚀 开始测试资源分类管理CLI集成...")
|
||
|
||
# 测试分类管理器
|
||
manager_ok = test_category_manager()
|
||
|
||
# 测试CLI导入
|
||
cli_ok = test_cli_import()
|
||
|
||
if manager_ok and cli_ok:
|
||
print("\n🎉 所有测试通过!资源分类管理CLI集成成功!")
|
||
|
||
print("\n📖 使用方法:")
|
||
print(" python3 -m python_core.cli category --help")
|
||
print(" python3 -m python_core.cli category list")
|
||
print(" python3 -m python_core.cli category create '标题' 'AI提示词' '#颜色'")
|
||
print(" python3 -m python_core.cli category search '关键词'")
|
||
print(" python3 -m python_core.cli category stats")
|
||
|
||
else:
|
||
print("\n❌ 测试失败!")
|
||
sys.exit(1)
|
||
|
||
if __name__ == "__main__":
|
||
main()
|