2018-05-29 20:43:26 +00:00
|
|
|
"""HomeKit session fixtures."""
|
2021-01-01 21:31:56 +00:00
|
|
|
from unittest.mock import patch
|
|
|
|
|
2019-12-08 17:16:49 +00:00
|
|
|
from pyhap.accessory_driver import AccessoryDriver
|
2018-05-29 20:43:26 +00:00
|
|
|
import pytest
|
|
|
|
|
2018-10-16 11:32:53 +00:00
|
|
|
from homeassistant.components.homekit.const import EVENT_HOMEKIT_CHANGED
|
2021-02-26 21:28:52 +00:00
|
|
|
|
|
|
|
from tests.common import async_capture_events
|
2018-10-16 11:32:53 +00:00
|
|
|
|
2018-05-29 20:43:26 +00:00
|
|
|
|
2020-07-06 22:58:53 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def hk_driver(loop):
|
2018-05-29 20:43:26 +00:00
|
|
|
"""Return a custom AccessoryDriver instance for HomeKit accessory init."""
|
2019-07-31 19:25:30 +00:00
|
|
|
with patch("pyhap.accessory_driver.Zeroconf"), patch(
|
|
|
|
"pyhap.accessory_driver.AccessoryEncoder"
|
2021-03-12 06:05:03 +00:00
|
|
|
), patch("pyhap.accessory_driver.HAPServer.async_stop"), patch(
|
|
|
|
"pyhap.accessory_driver.HAPServer.async_start"
|
|
|
|
), patch(
|
2019-07-31 19:25:30 +00:00
|
|
|
"pyhap.accessory_driver.AccessoryDriver.publish"
|
2020-04-16 02:39:31 +00:00
|
|
|
), patch(
|
|
|
|
"pyhap.accessory_driver.AccessoryDriver.persist"
|
2019-07-31 19:25:30 +00:00
|
|
|
):
|
2020-07-06 22:58:53 +00:00
|
|
|
yield AccessoryDriver(pincode=b"123-45-678", address="127.0.0.1", loop=loop)
|
2018-10-16 11:32:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def events(hass):
|
|
|
|
"""Yield caught homekit_changed events."""
|
2021-02-26 21:28:52 +00:00
|
|
|
return async_capture_events(hass, EVENT_HOMEKIT_CHANGED)
|