26fa546f67
- 七端口 RBAC、select-identity、JWT、审计 - FastAPI + SQLAlchemy + SQLite,/auth /opc /admin /agents 等路由
21 lines
567 B
Python
21 lines
567 B
Python
# -*- coding: utf-8 -*-
|
||
"""共享夹具:临时 SQLite 数据库 + TestClient(auth 与 rbac 测试共用)。"""
|
||
from __future__ import annotations
|
||
|
||
import pytest
|
||
from fastapi.testclient import TestClient
|
||
|
||
from app.main import app
|
||
from app.repositories import Database
|
||
|
||
|
||
@pytest.fixture()
|
||
def client(tmp_path):
|
||
"""把 app.state.db 换成指向临时 SQLite 的 Database,保证测试隔离。"""
|
||
db = Database(db_url=f"sqlite:///{tmp_path}/test.db")
|
||
db.initialize()
|
||
app.state.db = db
|
||
with TestClient(app) as c:
|
||
yield c
|
||
db.close()
|