Add mqtt automation publish test with template rendering (#121695)
This commit is contained in:
parent
319fdf42c3
commit
71e5ffb2bd
1 changed files with 29 additions and 1 deletions
|
@ -13,7 +13,7 @@ from freezegun.api import FrozenDateTimeFactory
|
||||||
import pytest
|
import pytest
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components import mqtt
|
from homeassistant.components import automation, mqtt
|
||||||
from homeassistant.components.mqtt import debug_info
|
from homeassistant.components.mqtt import debug_info
|
||||||
from homeassistant.components.mqtt.models import (
|
from homeassistant.components.mqtt.models import (
|
||||||
MessageCallbackType,
|
MessageCallbackType,
|
||||||
|
@ -415,6 +415,34 @@ async def test_publish_function_with_bad_encoding_conditions(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"hass_config",
|
||||||
|
[
|
||||||
|
{
|
||||||
|
automation.DOMAIN: {
|
||||||
|
"trigger": {"platform": "event", "event_type": "test_event"},
|
||||||
|
"action": {
|
||||||
|
"service": "mqtt.publish",
|
||||||
|
"data": {"topic": "test/{{ 4 + 4}}", "payload": "{{ 4 * 4}}"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
)
|
||||||
|
async def test_service_call_with_templates_though_an_automation(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
hass_config: ConfigType,
|
||||||
|
mqtt_mock_entry: MqttMockHAClientGenerator,
|
||||||
|
) -> None:
|
||||||
|
"""Test the service call with templated args through an automation."""
|
||||||
|
await async_setup_component(hass, automation.DOMAIN, hass_config)
|
||||||
|
mqtt_mock = await mqtt_mock_entry()
|
||||||
|
hass.bus.async_fire("test_event")
|
||||||
|
await hass.async_block_till_done(wait_background_tasks=True)
|
||||||
|
|
||||||
|
mqtt_mock.async_publish.assert_called_with("test/8", "16", 0, False)
|
||||||
|
|
||||||
|
|
||||||
def test_validate_topic() -> None:
|
def test_validate_topic() -> None:
|
||||||
"""Test topic name/filter validation."""
|
"""Test topic name/filter validation."""
|
||||||
# Invalid UTF-8, must not contain U+D800 to U+DFFF.
|
# Invalid UTF-8, must not contain U+D800 to U+DFFF.
|
||||||
|
|
Loading…
Add table
Reference in a new issue