mirror of
https://github.com/elisspace/core.git
synced 2026-10-04 00:09:57 +00:00
Make hass.data["mqtt"] an instance of a DataClass (#77972)
* Use dataclass to reference hass.data globals * Add discovery_registry_hooks to dataclass * Move discovery registry hooks to dataclass * Add device triggers to dataclass * Cleanup DEVICE_TRIGGERS const * Add last_discovery to data_class * Simplify typing for class `Subscription` * Follow up on comment * Redo suggested typing change to sasisfy mypy * Restore typing * Add mypy version to CI check logging * revert changes to ci.yaml * Add docstr for protocol Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> * Mypy update after merging #78399 * Remove mypy ignore * Correct return type Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
This commit is contained in:
committed by
Paulus Schoutsen
co-authored by
Marc Mueller
parent
4894e2e5a4
commit
3dd0dbf38f
+1
-1
@@ -369,7 +369,7 @@ def async_fire_mqtt_message(hass, topic, payload, qos=0, retain=False):
|
||||
if isinstance(payload, str):
|
||||
payload = payload.encode("utf-8")
|
||||
msg = ReceiveMessage(topic, payload, qos, retain)
|
||||
hass.data["mqtt"]._mqtt_handle_message(msg)
|
||||
hass.data["mqtt"].client._mqtt_handle_message(msg)
|
||||
|
||||
|
||||
fire_mqtt_message = threadsafe_callback_factory(async_fire_mqtt_message)
|
||||
|
||||
@@ -155,7 +155,7 @@ async def test_manual_config_set(
|
||||
assert await async_setup_component(hass, "mqtt", {"mqtt": {"broker": "bla"}})
|
||||
await hass.async_block_till_done()
|
||||
# do not try to reload
|
||||
del hass.data["mqtt_reload_needed"]
|
||||
hass.data["mqtt"].reload_needed = False
|
||||
assert len(mock_finish_setup.mock_calls) == 0
|
||||
|
||||
mock_try_connection.return_value = True
|
||||
|
||||
@@ -1438,7 +1438,7 @@ async def test_clean_up_registry_monitoring(
|
||||
):
|
||||
"""Test registry monitoring hook is removed after a reload."""
|
||||
await mqtt_mock_entry_no_yaml_config()
|
||||
hooks: dict = hass.data[mqtt.const.DATA_MQTT_DISCOVERY_REGISTRY_HOOKS]
|
||||
hooks: dict = hass.data["mqtt"].discovery_registry_hooks
|
||||
# discover an entity that is not enabled by default
|
||||
config1 = {
|
||||
"name": "sbfspot_12345",
|
||||
|
||||
@@ -1776,14 +1776,14 @@ async def test_delayed_birth_message(
|
||||
await hass.async_block_till_done()
|
||||
|
||||
mqtt_component_mock = MagicMock(
|
||||
return_value=hass.data["mqtt"],
|
||||
spec_set=hass.data["mqtt"],
|
||||
wraps=hass.data["mqtt"],
|
||||
return_value=hass.data["mqtt"].client,
|
||||
spec_set=hass.data["mqtt"].client,
|
||||
wraps=hass.data["mqtt"].client,
|
||||
)
|
||||
mqtt_component_mock._mqttc = mqtt_client_mock
|
||||
|
||||
hass.data["mqtt"] = mqtt_component_mock
|
||||
mqtt_mock = hass.data["mqtt"]
|
||||
hass.data["mqtt"].client = mqtt_component_mock
|
||||
mqtt_mock = hass.data["mqtt"].client
|
||||
mqtt_mock.reset_mock()
|
||||
|
||||
async def wait_birth(topic, payload, qos):
|
||||
|
||||
Reference in New Issue
Block a user