mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Use config_entry.on_unload rather than local listener implementation in UniFi (#49496)
This commit is contained in:
parent
138226fa14
commit
63616a9e36
@ -101,7 +101,6 @@ class UniFiController:
|
|||||||
self.progress = None
|
self.progress = None
|
||||||
self.wireless_clients = None
|
self.wireless_clients = None
|
||||||
|
|
||||||
self.listeners = []
|
|
||||||
self.site_id: str = ""
|
self.site_id: str = ""
|
||||||
self._site_name = None
|
self._site_name = None
|
||||||
self._site_role = None
|
self._site_role = None
|
||||||
@ -466,10 +465,6 @@ class UniFiController:
|
|||||||
if not unload_ok:
|
if not unload_ok:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
for unsub_dispatcher in self.listeners:
|
|
||||||
unsub_dispatcher()
|
|
||||||
self.listeners = []
|
|
||||||
|
|
||||||
if self._cancel_heartbeat_check:
|
if self._cancel_heartbeat_check:
|
||||||
self._cancel_heartbeat_check()
|
self._cancel_heartbeat_check()
|
||||||
self._cancel_heartbeat_check = None
|
self._cancel_heartbeat_check = None
|
||||||
|
@ -85,7 +85,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||||||
add_device_entities(controller, async_add_entities, devices)
|
add_device_entities(controller, async_add_entities, devices)
|
||||||
|
|
||||||
for signal in (controller.signal_update, controller.signal_options_update):
|
for signal in (controller.signal_update, controller.signal_options_update):
|
||||||
controller.listeners.append(async_dispatcher_connect(hass, signal, items_added))
|
config_entry.async_on_unload(
|
||||||
|
async_dispatcher_connect(hass, signal, items_added)
|
||||||
|
)
|
||||||
|
|
||||||
items_added()
|
items_added()
|
||||||
|
|
||||||
|
@ -41,7 +41,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||||||
add_uptime_entities(controller, async_add_entities, clients)
|
add_uptime_entities(controller, async_add_entities, clients)
|
||||||
|
|
||||||
for signal in (controller.signal_update, controller.signal_options_update):
|
for signal in (controller.signal_update, controller.signal_options_update):
|
||||||
controller.listeners.append(async_dispatcher_connect(hass, signal, items_added))
|
config_entry.async_on_unload(
|
||||||
|
async_dispatcher_connect(hass, signal, items_added)
|
||||||
|
)
|
||||||
|
|
||||||
items_added()
|
items_added()
|
||||||
|
|
||||||
|
@ -86,7 +86,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||||||
add_dpi_entities(controller, async_add_entities, dpi_groups)
|
add_dpi_entities(controller, async_add_entities, dpi_groups)
|
||||||
|
|
||||||
for signal in (controller.signal_update, controller.signal_options_update):
|
for signal in (controller.signal_update, controller.signal_options_update):
|
||||||
controller.listeners.append(async_dispatcher_connect(hass, signal, items_added))
|
config_entry.async_on_unload(
|
||||||
|
async_dispatcher_connect(hass, signal, items_added)
|
||||||
|
)
|
||||||
|
|
||||||
items_added()
|
items_added()
|
||||||
known_poe_clients.clear()
|
known_poe_clients.clear()
|
||||||
|
@ -313,13 +313,10 @@ async def test_reset_after_successful_setup(hass, aioclient_mock):
|
|||||||
config_entry = await setup_unifi_integration(hass, aioclient_mock)
|
config_entry = await setup_unifi_integration(hass, aioclient_mock)
|
||||||
controller = hass.data[UNIFI_DOMAIN][config_entry.entry_id]
|
controller = hass.data[UNIFI_DOMAIN][config_entry.entry_id]
|
||||||
|
|
||||||
assert len(controller.listeners) == 6
|
|
||||||
|
|
||||||
result = await controller.async_reset()
|
result = await controller.async_reset()
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert result is True
|
assert result is True
|
||||||
assert len(controller.listeners) == 0
|
|
||||||
|
|
||||||
|
|
||||||
async def test_reset_fails(hass, aioclient_mock):
|
async def test_reset_fails(hass, aioclient_mock):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user