diff --git a/homeassistant/components/switcher_kis/__init__.py b/homeassistant/components/switcher_kis/__init__.py index 43ca0abc2a0..9fb51992cd2 100644 --- a/homeassistant/components/switcher_kis/__init__.py +++ b/homeassistant/components/switcher_kis/__init__.py @@ -63,7 +63,7 @@ async def async_setup(hass: HomeAssistantType, config: Dict) -> bool: try: device_data = await wait_for( - v2bridge.queue.get(), timeout=5.0, loop=hass.loop) + v2bridge.queue.get(), timeout=10.0, loop=hass.loop) except (Asyncio_TimeoutError, RuntimeError): _LOGGER.exception("failed to get response from device") await v2bridge.stop() diff --git a/tests/components/switcher_kis/conftest.py b/tests/components/switcher_kis/conftest.py index d0398d448e9..9f961f72401 100644 --- a/tests/components/switcher_kis/conftest.py +++ b/tests/components/switcher_kis/conftest.py @@ -108,3 +108,25 @@ def mock_bridge_fixture() -> Generator[None, Any, None]: for patcher in patchers: patcher.stop() + + +@fixture(name='mock_failed_bridge') +def mock_failed_bridge_fixture() -> Generator[None, Any, None]: + """Fixture for mocking aioswitcher.bridge.SwitcherV2Bridge.""" + async def mock_queue(): + """Mock asyncio's Queue.""" + raise RuntimeError + + patchers = [ + patch('aioswitcher.bridge.SwitcherV2Bridge.start', return_value=None), + patch('aioswitcher.bridge.SwitcherV2Bridge.stop', return_value=None), + patch('aioswitcher.bridge.SwitcherV2Bridge.queue', get=mock_queue) + ] + + for patcher in patchers: + patcher.start() + + yield + + for patcher in patchers: + patcher.stop() diff --git a/tests/components/switcher_kis/test_init.py b/tests/components/switcher_kis/test_init.py index 0defb113747..33d24903f94 100644 --- a/tests/components/switcher_kis/test_init.py +++ b/tests/components/switcher_kis/test_init.py @@ -13,7 +13,9 @@ from .consts import ( DUMMY_REMAINING_TIME, MANDATORY_CONFIGURATION) -async def test_failed_config(hass: HomeAssistantType) -> None: +async def test_failed_config( + hass: HomeAssistantType, + mock_failed_bridge: Generator[None, Any, None]) -> None: """Test failed configuration.""" assert await async_setup_component( hass, DOMAIN, MANDATORY_CONFIGURATION) is False