test: add comprehensive test suite

This commit is contained in:
wkc
2026-03-03 09:29:14 +08:00
parent 661fa88839
commit 651e4540af
3 changed files with 77 additions and 0 deletions

View File

@@ -0,0 +1 @@
# Tests package

View File

@@ -0,0 +1,30 @@
"""
Pytest 配置和共享 fixtures
"""
import pytest
from fastapi.testclient import TestClient
import sys
import os
# 添加项目根目录到 sys.path
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from main import app
@pytest.fixture
def client():
"""创建测试客户端"""
return TestClient(app)
@pytest.fixture
def sample_token_request():
"""示例 Token 请求"""
return {
"projectNo": "test_project_001",
"entityName": "测试企业",
"userId": "902001",
"userName": "902001",
"orgCode": "902000",
}

View File

@@ -0,0 +1,46 @@
"""
API 端点测试
"""
def test_root_endpoint(client):
"""测试根路径"""
response = client.get("/")
assert response.status_code == 200
data = response.json()
assert data["status"] == "running"
assert "swagger_docs" in data
def test_health_check(client):
"""测试健康检查端点"""
response = client.get("/health")
assert response.status_code == 200
data = response.json()
assert data["status"] == "healthy"
def test_get_token_success(client, sample_token_request):
"""测试获取 Token - 成功场景"""
response = client.post("/account/common/getToken", json=sample_token_request)
assert response.status_code == 200
data = response.json()
assert data["code"] == "200"
assert "token" in data["data"]
assert "projectId" in data["data"]
def test_get_token_error_40101(client):
"""测试获取 Token - 错误场景 40101"""
request_data = {
"projectNo": "test_error_40101",
"entityName": "测试企业",
"userId": "902001",
"userName": "902001",
"orgCode": "902000",
}
response = client.post("/account/common/getToken", json=request_data)
assert response.status_code == 200
data = response.json()
assert data["code"] == "40101"
assert data["successResponse"] == False