forked from retoor/devplacepy
update
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
|
||||
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()
|
||||
Reference in New Issue
Block a user