完善lsfx mock服务上传状态接口与部署文档
This commit is contained in:
109
lsfx-mock-server/verify_implementation.py
Normal file
109
lsfx-mock-server/verify_implementation.py
Normal file
@@ -0,0 +1,109 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""验证所有7个接口是否正常工作"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 添加项目根目录到 Python 路径
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
|
||||
def test_interfaces():
|
||||
"""测试所有接口"""
|
||||
from services.token_service import TokenService
|
||||
from services.file_service import FileService
|
||||
from services.statement_service import StatementService
|
||||
from utils.error_simulator import ErrorSimulator
|
||||
|
||||
print("=" * 60)
|
||||
print("Interface Alignment Verification Test")
|
||||
print("=" * 60)
|
||||
|
||||
# 1. 验证 TokenService
|
||||
print("\n[1/6] TokenService initialization...")
|
||||
token_svc = TokenService()
|
||||
print(" [OK] TokenService initialized")
|
||||
|
||||
# 2. 验证 FileService
|
||||
print("\n[2/6] FileService initialization...")
|
||||
file_svc = FileService()
|
||||
print(" [OK] FileService initialized")
|
||||
|
||||
# 3. 验证 StatementService
|
||||
print("\n[3/6] StatementService initialization...")
|
||||
stmt_svc = StatementService()
|
||||
print(" [OK] StatementService initialized")
|
||||
|
||||
# 4. 验证错误码
|
||||
print("\n[4/6] Error codes verification...")
|
||||
assert "40100" in ErrorSimulator.ERROR_CODES, "Error code 40100 not found"
|
||||
assert ErrorSimulator.ERROR_CODES["40100"]["message"] == "未知异常", "Error message incorrect"
|
||||
print(" [OK] Error code 40100 added")
|
||||
|
||||
# 5. 验证响应模板文件
|
||||
print("\n[5/6] Response template files verification...")
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
responses_dir = Path("config/responses")
|
||||
|
||||
# 检查 token.json
|
||||
with open(responses_dir / "token.json", encoding='utf-8') as f:
|
||||
token_data = json.load(f)
|
||||
assert isinstance(token_data["success_response"]["data"]["analysisType"], int), "analysisType should be integer"
|
||||
print(" [OK] token.json format correct (analysisType is integer)")
|
||||
|
||||
# 检查 upload_status.json
|
||||
assert (responses_dir / "upload_status.json").exists(), "upload_status.json not found"
|
||||
print(" [OK] upload_status.json created")
|
||||
|
||||
# 检查 bank_statement.json
|
||||
with open(responses_dir / "bank_statement.json", encoding='utf-8') as f:
|
||||
stmt_data = json.load(f)
|
||||
assert len(stmt_data["success_response"]["data"]["bankStatementList"]) > 0, "bankStatementList is empty"
|
||||
print(" [OK] bank_statement.json format correct")
|
||||
|
||||
# 6. 验证 FileRecord 字段
|
||||
print("\n[6/6] FileRecord fields verification...")
|
||||
from services.file_service import FileRecord
|
||||
|
||||
record = FileRecord(
|
||||
log_id=10001,
|
||||
group_id=1000,
|
||||
file_name="test.csv"
|
||||
)
|
||||
|
||||
# 检查所有必需字段是否存在
|
||||
required_fields = [
|
||||
'account_no_list', 'enterprise_name_list', 'bank_name', 'real_bank_name',
|
||||
'template_name', 'data_type_info', 'file_size', 'download_file_name',
|
||||
'file_package_id', 'file_upload_by', 'file_upload_by_user_name',
|
||||
'file_upload_time', 'le_id', 'login_le_id', 'log_type', 'log_meta',
|
||||
'lost_header', 'rows', 'source', 'total_records', 'is_split',
|
||||
'trx_date_start_id', 'trx_date_end_id'
|
||||
]
|
||||
|
||||
for field in required_fields:
|
||||
assert hasattr(record, field), f"FileRecord missing field: {field}"
|
||||
|
||||
print(" [OK] FileRecord contains all {} required fields".format(len(required_fields)))
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("[SUCCESS] All verifications passed!")
|
||||
print("=" * 60)
|
||||
|
||||
print("\nInterface List:")
|
||||
print("1. POST /account/common/getToken")
|
||||
print("2. POST /watson/api/project/remoteUploadSplitFile")
|
||||
print("3. POST /watson/api/project/getJZFileOrZjrcuFile")
|
||||
print("4. POST /watson/api/project/upload/getpendings")
|
||||
print("5. GET /watson/api/project/bs/upload [NEW]")
|
||||
print("6. POST /watson/api/project/batchDeleteUploadFile")
|
||||
print("7. POST /watson/api/project/getBSByLogId")
|
||||
|
||||
print("\nNext Steps:")
|
||||
print("- Run: python main.py")
|
||||
print("- Visit: http://localhost:8000/docs")
|
||||
print("- Test all 7 interfaces")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_interfaces()
|
||||
Reference in New Issue
Block a user