From 1747578be5f2bf450e0884982094b38962a17fc8 Mon Sep 17 00:00:00 2001 From: Tobias Sauerwein Date: Mon, 4 Oct 2021 01:55:07 +0200 Subject: [PATCH] Fix camera tests (#57020) --- tests/components/netatmo/common.py | 11 +++++++++++ tests/components/netatmo/conftest.py | 3 ++- tests/components/netatmo/test_camera.py | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/components/netatmo/common.py b/tests/components/netatmo/common.py index 5ba989e2504..f2c03ac7de1 100644 --- a/tests/components/netatmo/common.py +++ b/tests/components/netatmo/common.py @@ -71,6 +71,17 @@ async def fake_post_request(*args, **kwargs): ) +async def fake_get_image(*args, **kwargs): + """Return fake data.""" + if "url" not in kwargs: + return "{}" + + endpoint = kwargs["url"].split("/")[-1] + + if endpoint in "snapshot_720.jpg": + return b"test stream image bytes" + + async def fake_post_request_no_data(*args, **kwargs): """Fake error during requesting backend data.""" return "{}" diff --git a/tests/components/netatmo/conftest.py b/tests/components/netatmo/conftest.py index d443802a41d..4d6bbb752f3 100644 --- a/tests/components/netatmo/conftest.py +++ b/tests/components/netatmo/conftest.py @@ -4,7 +4,7 @@ from unittest.mock import AsyncMock, patch import pytest -from .common import ALL_SCOPES, fake_post_request +from .common import ALL_SCOPES, fake_get_image, fake_post_request from tests.common import MockConfigEntry @@ -60,6 +60,7 @@ def netatmo_auth(): "homeassistant.components.netatmo.api.AsyncConfigEntryNetatmoAuth" ) as mock_auth: mock_auth.return_value.async_post_request.side_effect = fake_post_request + mock_auth.return_value.async_get_image.side_effect = fake_get_image mock_auth.return_value.async_addwebhook.side_effect = AsyncMock() mock_auth.return_value.async_dropwebhook.side_effect = AsyncMock() yield diff --git a/tests/components/netatmo/test_camera.py b/tests/components/netatmo/test_camera.py index c8132331bf3..45c8dc48b22 100644 --- a/tests/components/netatmo/test_camera.py +++ b/tests/components/netatmo/test_camera.py @@ -478,6 +478,7 @@ async def test_camera_image_raises_exception(hass, config_entry, requests_mock): "homeassistant.components.webhook.async_generate_url" ): mock_auth.return_value.async_post_request.side_effect = fake_post + mock_auth.return_value.async_get_image.side_effect = fake_post mock_auth.return_value.async_addwebhook.side_effect = AsyncMock() mock_auth.return_value.async_dropwebhook.side_effect = AsyncMock()