fix: conftest match db changes
This commit is contained in:
parent
1a851859d0
commit
b2921b73b8
1 changed files with 51 additions and 49 deletions
100
test/conftest.py
100
test/conftest.py
|
|
@ -14,7 +14,7 @@ from src.iam.models import Group, Permission, OrgPermissions
|
||||||
from src.auth.service import get_current_user, get_dev_user
|
from src.auth.service import get_current_user, get_dev_user
|
||||||
from src.auth.dependencies import empty_su_list, get_super_admin_list, testing_su_list
|
from src.auth.dependencies import empty_su_list, get_super_admin_list, testing_su_list
|
||||||
from src.main import app # inited FastAPI app
|
from src.main import app # inited FastAPI app
|
||||||
from src.database import engine, get_db
|
from src.database import engine, get_db_session
|
||||||
from src.models import CustomBase
|
from src.models import CustomBase
|
||||||
|
|
||||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||||
|
|
@ -35,51 +35,51 @@ def db_session():
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def default_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
async def default_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
||||||
def get_db_override():
|
def get_db_override():
|
||||||
return db_session
|
return db_session
|
||||||
|
|
||||||
app.dependency_overrides[get_db] = get_db_override
|
app.dependency_overrides[get_db_session] = get_db_override
|
||||||
app.dependency_overrides[get_current_user] = get_dev_user
|
app.dependency_overrides[get_current_user] = get_dev_user
|
||||||
app.dependency_overrides[get_super_admin_list] = testing_su_list
|
app.dependency_overrides[get_super_admin_list] = testing_su_list
|
||||||
transport = ASGITransport(app=app)
|
transport = ASGITransport(app=app)
|
||||||
async with AsyncClient(
|
async with AsyncClient(
|
||||||
transport=transport, base_url="http://localhost:8000/api/v1"
|
transport=transport, base_url="http://localhost:8000/api/v1"
|
||||||
) as ac:
|
) as ac:
|
||||||
yield ac
|
yield ac
|
||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def no_user_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
async def no_user_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
||||||
def get_db_override():
|
def get_db_override():
|
||||||
return db_session
|
return db_session
|
||||||
|
|
||||||
app.dependency_overrides[get_db] = get_db_override
|
app.dependency_overrides[get_db_session] = get_db_override
|
||||||
transport = ASGITransport(app=app)
|
transport = ASGITransport(app=app)
|
||||||
async with AsyncClient(
|
async with AsyncClient(
|
||||||
transport=transport, base_url="http://localhost:8000/api/v1"
|
transport=transport, base_url="http://localhost:8000/api/v1"
|
||||||
) as ac:
|
) as ac:
|
||||||
yield ac
|
yield ac
|
||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
async def no_su_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
async def no_su_client(db_session) -> AsyncGenerator[AsyncClient, None]:
|
||||||
def get_db_override():
|
def get_db_override():
|
||||||
return db_session
|
return db_session
|
||||||
|
|
||||||
app.dependency_overrides[get_db] = get_db_override
|
app.dependency_overrides[get_db_session] = get_db_override
|
||||||
app.dependency_overrides[get_current_user] = get_dev_user
|
app.dependency_overrides[get_current_user] = get_dev_user
|
||||||
app.dependency_overrides[get_super_admin_list] = empty_su_list
|
app.dependency_overrides[get_super_admin_list] = empty_su_list
|
||||||
transport = ASGITransport(app=app)
|
transport = ASGITransport(app=app)
|
||||||
async with AsyncClient(
|
async with AsyncClient(
|
||||||
transport=transport, base_url="http://localhost:8000/api/v1"
|
transport=transport, base_url="http://localhost:8000/api/v1"
|
||||||
) as ac:
|
) as ac:
|
||||||
yield ac
|
yield ac
|
||||||
|
|
||||||
app.dependency_overrides.clear()
|
app.dependency_overrides.clear()
|
||||||
|
|
||||||
|
|
||||||
def _seed(db):
|
def _seed(db):
|
||||||
|
|
@ -256,27 +256,29 @@ def generate_body_and_status(params: dict[str, str]) -> list[tuple[dict, int]]:
|
||||||
|
|
||||||
|
|
||||||
def get_testable_routes():
|
def get_testable_routes():
|
||||||
routes = []
|
routes = []
|
||||||
|
|
||||||
for route in app.routes:
|
for route in app.routes:
|
||||||
if not isinstance(route, APIRoute):
|
if not isinstance(route, APIRoute):
|
||||||
continue
|
continue
|
||||||
|
if not route.methods:
|
||||||
|
continue
|
||||||
|
|
||||||
for method in route.methods:
|
for method in route.methods:
|
||||||
if method in {"HEAD", "OPTIONS"}:
|
if method in {"HEAD", "OPTIONS"}:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
routes.append(
|
routes.append(
|
||||||
(
|
(
|
||||||
method,
|
method,
|
||||||
route.path,
|
route.path,
|
||||||
route.status_code,
|
route.status_code,
|
||||||
route.response_model,
|
route.response_model,
|
||||||
route.summary,
|
route.summary,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
return routes
|
return routes
|
||||||
|
|
||||||
|
|
||||||
# with open("endpoints.txt", "w") as f:
|
# with open("endpoints.txt", "w") as f:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue