Fix mqtt reloading and rework tests (#62950)
* Improve mqtt reloading/tests and fix issues * Cleanup fixture for reloading test * isort and black remove replaced test_reloadable
This commit is contained in:
parent
0dab5e69db
commit
061ce0c187
22 changed files with 211 additions and 45 deletions
|
@ -134,6 +134,7 @@ TIMEOUT_ACK = 10
|
||||||
PLATFORMS = [
|
PLATFORMS = [
|
||||||
Platform.ALARM_CONTROL_PANEL,
|
Platform.ALARM_CONTROL_PANEL,
|
||||||
Platform.BINARY_SENSOR,
|
Platform.BINARY_SENSOR,
|
||||||
|
Platform.BUTTON,
|
||||||
Platform.CAMERA,
|
Platform.CAMERA,
|
||||||
Platform.CLIMATE,
|
Platform.CLIMATE,
|
||||||
Platform.COVER,
|
Platform.COVER,
|
||||||
|
@ -142,6 +143,7 @@ PLATFORMS = [
|
||||||
Platform.LIGHT,
|
Platform.LIGHT,
|
||||||
Platform.LOCK,
|
Platform.LOCK,
|
||||||
Platform.NUMBER,
|
Platform.NUMBER,
|
||||||
|
Platform.SELECT,
|
||||||
Platform.SCENE,
|
Platform.SCENE,
|
||||||
Platform.SENSOR,
|
Platform.SENSOR,
|
||||||
Platform.SWITCH,
|
Platform.SWITCH,
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
light:
|
|
||||||
- platform: mqtt
|
|
||||||
name: reload
|
|
||||||
command_topic: "test/set"
|
|
|
@ -51,6 +51,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -806,3 +807,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
tpl_par=tpl_par,
|
tpl_par=tpl_par,
|
||||||
tpl_output=tpl_output,
|
tpl_output=tpl_output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = alarm_control_panel.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -35,6 +35,7 @@ from .test_common import (
|
||||||
help_test_entity_device_info_with_identifier,
|
help_test_entity_device_info_with_identifier,
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_unique_id,
|
help_test_unique_id,
|
||||||
|
@ -829,3 +830,10 @@ async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||||
await help_test_entity_debug_info_message(
|
await help_test_entity_debug_info_message(
|
||||||
hass, mqtt_mock, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = binary_sensor.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -24,6 +24,7 @@ from .test_common import (
|
||||||
help_test_entity_device_info_with_identifier,
|
help_test_entity_device_info_with_identifier,
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -349,3 +350,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = button.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -26,6 +26,7 @@ from .test_common import (
|
||||||
help_test_entity_device_info_with_identifier,
|
help_test_entity_device_info_with_identifier,
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -238,3 +239,10 @@ async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||||
await help_test_entity_debug_info_message(
|
await help_test_entity_debug_info_message(
|
||||||
hass, mqtt_mock, camera.DOMAIN, DEFAULT_CONFIG, "test_topic", b"ON"
|
hass, mqtt_mock, camera.DOMAIN, DEFAULT_CONFIG, "test_topic", b"ON"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = camera.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -48,6 +48,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -1253,3 +1254,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = CLIMATE_DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -4,11 +4,19 @@ from datetime import datetime
|
||||||
import json
|
import json
|
||||||
from unittest.mock import ANY, patch
|
from unittest.mock import ANY, patch
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
from homeassistant import config as hass_config
|
||||||
from homeassistant.components import mqtt
|
from homeassistant.components import mqtt
|
||||||
from homeassistant.components.mqtt import debug_info
|
from homeassistant.components.mqtt import debug_info
|
||||||
from homeassistant.components.mqtt.const import MQTT_DISCONNECTED
|
from homeassistant.components.mqtt.const import MQTT_DISCONNECTED
|
||||||
from homeassistant.components.mqtt.mixins import MQTT_ATTRIBUTES_BLOCKED
|
from homeassistant.components.mqtt.mixins import MQTT_ATTRIBUTES_BLOCKED
|
||||||
from homeassistant.const import ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, STATE_UNAVAILABLE
|
from homeassistant.const import (
|
||||||
|
ATTR_ASSUMED_STATE,
|
||||||
|
ATTR_ENTITY_ID,
|
||||||
|
SERVICE_RELOAD,
|
||||||
|
STATE_UNAVAILABLE,
|
||||||
|
)
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
@ -1383,3 +1391,50 @@ async def help_test_publishing_with_custom_encoding(
|
||||||
"cmd/test5", tpl_output or str(payload)[0].encode("utf-8"), 0, False
|
"cmd/test5", tpl_output or str(payload)[0].encode("utf-8"), 0, False
|
||||||
)
|
)
|
||||||
mqtt_mock.async_publish.reset_mock()
|
mqtt_mock.async_publish.reset_mock()
|
||||||
|
|
||||||
|
|
||||||
|
async def help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config):
|
||||||
|
"""Test reloading an MQTT platform."""
|
||||||
|
# Create and test an old config of 2 entities based on the config supplied
|
||||||
|
old_config_1 = copy.deepcopy(config)
|
||||||
|
old_config_1["name"] = "test_old_1"
|
||||||
|
old_config_2 = copy.deepcopy(config)
|
||||||
|
old_config_2["name"] = "test_old_2"
|
||||||
|
|
||||||
|
assert await async_setup_component(
|
||||||
|
hass, domain, {domain: [old_config_1, old_config_2]}
|
||||||
|
)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
assert hass.states.get(f"{domain}.test_old_1")
|
||||||
|
assert hass.states.get(f"{domain}.test_old_2")
|
||||||
|
assert len(hass.states.async_all(domain)) == 2
|
||||||
|
|
||||||
|
# Create temporary fixture for configuration.yaml based on the supplied config and test a reload with this new config
|
||||||
|
new_config_1 = copy.deepcopy(config)
|
||||||
|
new_config_1["name"] = "test_new_1"
|
||||||
|
new_config_2 = copy.deepcopy(config)
|
||||||
|
new_config_2["name"] = "test_new_2"
|
||||||
|
new_config_3 = copy.deepcopy(config)
|
||||||
|
new_config_3["name"] = "test_new_3"
|
||||||
|
new_yaml_config_file = tmp_path / "configuration.yaml"
|
||||||
|
new_yaml_config = yaml.dump({domain: [new_config_1, new_config_2, new_config_3]})
|
||||||
|
new_yaml_config_file.write_text(new_yaml_config)
|
||||||
|
assert new_yaml_config_file.read_text() == new_yaml_config
|
||||||
|
|
||||||
|
with patch.object(hass_config, "YAML_CONFIG_FILE", new_yaml_config_file):
|
||||||
|
await hass.services.async_call(
|
||||||
|
"mqtt",
|
||||||
|
SERVICE_RELOAD,
|
||||||
|
{},
|
||||||
|
blocking=True,
|
||||||
|
)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
assert "<Event event_mqtt_reloaded[L]>" in caplog.text
|
||||||
|
|
||||||
|
assert len(hass.states.async_all(domain)) == 3
|
||||||
|
|
||||||
|
assert hass.states.get(f"{domain}.test_new_1")
|
||||||
|
assert hass.states.get(f"{domain}.test_new_2")
|
||||||
|
assert hass.states.get(f"{domain}.test_new_3")
|
||||||
|
|
|
@ -62,6 +62,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -3157,3 +3158,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = cover.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -34,6 +34,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -1735,3 +1736,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = fan.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -44,6 +44,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -1123,3 +1124,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = humidifier.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -42,6 +42,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -822,3 +823,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = vacuum.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -158,7 +158,6 @@ from unittest.mock import call, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant import config as hass_config
|
|
||||||
from homeassistant.components import light
|
from homeassistant.components import light
|
||||||
from homeassistant.components.mqtt.light.schema_basic import (
|
from homeassistant.components.mqtt.light.schema_basic import (
|
||||||
MQTT_LIGHT_ATTRIBUTES_BLOCKED,
|
MQTT_LIGHT_ATTRIBUTES_BLOCKED,
|
||||||
|
@ -166,7 +165,6 @@ from homeassistant.components.mqtt.light.schema_basic import (
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_ASSUMED_STATE,
|
ATTR_ASSUMED_STATE,
|
||||||
ATTR_SUPPORTED_FEATURES,
|
ATTR_SUPPORTED_FEATURES,
|
||||||
SERVICE_RELOAD,
|
|
||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
)
|
)
|
||||||
|
@ -191,6 +189,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -199,11 +198,7 @@ from .test_common import (
|
||||||
help_test_update_with_json_attrs_not_dict,
|
help_test_update_with_json_attrs_not_dict,
|
||||||
)
|
)
|
||||||
|
|
||||||
from tests.common import (
|
from tests.common import assert_setup_component, async_fire_mqtt_message
|
||||||
assert_setup_component,
|
|
||||||
async_fire_mqtt_message,
|
|
||||||
get_fixture_path,
|
|
||||||
)
|
|
||||||
from tests.components.light import common
|
from tests.components.light import common
|
||||||
|
|
||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
|
@ -3378,39 +3373,6 @@ async def test_max_mireds(hass, mqtt_mock):
|
||||||
assert state.attributes.get("max_mireds") == 370
|
assert state.attributes.get("max_mireds") == 370
|
||||||
|
|
||||||
|
|
||||||
async def test_reloadable(hass, mqtt_mock):
|
|
||||||
"""Test reloading an mqtt light."""
|
|
||||||
config = {
|
|
||||||
light.DOMAIN: {
|
|
||||||
"platform": "mqtt",
|
|
||||||
"name": "test",
|
|
||||||
"command_topic": "test/set",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assert await async_setup_component(hass, light.DOMAIN, config)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
|
|
||||||
assert hass.states.get("light.test")
|
|
||||||
assert len(hass.states.async_all("light")) == 1
|
|
||||||
|
|
||||||
yaml_path = get_fixture_path("configuration.yaml", "mqtt")
|
|
||||||
|
|
||||||
with patch.object(hass_config, "YAML_CONFIG_FILE", yaml_path):
|
|
||||||
await hass.services.async_call(
|
|
||||||
"mqtt",
|
|
||||||
SERVICE_RELOAD,
|
|
||||||
{},
|
|
||||||
blocking=True,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
|
|
||||||
assert len(hass.states.async_all("light")) == 1
|
|
||||||
|
|
||||||
assert hass.states.get("light.test") is None
|
|
||||||
assert hass.states.get("light.reload")
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"service,topic,parameters,payload,template,tpl_par,tpl_output",
|
"service,topic,parameters,payload,template,tpl_par,tpl_output",
|
||||||
[
|
[
|
||||||
|
@ -3531,3 +3493,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
tpl_par=tpl_par,
|
tpl_par=tpl_par,
|
||||||
tpl_output=tpl_output,
|
tpl_output=tpl_output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = light.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -124,6 +124,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -1963,3 +1964,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
tpl_par=tpl_par,
|
tpl_par=tpl_par,
|
||||||
tpl_output=tpl_output,
|
tpl_output=tpl_output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = light.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -62,6 +62,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -1146,3 +1147,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
tpl_par=tpl_par,
|
tpl_par=tpl_par,
|
||||||
tpl_output=tpl_output,
|
tpl_output=tpl_output,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = light.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -38,6 +38,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -630,3 +631,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = LOCK_DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -44,6 +44,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -681,3 +682,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = number.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -18,6 +18,7 @@ from .test_common import (
|
||||||
help_test_discovery_removal,
|
help_test_discovery_removal,
|
||||||
help_test_discovery_update,
|
help_test_discovery_update,
|
||||||
help_test_discovery_update_unchanged,
|
help_test_discovery_update_unchanged,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_unique_id,
|
help_test_unique_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -175,3 +176,10 @@ async def test_discovery_broken(hass, mqtt_mock, caplog):
|
||||||
await help_test_discovery_broken(
|
await help_test_discovery_broken(
|
||||||
hass, mqtt_mock, caplog, scene.DOMAIN, data1, data2
|
hass, mqtt_mock, caplog, scene.DOMAIN, data1, data2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = scene.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -34,6 +34,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -559,3 +560,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = select.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -42,6 +42,7 @@ from .test_common import (
|
||||||
help_test_entity_disabled_by_default,
|
help_test_entity_disabled_by_default,
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -919,3 +920,10 @@ async def test_value_template_with_entity_id(hass, mqtt_mock):
|
||||||
state = hass.states.get("sensor.test")
|
state = hass.states.get("sensor.test")
|
||||||
|
|
||||||
assert state.state == "101"
|
assert state.state == "101"
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = sensor.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -52,6 +52,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -583,3 +584,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = vacuum.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
|
@ -33,6 +33,7 @@ from .test_common import (
|
||||||
help_test_entity_id_update_discovery_update,
|
help_test_entity_id_update_discovery_update,
|
||||||
help_test_entity_id_update_subscriptions,
|
help_test_entity_id_update_subscriptions,
|
||||||
help_test_publishing_with_custom_encoding,
|
help_test_publishing_with_custom_encoding,
|
||||||
|
help_test_reloadable,
|
||||||
help_test_setting_attribute_via_mqtt_json_message,
|
help_test_setting_attribute_via_mqtt_json_message,
|
||||||
help_test_setting_attribute_with_template,
|
help_test_setting_attribute_with_template,
|
||||||
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
help_test_setting_blocked_attribute_via_mqtt_json_message,
|
||||||
|
@ -515,3 +516,10 @@ async def test_publishing_with_custom_encoding(
|
||||||
payload,
|
payload,
|
||||||
template,
|
template,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def test_reloadable(hass, mqtt_mock, caplog, tmp_path):
|
||||||
|
"""Test reloading the MQTT platform."""
|
||||||
|
domain = switch.DOMAIN
|
||||||
|
config = DEFAULT_CONFIG[domain]
|
||||||
|
await help_test_reloadable(hass, mqtt_mock, caplog, tmp_path, domain, config)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue