core/tests/components/knx/__init__.py

28 lines
840 B
Python

"""Tests for the KNX integration."""
from unittest.mock import DEFAULT, patch
from homeassistant.components.knx.const import DOMAIN as KNX_DOMAIN
from homeassistant.setup import async_setup_component
async def setup_knx_integration(hass, knx_ip_interface, config=None):
"""Create the KNX gateway."""
if config is None:
config = {}
# To get the XKNX object from the constructor call
def side_effect(*args, **kwargs):
knx_ip_interface.xknx = args[0]
# switch off rate delimiter
knx_ip_interface.xknx.rate_limit = 0
return DEFAULT
with patch(
"xknx.xknx.KNXIPInterface",
return_value=knx_ip_interface,
side_effect=side_effect,
):
await async_setup_component(hass, KNX_DOMAIN, {KNX_DOMAIN: config})
await hass.async_block_till_done()