mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-20 20:39:55 +00:00
refactor(application): 重构应用模块为门户应用,支持租户隔离 feat(portal): 添加门户应用管理功能 perf(health): 新增就绪探针检查,优化健康检查接口 fix(middleware): 修复请求日志中间件的异常处理 style(menu): 调整菜单表格列顺序,优化展示效果 style(table): 优化表格内操作按钮的焦点样式 docs: 更新README文档,修正智能体框架描述 chore(deps): 移除langchain相关依赖,更新项目依赖 test: 添加多租户相关测试用例 ci: 更新CI配置,支持多租户测试环境 build: 更新构建配置,支持租户插件
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import os
|
|
import sys
|
|
|
|
# 必须在首次 import app 之前设置,以便 Settings / database 引擎使用 SQLite 与内存 Redis
|
|
_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
|
sys.path.insert(0, _ROOT)
|
|
|
|
os.environ.setdefault("ENVIRONMENT", "dev")
|
|
os.environ["TESTING"] = "1"
|
|
os.environ["DATABASE_TYPE"] = "sqlite"
|
|
os.environ["DATABASE_NAME"] = os.path.join(_ROOT, "pytest_fastapiadmin")
|
|
|
|
import pytest
|
|
from fastapi.testclient import TestClient
|
|
|
|
from main import create_app
|
|
|
|
# 创建测试客户端(依赖上述环境变量)
|
|
app = create_app()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def test_client():
|
|
"""
|
|
会话级 HTTP 测试客户端(与 ``conftest`` 中单例 ``app`` 对齐,只启动一次生命周期)。
|
|
|
|
若使用 ``module`` 作用域,多个测试文件各开一个 ``TestClient`` 会重复驱动同一
|
|
``app`` 的 lifespan,易导致第二次 ``__enter__`` 时出现 ``CancelledError``。
|
|
|
|
返回:
|
|
- TestClient: 供用例发起的同步测试客户端(yield 注入)。
|
|
"""
|
|
with TestClient(app) as client:
|
|
yield client
|