import httpx import pytest import respx from campaigns.utils.image import get_image_content from tests.unit.faker import FakerTyped async def test_get_image_content_by_url( respx_mock: respx.MockRouter, fake: FakerTyped ) -> None: image_url = fake.image_url() image_content = fake.bytes() respx_mock.get(image_url).mock( return_value=httpx.Response(status_code=200, content=image_content) ) result = await get_image_content(image_url) assert result == image_content async def test_get_image_content_by_url_not_found( respx_mock: respx.MockRouter, fake: FakerTyped ) -> None: image_url = fake.image_url() respx_mock.get(image_url).mock(return_value=httpx.Response(status_code=404)) with pytest.raises(httpx.HTTPStatusError): await get_image_content(image_url)