| 1234567891011121314151617181920212223242526272829303132333435 | import jsonfrom typing import Literalimport httpximport pytestfrom _pytest.monkeypatch import MonkeyPatchclass MockedHttp:    @staticmethod    def httpx_request(        method: Literal["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"], url: str, **kwargs    ) -> httpx.Response:        """        Mocked httpx.request        """        request = httpx.Request(            method, url, params=kwargs.get("params"), headers=kwargs.get("headers"), cookies=kwargs.get("cookies")        )        data = kwargs.get("data")        resp = json.dumps(data).encode("utf-8") if data else b"OK"        response = httpx.Response(            status_code=200,            request=request,            content=resp,        )        return response@pytest.fixturedef setup_http_mock(request, monkeypatch: MonkeyPatch):    monkeypatch.setattr(httpx, "request", MockedHttp.httpx_request)    yield    monkeypatch.undo()
 |