1
0
Fork 0
forked from sr2/cloud-api

feat: super admin handling

The list of super admins now comes from a dependency, allowing it to easily be overrridden during testing.
This commit is contained in:
Chris Milne 2026-06-04 11:48:50 +01:00
parent 3460cd76a5
commit 2ec9cca99c
2 changed files with 26 additions and 33 deletions

View file

@ -10,7 +10,7 @@ from src.organisation.models import Organisation as Org
from src.contact.models import Contact
from src.iam.models import Group, Permission
from src.auth.service import get_current_user, get_dev_user
from src.auth.dependencies import user_model_super_admin, never_super_admin
from src.auth.dependencies import empty_su_list, get_super_admin_list
from src.main import app # inited FastAPI app
from src.database import engine, Base, get_db
@ -51,7 +51,7 @@ async def no_su_client(db_session) -> AsyncGenerator[AsyncClient, None]:
return db_session
app.dependency_overrides[get_db] = get_db_override
app.dependency_overrides[get_current_user] = get_dev_user
app.dependency_overrides[user_model_super_admin] = never_super_admin
app.dependency_overrides[get_super_admin_list] = empty_su_list
transport = ASGITransport(app=app)
async with AsyncClient(transport=transport, base_url="http://localhost:8000/api/v1") as ac:
yield ac