From 651e4540af32f27ca9491e4505f5ac556d2e055c Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Tue, 3 Mar 2026 09:29:14 +0800 Subject: [PATCH] test: add comprehensive test suite --- lsfx-mock-server/tests/__init__.py | 1 + lsfx-mock-server/tests/conftest.py | 30 +++++++++++++++++++ lsfx-mock-server/tests/test_api.py | 46 ++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 lsfx-mock-server/tests/__init__.py create mode 100644 lsfx-mock-server/tests/conftest.py create mode 100644 lsfx-mock-server/tests/test_api.py diff --git a/lsfx-mock-server/tests/__init__.py b/lsfx-mock-server/tests/__init__.py new file mode 100644 index 0000000..d4839a6 --- /dev/null +++ b/lsfx-mock-server/tests/__init__.py @@ -0,0 +1 @@ +# Tests package diff --git a/lsfx-mock-server/tests/conftest.py b/lsfx-mock-server/tests/conftest.py new file mode 100644 index 0000000..37c764b --- /dev/null +++ b/lsfx-mock-server/tests/conftest.py @@ -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", + } diff --git a/lsfx-mock-server/tests/test_api.py b/lsfx-mock-server/tests/test_api.py new file mode 100644 index 0000000..c4283d0 --- /dev/null +++ b/lsfx-mock-server/tests/test_api.py @@ -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