Updated non-blocking timout to 10 seconds for fixing timeout issues. (#23930)

* Updated non-blocking timout to 10 seconds for fixing timeout issues.

* Added failed bridge fixture for faster unit tests.
This commit is contained in:
Tomer Figenblat 2019-05-19 12:24:59 +03:00 committed by Paulus Schoutsen
parent ff867a7d57
commit d7d83c683d
3 changed files with 26 additions and 2 deletions

View File

@ -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()

View File

@ -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()

View File

@ -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