1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-16 13:31:01 +01:00
Files
core/tests/components/usb/conftest.py
T
2026-04-16 10:45:37 +03:00

37 lines
1.2 KiB
Python

"""Fixtures for USB Discovery integration tests."""
from unittest.mock import MagicMock, patch
from aiousbwatcher import InotifyNotAvailableError
import pytest
from homeassistant.components.usb import DOMAIN
from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component
from . import patch_scanned_serial_ports
@pytest.fixture(name="force_usb_polling_watcher")
def force_usb_polling_watcher():
"""Patch the USB integration to not use inotify and fall back to polling."""
with patch(
"homeassistant.components.usb.AIOUSBWatcher.async_start",
side_effect=InotifyNotAvailableError,
):
yield
@pytest.fixture(name="setup_usb")
async def setup_usb_fixture(
hass: HomeAssistant, force_usb_polling_watcher: None
) -> MagicMock:
"""Set up USB integration and return the scanned serial ports mock."""
with (
patch("homeassistant.components.usb.async_get_usb", return_value=[]),
patch_scanned_serial_ports(return_value=[]) as mock_serial_ports,
):
assert await async_setup_component(hass, DOMAIN, {"usb": {}})
await hass.async_block_till_done()
yield mock_serial_ports