Fix deconz tests that have uncaught exceptions (#33462)

This commit is contained in:
Eugenio Panadero 2020-03-31 18:19:34 +02:00 committed by GitHub
parent 977f1a6916
commit f2f03cf552
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 9 deletions

View file

@ -86,9 +86,10 @@ class DeconzDevice(DeconzBase, Entity):
async def async_will_remove_from_hass(self) -> None: async def async_will_remove_from_hass(self) -> None:
"""Disconnect device object when removed.""" """Disconnect device object when removed."""
self._device.remove_callback(self.async_update_callback) self._device.remove_callback(self.async_update_callback)
del self.gateway.deconz_ids[self.entity_id] if self.entity_id in self.gateway.deconz_ids:
for unsub_dispatcher in self.listeners: del self.gateway.deconz_ids[self.entity_id]
unsub_dispatcher() for unsub_dispatcher in self.listeners:
unsub_dispatcher()
async def async_remove_self(self, deconz_ids: list) -> None: async def async_remove_self(self, deconz_ids: list) -> None:
"""Schedule removal of this entity. """Schedule removal of this entity.

View file

@ -31,7 +31,7 @@ from .errors import AuthenticationRequired, CannotConnect
@callback @callback
def get_gateway_from_config_entry(hass, config_entry): def get_gateway_from_config_entry(hass, config_entry):
"""Return gateway with a matching bridge id.""" """Return gateway with a matching bridge id."""
return hass.data[DOMAIN][config_entry.unique_id] return hass.data[DOMAIN].get(config_entry.unique_id)
class DeconzGateway: class DeconzGateway:
@ -126,6 +126,8 @@ class DeconzGateway:
Causes for this is either discovery updating host address or config entry options changing. Causes for this is either discovery updating host address or config entry options changing.
""" """
gateway = get_gateway_from_config_entry(hass, entry) gateway = get_gateway_from_config_entry(hass, entry)
if not gateway:
return
if gateway.api.host != entry.data[CONF_HOST]: if gateway.api.host != entry.data[CONF_HOST]:
gateway.api.close() gateway.api.close()
gateway.api.host = entry.data[CONF_HOST] gateway.api.host = entry.data[CONF_HOST]

View file

@ -6,11 +6,6 @@ IGNORE_UNCAUGHT_EXCEPTIONS = [
("tests.components.cast.test_media_player", "test_entry_setup_platform_not_ready"), ("tests.components.cast.test_media_player", "test_entry_setup_platform_not_ready"),
("tests.components.config.test_automation", "test_delete_automation"), ("tests.components.config.test_automation", "test_delete_automation"),
("tests.components.config.test_group", "test_update_device_config"), ("tests.components.config.test_group", "test_update_device_config"),
("tests.components.deconz.test_binary_sensor", "test_allow_clip_sensor"),
("tests.components.deconz.test_climate", "test_clip_climate_device"),
("tests.components.deconz.test_init", "test_unload_entry_multiple_gateways"),
("tests.components.deconz.test_light", "test_disable_light_groups"),
("tests.components.deconz.test_sensor", "test_allow_clip_sensors"),
("tests.components.default_config.test_init", "test_setup"), ("tests.components.default_config.test_init", "test_setup"),
("tests.components.demo.test_init", "test_setting_up_demo"), ("tests.components.demo.test_init", "test_setting_up_demo"),
("tests.components.discovery.test_init", "test_discover_config_flow"), ("tests.components.discovery.test_init", "test_discover_config_flow"),