from unittest.mock import AsyncMock from server.client.clients.dsp_api import DspApiClient from tests.helpers import read_json_from_file async def test_youtube_demographics(client, auth, mocker): params = { "video_id": "youtube_niG3YMU6jFk", "start_date": "2022-05-21", "end_date": "2022-06-17", } expected_json_response = { "gender_most_popular": "female", "gender_percentage": "52.356003", "age_band_percentage": "18.49925", "age_band_most_popular": "female_25_34", } dsp_response = read_json_from_file("clients/dsp_api/youtube_demographics") async_mock = AsyncMock(return_value=dsp_response) mocker.patch.object(DspApiClient, "_send_request", side_effect=async_mock) response = await client.get(f"/api/youtube/demographics/", headers=auth, params=params) response_json = await response.json() assert response_json == expected_json_response