mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Centralise MockStreamReaderChunked helper (#145404)
centralize MockStreamReaderChunked helper
This commit is contained in:
parent
bffbd5607b
commit
66a6e55310
@ -28,6 +28,14 @@ class MockStreamReader:
|
|||||||
return self._content.read(byte_count)
|
return self._content.read(byte_count)
|
||||||
|
|
||||||
|
|
||||||
|
class MockStreamReaderChunked(MockStreamReader):
|
||||||
|
"""Mock a stream reader with simulated chunked data."""
|
||||||
|
|
||||||
|
async def readchunk(self) -> tuple[bytes, bool]:
|
||||||
|
"""Read bytes."""
|
||||||
|
return (self._content.read(), False)
|
||||||
|
|
||||||
|
|
||||||
class MockPayloadWriter:
|
class MockPayloadWriter:
|
||||||
"""Small mock to imitate payload writer."""
|
"""Small mock to imitate payload writer."""
|
||||||
|
|
||||||
|
@ -24,20 +24,12 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.backup import async_initialize_backup
|
from homeassistant.helpers.backup import async_initialize_backup
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
from homeassistant.util.aiohttp import MockStreamReader
|
from homeassistant.util.aiohttp import MockStreamReaderChunked
|
||||||
|
|
||||||
from tests.test_util.aiohttp import AiohttpClientMocker
|
from tests.test_util.aiohttp import AiohttpClientMocker
|
||||||
from tests.typing import ClientSessionGenerator, MagicMock, WebSocketGenerator
|
from tests.typing import ClientSessionGenerator, MagicMock, WebSocketGenerator
|
||||||
|
|
||||||
|
|
||||||
class MockStreamReaderChunked(MockStreamReader):
|
|
||||||
"""Mock a stream reader with simulated chunked data."""
|
|
||||||
|
|
||||||
async def readchunk(self) -> tuple[bytes, bool]:
|
|
||||||
"""Read bytes."""
|
|
||||||
return (self._content.read(), False)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
async def setup_integration(
|
async def setup_integration(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
@ -1,19 +1,10 @@
|
|||||||
"""Tests for the Immich integration."""
|
"""Tests for the Immich integration."""
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.util.aiohttp import MockStreamReader
|
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
class MockStreamReaderChunked(MockStreamReader):
|
|
||||||
"""Mock a stream reader with simulated chunked data."""
|
|
||||||
|
|
||||||
async def readchunk(self) -> tuple[bytes, bool]:
|
|
||||||
"""Read bytes."""
|
|
||||||
return (self._content.read(), False)
|
|
||||||
|
|
||||||
|
|
||||||
async def setup_integration(hass: HomeAssistant, config_entry: MockConfigEntry) -> None:
|
async def setup_integration(hass: HomeAssistant, config_entry: MockConfigEntry) -> None:
|
||||||
"""Fixture for setting up the component."""
|
"""Fixture for setting up the component."""
|
||||||
config_entry.add_to_hass(hass)
|
config_entry.add_to_hass(hass)
|
||||||
|
@ -23,8 +23,8 @@ from homeassistant.const import (
|
|||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
from homeassistant.util.aiohttp import MockStreamReaderChunked
|
||||||
|
|
||||||
from . import MockStreamReaderChunked
|
|
||||||
from .const import MOCK_ALBUM_WITH_ASSETS, MOCK_ALBUM_WITHOUT_ASSETS
|
from .const import MOCK_ALBUM_WITH_ASSETS, MOCK_ALBUM_WITHOUT_ASSETS
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
@ -23,9 +23,9 @@ from homeassistant.components.media_source import (
|
|||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
from homeassistant.util.aiohttp import MockRequest
|
from homeassistant.util.aiohttp import MockRequest, MockStreamReaderChunked
|
||||||
|
|
||||||
from . import MockStreamReaderChunked, setup_integration
|
from . import setup_integration
|
||||||
from .const import MOCK_ALBUM_WITHOUT_ASSETS
|
from .const import MOCK_ALBUM_WITHOUT_ASSETS
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
@ -34,7 +34,7 @@ from homeassistant.const import (
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.backup import async_initialize_backup
|
from homeassistant.helpers.backup import async_initialize_backup
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
from homeassistant.util.aiohttp import MockStreamReader
|
from homeassistant.util.aiohttp import MockStreamReader, MockStreamReaderChunked
|
||||||
|
|
||||||
from .common import mock_dsm_information
|
from .common import mock_dsm_information
|
||||||
from .consts import HOST, MACS, PASSWORD, PORT, USE_SSL, USERNAME
|
from .consts import HOST, MACS, PASSWORD, PORT, USE_SSL, USERNAME
|
||||||
@ -45,14 +45,6 @@ from tests.typing import ClientSessionGenerator, WebSocketGenerator
|
|||||||
BASE_FILENAME = "Automatic_backup_2025.2.0.dev0_2025-01-09_20.14_35457323"
|
BASE_FILENAME = "Automatic_backup_2025.2.0.dev0_2025-01-09_20.14_35457323"
|
||||||
|
|
||||||
|
|
||||||
class MockStreamReaderChunked(MockStreamReader):
|
|
||||||
"""Mock a stream reader with simulated chunked data."""
|
|
||||||
|
|
||||||
async def readchunk(self) -> tuple[bytes, bool]:
|
|
||||||
"""Read bytes."""
|
|
||||||
return (self._content.read(), False)
|
|
||||||
|
|
||||||
|
|
||||||
async def _mock_download_file(path: str, filename: str) -> MockStreamReader:
|
async def _mock_download_file(path: str, filename: str) -> MockStreamReader:
|
||||||
if filename == f"{BASE_FILENAME}_meta.json":
|
if filename == f"{BASE_FILENAME}_meta.json":
|
||||||
return MockStreamReader(
|
return MockStreamReader(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user