# retoor from __future__ import annotations from typing import Any from fastapi import FastAPI from starlette.testclient import TestClient from devplacepy_services.base.auth import set_internal_gateway_key class ServiceTestClient: def __init__( self, app: FastAPI, *, internal_key: str = "test-internal-key", authenticated_user: str | None = None, ) -> None: set_internal_gateway_key(internal_key) headers: dict[str, str] = {"X-Internal-Key": internal_key} if authenticated_user: headers["X-Authenticated-User"] = authenticated_user self._client = TestClient(app, headers=headers) def get(self, path: str, **kwargs: Any): return self._client.get(path, **kwargs) def post(self, path: str, **kwargs: Any): return self._client.post(path, **kwargs) def put(self, path: str, **kwargs: Any): return self._client.put(path, **kwargs) def delete(self, path: str, **kwargs: Any): return self._client.delete(path, **kwargs) def close(self) -> None: self._client.close()