refactor: Centralize database session management in a shared dependency module
This commit is contained in:
@@ -57,38 +57,11 @@ def api_client(db_session: Session) -> Generator[TestClient, None, None]:
|
||||
finally:
|
||||
pass
|
||||
|
||||
# override all routers that use get_db
|
||||
from routes import (
|
||||
consumption,
|
||||
costs,
|
||||
distributions,
|
||||
equipment,
|
||||
maintenance,
|
||||
parameters,
|
||||
production,
|
||||
reporting,
|
||||
scenarios,
|
||||
simulations,
|
||||
)
|
||||
from routes import dependencies as route_dependencies
|
||||
|
||||
overrides = {
|
||||
consumption.get_db: override_get_db,
|
||||
costs.get_db: override_get_db,
|
||||
distributions.get_db: override_get_db,
|
||||
equipment.get_db: override_get_db,
|
||||
maintenance.get_db: override_get_db,
|
||||
parameters.get_db: override_get_db,
|
||||
production.get_db: override_get_db,
|
||||
reporting.get_db: override_get_db,
|
||||
scenarios.get_db: override_get_db,
|
||||
simulations.get_db: override_get_db,
|
||||
}
|
||||
|
||||
for dependency, override in overrides.items():
|
||||
app.dependency_overrides[dependency] = override
|
||||
app.dependency_overrides[route_dependencies.get_db] = override_get_db
|
||||
|
||||
with TestClient(app) as client:
|
||||
yield client
|
||||
|
||||
for dependency in overrides:
|
||||
app.dependency_overrides.pop(dependency, None)
|
||||
app.dependency_overrides.pop(route_dependencies.get_db, None)
|
||||
|
||||
Reference in New Issue
Block a user