| 123456789101112131415161718192021222324252627282930313233343536 | 
							- import json
 
- from typing import Literal
 
- import httpx
 
- import pytest
 
- from _pytest.monkeypatch import MonkeyPatch
 
- class MockedHttp:
 
-     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', None)
 
-         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.fixture
 
- def setup_http_mock(request, monkeypatch: MonkeyPatch):
 
-     monkeypatch.setattr(httpx, "request", MockedHttp.httpx_request)
 
-     yield
 
-     monkeypatch.undo()
 
 
  |