from http import HTTPStatus from unittest.mock import AsyncMock import pytest from server.client.clients import DelphiClient @pytest.mark.parametrize( "url,params,result", ( ("/te/st/data", {}, {}), ("/some/test/endpoint/", {"f1": "text", "f2": "i1,i2,i3", "f3": 1}, {"count": 2, "items": [{"a": "b"}]}), ), ) async def test_any_request(url, params, result, mocker, client, auth_header): mocked_result = AsyncMock(return_value=result) mocked_delphi_get = mocker.patch.object(DelphiClient, "get", side_effect=mocked_result) response = await client.get(f"/api/delphi/{url}", params=params, headers=auth_header) assert response.status == HTTPStatus.OK actual_result = await response.json() assert actual_result == result mocked_delphi_get.assert_called_once_with(url, {k: str(v) for k, v in params.items()})