fix: auto-fix code issues (cron)

- 修复重复导入/字段
- 修复异常处理
- 修复PEP8格式问题
- 添加类型注解
- 修复重复函数定义 (health_check, create_webhook_endpoint, etc)
- 修复未定义名称 (SearchOperator, TenantTier, Query, Body, logger)
- 修复 workflow_manager.py 的类定义重复问题
- 添加缺失的导入
This commit is contained in:
OpenClaw Bot
2026-02-27 09:18:58 +08:00
parent 1d55ae8f1e
commit be22b763fa
39 changed files with 12535 additions and 10327 deletions

View File

@@ -10,7 +10,12 @@ InsightFlow Phase 8 Task 6: Developer Ecosystem Test Script
4. 开发者文档与示例代码
"""
import asyncio
from developer_ecosystem_manager import (
DeveloperEcosystemManager,
SDKLanguage, TemplateCategory,
PluginCategory, PluginStatus,
DeveloperStatus
)
import sys
import os
import uuid
@@ -21,18 +26,10 @@ backend_dir = os.path.dirname(os.path.abspath(__file__))
if backend_dir not in sys.path:
sys.path.insert(0, backend_dir)
from developer_ecosystem_manager import (
DeveloperEcosystemManager,
SDKLanguage, SDKStatus,
TemplateCategory, TemplateStatus,
PluginCategory, PluginStatus,
DeveloperStatus
)
class TestDeveloperEcosystem:
"""开发者生态系统测试类"""
def __init__(self):
self.manager = DeveloperEcosystemManager()
self.test_results = []
@@ -44,7 +41,7 @@ class TestDeveloperEcosystem:
'code_example': [],
'portal_config': []
}
def log(self, message: str, success: bool = True):
"""记录测试结果"""
status = "" if success else ""
@@ -54,13 +51,13 @@ class TestDeveloperEcosystem:
'success': success,
'timestamp': datetime.now().isoformat()
})
def run_all_tests(self):
"""运行所有测试"""
print("=" * 60)
print("InsightFlow Phase 8 Task 6: Developer Ecosystem Tests")
print("=" * 60)
# SDK Tests
print("\n📦 SDK Release & Management Tests")
print("-" * 40)
@@ -70,7 +67,7 @@ class TestDeveloperEcosystem:
self.test_sdk_update()
self.test_sdk_publish()
self.test_sdk_version_add()
# Template Market Tests
print("\n📋 Template Market Tests")
print("-" * 40)
@@ -80,7 +77,7 @@ class TestDeveloperEcosystem:
self.test_template_approve()
self.test_template_publish()
self.test_template_review()
# Plugin Market Tests
print("\n🔌 Plugin Market Tests")
print("-" * 40)
@@ -90,7 +87,7 @@ class TestDeveloperEcosystem:
self.test_plugin_review()
self.test_plugin_publish()
self.test_plugin_review_add()
# Developer Profile Tests
print("\n👤 Developer Profile Tests")
print("-" * 40)
@@ -98,29 +95,29 @@ class TestDeveloperEcosystem:
self.test_developer_profile_get()
self.test_developer_verify()
self.test_developer_stats_update()
# Code Examples Tests
print("\n💻 Code Examples Tests")
print("-" * 40)
self.test_code_example_create()
self.test_code_example_list()
self.test_code_example_get()
# Portal Config Tests
print("\n🌐 Developer Portal Tests")
print("-" * 40)
self.test_portal_config_create()
self.test_portal_config_get()
# Revenue Tests
print("\n💰 Developer Revenue Tests")
print("-" * 40)
self.test_revenue_record()
self.test_revenue_summary()
# Print Summary
self.print_summary()
def test_sdk_create(self):
"""测试创建 SDK"""
try:
@@ -142,7 +139,7 @@ class TestDeveloperEcosystem:
)
self.created_ids['sdk'].append(sdk.id)
self.log(f"Created SDK: {sdk.name} ({sdk.id})")
# Create JavaScript SDK
sdk_js = self.manager.create_sdk_release(
name="InsightFlow JavaScript SDK",
@@ -162,27 +159,27 @@ class TestDeveloperEcosystem:
)
self.created_ids['sdk'].append(sdk_js.id)
self.log(f"Created SDK: {sdk_js.name} ({sdk_js.id})")
except Exception as e:
self.log(f"Failed to create SDK: {str(e)}", success=False)
def test_sdk_list(self):
"""测试列出 SDK"""
try:
sdks = self.manager.list_sdk_releases()
self.log(f"Listed {len(sdks)} SDKs")
# Test filter by language
python_sdks = self.manager.list_sdk_releases(language=SDKLanguage.PYTHON)
self.log(f"Found {len(python_sdks)} Python SDKs")
# Test search
search_results = self.manager.list_sdk_releases(search="Python")
self.log(f"Search found {len(search_results)} SDKs")
except Exception as e:
self.log(f"Failed to list SDKs: {str(e)}", success=False)
def test_sdk_get(self):
"""测试获取 SDK 详情"""
try:
@@ -194,7 +191,7 @@ class TestDeveloperEcosystem:
self.log("SDK not found", success=False)
except Exception as e:
self.log(f"Failed to get SDK: {str(e)}", success=False)
def test_sdk_update(self):
"""测试更新 SDK"""
try:
@@ -207,7 +204,7 @@ class TestDeveloperEcosystem:
self.log(f"Updated SDK: {sdk.name}")
except Exception as e:
self.log(f"Failed to update SDK: {str(e)}", success=False)
def test_sdk_publish(self):
"""测试发布 SDK"""
try:
@@ -217,7 +214,7 @@ class TestDeveloperEcosystem:
self.log(f"Published SDK: {sdk.name} (status: {sdk.status.value})")
except Exception as e:
self.log(f"Failed to publish SDK: {str(e)}", success=False)
def test_sdk_version_add(self):
"""测试添加 SDK 版本"""
try:
@@ -234,7 +231,7 @@ class TestDeveloperEcosystem:
self.log(f"Added SDK version: {version.version}")
except Exception as e:
self.log(f"Failed to add SDK version: {str(e)}", success=False)
def test_template_create(self):
"""测试创建模板"""
try:
@@ -259,7 +256,7 @@ class TestDeveloperEcosystem:
)
self.created_ids['template'].append(template.id)
self.log(f"Created template: {template.name} ({template.id})")
# Create free template
template_free = self.manager.create_template(
name="通用实体识别模板",
@@ -274,27 +271,27 @@ class TestDeveloperEcosystem:
)
self.created_ids['template'].append(template_free.id)
self.log(f"Created free template: {template_free.name}")
except Exception as e:
self.log(f"Failed to create template: {str(e)}", success=False)
def test_template_list(self):
"""测试列出模板"""
try:
templates = self.manager.list_templates()
self.log(f"Listed {len(templates)} templates")
# Filter by category
medical_templates = self.manager.list_templates(category=TemplateCategory.MEDICAL)
self.log(f"Found {len(medical_templates)} medical templates")
# Filter by price
free_templates = self.manager.list_templates(max_price=0)
self.log(f"Found {len(free_templates)} free templates")
except Exception as e:
self.log(f"Failed to list templates: {str(e)}", success=False)
def test_template_get(self):
"""测试获取模板详情"""
try:
@@ -304,7 +301,7 @@ class TestDeveloperEcosystem:
self.log(f"Retrieved template: {template.name}")
except Exception as e:
self.log(f"Failed to get template: {str(e)}", success=False)
def test_template_approve(self):
"""测试审核通过模板"""
try:
@@ -317,7 +314,7 @@ class TestDeveloperEcosystem:
self.log(f"Approved template: {template.name}")
except Exception as e:
self.log(f"Failed to approve template: {str(e)}", success=False)
def test_template_publish(self):
"""测试发布模板"""
try:
@@ -327,7 +324,7 @@ class TestDeveloperEcosystem:
self.log(f"Published template: {template.name}")
except Exception as e:
self.log(f"Failed to publish template: {str(e)}", success=False)
def test_template_review(self):
"""测试添加模板评价"""
try:
@@ -343,7 +340,7 @@ class TestDeveloperEcosystem:
self.log(f"Added template review: {review.rating} stars")
except Exception as e:
self.log(f"Failed to add template review: {str(e)}", success=False)
def test_plugin_create(self):
"""测试创建插件"""
try:
@@ -371,7 +368,7 @@ class TestDeveloperEcosystem:
)
self.created_ids['plugin'].append(plugin.id)
self.log(f"Created plugin: {plugin.name} ({plugin.id})")
# Create free plugin
plugin_free = self.manager.create_plugin(
name="数据导出插件",
@@ -386,23 +383,23 @@ class TestDeveloperEcosystem:
)
self.created_ids['plugin'].append(plugin_free.id)
self.log(f"Created free plugin: {plugin_free.name}")
except Exception as e:
self.log(f"Failed to create plugin: {str(e)}", success=False)
def test_plugin_list(self):
"""测试列出插件"""
try:
plugins = self.manager.list_plugins()
self.log(f"Listed {len(plugins)} plugins")
# Filter by category
integration_plugins = self.manager.list_plugins(category=PluginCategory.INTEGRATION)
self.log(f"Found {len(integration_plugins)} integration plugins")
except Exception as e:
self.log(f"Failed to list plugins: {str(e)}", success=False)
def test_plugin_get(self):
"""测试获取插件详情"""
try:
@@ -412,7 +409,7 @@ class TestDeveloperEcosystem:
self.log(f"Retrieved plugin: {plugin.name}")
except Exception as e:
self.log(f"Failed to get plugin: {str(e)}", success=False)
def test_plugin_review(self):
"""测试审核插件"""
try:
@@ -427,7 +424,7 @@ class TestDeveloperEcosystem:
self.log(f"Reviewed plugin: {plugin.name} ({plugin.status.value})")
except Exception as e:
self.log(f"Failed to review plugin: {str(e)}", success=False)
def test_plugin_publish(self):
"""测试发布插件"""
try:
@@ -437,7 +434,7 @@ class TestDeveloperEcosystem:
self.log(f"Published plugin: {plugin.name}")
except Exception as e:
self.log(f"Failed to publish plugin: {str(e)}", success=False)
def test_plugin_review_add(self):
"""测试添加插件评价"""
try:
@@ -453,13 +450,13 @@ class TestDeveloperEcosystem:
self.log(f"Added plugin review: {review.rating} stars")
except Exception as e:
self.log(f"Failed to add plugin review: {str(e)}", success=False)
def test_developer_profile_create(self):
"""测试创建开发者档案"""
try:
# Generate unique user IDs
unique_id = uuid.uuid4().hex[:8]
profile = self.manager.create_developer_profile(
user_id=f"user_dev_{unique_id}_001",
display_name="张三",
@@ -471,7 +468,7 @@ class TestDeveloperEcosystem:
)
self.created_ids['developer'].append(profile.id)
self.log(f"Created developer profile: {profile.display_name} ({profile.id})")
# Create another developer
profile2 = self.manager.create_developer_profile(
user_id=f"user_dev_{unique_id}_002",
@@ -481,10 +478,10 @@ class TestDeveloperEcosystem:
)
self.created_ids['developer'].append(profile2.id)
self.log(f"Created developer profile: {profile2.display_name}")
except Exception as e:
self.log(f"Failed to create developer profile: {str(e)}", success=False)
def test_developer_profile_get(self):
"""测试获取开发者档案"""
try:
@@ -494,7 +491,7 @@ class TestDeveloperEcosystem:
self.log(f"Retrieved developer profile: {profile.display_name}")
except Exception as e:
self.log(f"Failed to get developer profile: {str(e)}", success=False)
def test_developer_verify(self):
"""测试验证开发者"""
try:
@@ -507,7 +504,7 @@ class TestDeveloperEcosystem:
self.log(f"Verified developer: {profile.display_name} ({profile.status.value})")
except Exception as e:
self.log(f"Failed to verify developer: {str(e)}", success=False)
def test_developer_stats_update(self):
"""测试更新开发者统计"""
try:
@@ -517,7 +514,7 @@ class TestDeveloperEcosystem:
self.log(f"Updated developer stats: {profile.plugin_count} plugins, {profile.template_count} templates")
except Exception as e:
self.log(f"Failed to update developer stats: {str(e)}", success=False)
def test_code_example_create(self):
"""测试创建代码示例"""
try:
@@ -540,7 +537,7 @@ print(f"Created project: {project.id}")
)
self.created_ids['code_example'].append(example.id)
self.log(f"Created code example: {example.title}")
# Create JavaScript example
example_js = self.manager.create_code_example(
title="使用 JavaScript SDK 上传文件",
@@ -563,23 +560,23 @@ console.log('Upload complete:', result.id);
)
self.created_ids['code_example'].append(example_js.id)
self.log(f"Created code example: {example_js.title}")
except Exception as e:
self.log(f"Failed to create code example: {str(e)}", success=False)
def test_code_example_list(self):
"""测试列出代码示例"""
try:
examples = self.manager.list_code_examples()
self.log(f"Listed {len(examples)} code examples")
# Filter by language
python_examples = self.manager.list_code_examples(language="python")
self.log(f"Found {len(python_examples)} Python examples")
except Exception as e:
self.log(f"Failed to list code examples: {str(e)}", success=False)
def test_code_example_get(self):
"""测试获取代码示例详情"""
try:
@@ -589,7 +586,7 @@ console.log('Upload complete:', result.id);
self.log(f"Retrieved code example: {example.title} (views: {example.view_count})")
except Exception as e:
self.log(f"Failed to get code example: {str(e)}", success=False)
def test_portal_config_create(self):
"""测试创建开发者门户配置"""
try:
@@ -607,10 +604,10 @@ console.log('Upload complete:', result.id);
)
self.created_ids['portal_config'].append(config.id)
self.log(f"Created portal config: {config.name}")
except Exception as e:
self.log(f"Failed to create portal config: {str(e)}", success=False)
def test_portal_config_get(self):
"""测试获取开发者门户配置"""
try:
@@ -618,15 +615,15 @@ console.log('Upload complete:', result.id);
config = self.manager.get_portal_config(self.created_ids['portal_config'][0])
if config:
self.log(f"Retrieved portal config: {config.name}")
# Test active config
active_config = self.manager.get_active_portal_config()
if active_config:
self.log(f"Active portal config: {active_config.name}")
except Exception as e:
self.log(f"Failed to get portal config: {str(e)}", success=False)
def test_revenue_record(self):
"""测试记录开发者收益"""
try:
@@ -646,7 +643,7 @@ console.log('Upload complete:', result.id);
self.log(f" - Developer earnings: {revenue.developer_earnings}")
except Exception as e:
self.log(f"Failed to record revenue: {str(e)}", success=False)
def test_revenue_summary(self):
"""测试获取开发者收益汇总"""
try:
@@ -659,32 +656,32 @@ console.log('Upload complete:', result.id);
self.log(f" - Transaction count: {summary['transaction_count']}")
except Exception as e:
self.log(f"Failed to get revenue summary: {str(e)}", success=False)
def print_summary(self):
"""打印测试摘要"""
print("\n" + "=" * 60)
print("Test Summary")
print("=" * 60)
total = len(self.test_results)
passed = sum(1 for r in self.test_results if r['success'])
failed = total - passed
print(f"Total tests: {total}")
print(f"Passed: {passed}")
print(f"Failed: {failed}")
if failed > 0:
print("\nFailed tests:")
for r in self.test_results:
if not r['success']:
print(f" - {r['message']}")
print("\nCreated resources:")
for resource_type, ids in self.created_ids.items():
if ids:
print(f" {resource_type}: {len(ids)}")
print("=" * 60)