Add test for HA stop to devolo Home Control (#116682)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>pull/116697/head
parent
28ab45d5d8
commit
79d50a0685
|
@ -257,9 +257,7 @@ class HomeControlMock(HomeControl):
|
||||||
self.gateway = MagicMock()
|
self.gateway = MagicMock()
|
||||||
self.gateway.local_connection = True
|
self.gateway.local_connection = True
|
||||||
self.gateway.firmware_version = "8.94.0"
|
self.gateway.firmware_version = "8.94.0"
|
||||||
|
self.websocket_disconnect = MagicMock()
|
||||||
def websocket_disconnect(self, event: str = "") -> None:
|
|
||||||
"""Mock disconnect of the websocket."""
|
|
||||||
|
|
||||||
|
|
||||||
class HomeControlMockBinarySensor(HomeControlMock):
|
class HomeControlMockBinarySensor(HomeControlMock):
|
||||||
|
|
|
@ -8,6 +8,7 @@ import pytest
|
||||||
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
|
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
|
||||||
from homeassistant.components.devolo_home_control import DOMAIN
|
from homeassistant.components.devolo_home_control import DOMAIN
|
||||||
from homeassistant.config_entries import ConfigEntryState
|
from homeassistant.config_entries import ConfigEntryState
|
||||||
|
from homeassistant.const import EVENT_HOMEASSISTANT_STOP
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import device_registry as dr
|
from homeassistant.helpers import device_registry as dr
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
@ -63,6 +64,23 @@ async def test_unload_entry(hass: HomeAssistant) -> None:
|
||||||
assert entry.state is ConfigEntryState.NOT_LOADED
|
assert entry.state is ConfigEntryState.NOT_LOADED
|
||||||
|
|
||||||
|
|
||||||
|
async def test_home_assistant_stop(hass: HomeAssistant) -> None:
|
||||||
|
"""Test home assistant stop."""
|
||||||
|
entry = configure_integration(hass)
|
||||||
|
test_gateway = HomeControlMock()
|
||||||
|
test_gateway2 = HomeControlMock()
|
||||||
|
with patch(
|
||||||
|
"homeassistant.components.devolo_home_control.HomeControl",
|
||||||
|
side_effect=[test_gateway, test_gateway2],
|
||||||
|
):
|
||||||
|
await hass.config_entries.async_setup(entry.entry_id)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
hass.bus.async_fire(EVENT_HOMEASSISTANT_STOP)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
assert test_gateway.websocket_disconnect.called
|
||||||
|
assert test_gateway2.websocket_disconnect.called
|
||||||
|
|
||||||
|
|
||||||
async def test_remove_device(
|
async def test_remove_device(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_ws_client: WebSocketGenerator,
|
hass_ws_client: WebSocketGenerator,
|
||||||
|
|
Loading…
Reference in New Issue