from __future__ import annotations import dataclasses from datetime import datetime, timezone from fastapi import HTTPException from fastapi.testclient import TestClient from ariadne.auth.keycloak import AuthContext import ariadne.app as app_module def _client(monkeypatch, ctx: AuthContext) -> TestClient: monkeypatch.setattr(app_module.authenticator, "authenticate", lambda token: ctx) monkeypatch.setattr(app_module.provisioning, "start", lambda: None) monkeypatch.setattr(app_module.scheduler, "start", lambda: None) monkeypatch.setattr(app_module.provisioning, "stop", lambda: None) monkeypatch.setattr(app_module.scheduler, "stop", lambda: None) monkeypatch.setattr(app_module.portal_db, "close", lambda: None) monkeypatch.setattr(app_module.ariadne_db, "close", lambda: None) monkeypatch.setattr(app_module.storage, "record_event", lambda *args, **kwargs: None) monkeypatch.setattr(app_module.storage, "record_task_run", lambda *args, **kwargs: None) return TestClient(app_module.app) __all__ = [name for name in globals() if not name.startswith("__")]