Add mqtt common tests for availability (part2) (#89805)
* update test_availability_when_connection_lost * Adjust test_availability_without_topic * Update test_default_availability_payload + helper * Update test_default_availability_list_payload * Use helper for async_setup_component * Update test_default_availability_list_* * Update test_custom_availability_payload
This commit is contained in:
parent
0303618705
commit
91dbda1ce7
23 changed files with 290 additions and 289 deletions
|
@ -593,49 +593,48 @@ async def test_attributes_code_text(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_CODE])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass,
|
hass, mqtt_mock_entry_no_yaml_config, alarm_control_panel.DOMAIN
|
||||||
mqtt_mock_entry_with_yaml_config,
|
|
||||||
alarm_control_panel.DOMAIN,
|
|
||||||
DEFAULT_CONFIG_CODE,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_CODE])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
alarm_control_panel.DOMAIN,
|
alarm_control_panel.DOMAIN,
|
||||||
DEFAULT_CONFIG_CODE,
|
DEFAULT_CONFIG_CODE,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
alarm_control_panel.DOMAIN,
|
alarm_control_panel.DOMAIN,
|
||||||
DEFAULT_CONFIG_CODE,
|
DEFAULT_CONFIG_CODE,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
alarm_control_panel.DOMAIN,
|
alarm_control_panel.DOMAIN,
|
||||||
DEFAULT_CONFIG,
|
DEFAULT_CONFIG,
|
||||||
)
|
)
|
||||||
|
|
|
@ -547,51 +547,41 @@ async def test_invalid_device_class(
|
||||||
assert "Invalid config for [mqtt]: expected BinarySensorDeviceClass" in caplog.text
|
assert "Invalid config for [mqtt]: expected BinarySensorDeviceClass" in caplog.text
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass,
|
hass, mqtt_mock_entry_no_yaml_config, binary_sensor.DOMAIN
|
||||||
mqtt_mock_entry_with_yaml_config,
|
|
||||||
binary_sensor.DOMAIN,
|
|
||||||
DEFAULT_CONFIG,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass,
|
hass, mqtt_mock_entry_no_yaml_config, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
mqtt_mock_entry_with_yaml_config,
|
|
||||||
binary_sensor.DOMAIN,
|
|
||||||
DEFAULT_CONFIG,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass, mqtt_mock_entry_no_yaml_config, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
mqtt_mock_entry_with_yaml_config,
|
|
||||||
binary_sensor.DOMAIN,
|
|
||||||
DEFAULT_CONFIG,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass, mqtt_mock_entry_no_yaml_config, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
mqtt_mock_entry_with_yaml_config,
|
|
||||||
binary_sensor.DOMAIN,
|
|
||||||
DEFAULT_CONFIG,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -136,26 +136,28 @@ async def test_command_template(
|
||||||
mqtt_mock.async_publish.reset_mock()
|
mqtt_mock.async_publish.reset_mock()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, button.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, button.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, button.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, button.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -167,10 +169,9 @@ async def test_default_availability_payload(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
button.DOMAIN,
|
button.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
@ -180,7 +181,7 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -195,7 +196,7 @@ async def test_custom_availability_payload(
|
||||||
|
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
button.DOMAIN,
|
button.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -157,39 +157,41 @@ async def test_camera_b64_encoded_with_availability(
|
||||||
assert body == "grass"
|
assert body == "grass"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, camera.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, camera.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1042,39 +1042,41 @@ async def test_set_aux(
|
||||||
assert state.attributes.get("aux_heat") == "off"
|
assert state.attributes.get("aux_heat") == "off"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, climate.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, climate.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,13 +27,17 @@ from homeassistant.const import (
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.generated.mqtt import MQTT
|
from homeassistant.generated.mqtt import MQTT
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import (
|
||||||
|
config_validation as cv,
|
||||||
|
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.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
from homeassistant.setup import async_setup_component
|
from homeassistant.setup import async_setup_component
|
||||||
|
|
||||||
from tests.common import MockConfigEntry, async_fire_mqtt_message
|
from tests.common import MockConfigEntry, async_fire_mqtt_message
|
||||||
from tests.typing import MqttMockHAClientGenerator, MqttMockPahoClient
|
from tests.typing import MqttMockHAClient, MqttMockHAClientGenerator, MqttMockPahoClient
|
||||||
|
|
||||||
DEFAULT_CONFIG_DEVICE_INFO_ID = {
|
DEFAULT_CONFIG_DEVICE_INFO_ID = {
|
||||||
"identifiers": ["helloworld"],
|
"identifiers": ["helloworld"],
|
||||||
|
@ -82,16 +86,46 @@ def help_test_validate_platform_config(
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
async def help_test_availability_when_connection_lost(
|
async def help_setup_component(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry: MqttMockHAClientGenerator | None,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
|
use_discovery: bool = False,
|
||||||
|
) -> MqttMockHAClient | None:
|
||||||
|
"""Help to set up the MQTT component."""
|
||||||
|
# `async_setup_component` will call `async_setup` and
|
||||||
|
# after that it will also start the entry `async_start_entry`
|
||||||
|
# when `async_setup` removed mqtt_mock_entry_with_no_config should be awaited.
|
||||||
|
|
||||||
|
if use_discovery:
|
||||||
|
comp_config = cv.ensure_list(config[mqtt.DOMAIN][domain])
|
||||||
|
item = 0
|
||||||
|
assert mqtt_mock_entry is not None
|
||||||
|
mqtt_mock = await mqtt_mock_entry()
|
||||||
|
for comp in comp_config:
|
||||||
|
item += 1
|
||||||
|
topic = f"homeassistant/{domain}/item_{item}/config"
|
||||||
|
async_fire_mqtt_message(hass, topic, json.dumps(comp))
|
||||||
|
else:
|
||||||
|
await async_setup_component(
|
||||||
|
hass,
|
||||||
|
mqtt.DOMAIN,
|
||||||
|
config,
|
||||||
|
)
|
||||||
|
mqtt_mock = None
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
return mqtt_mock
|
||||||
|
|
||||||
|
|
||||||
|
async def help_test_availability_when_connection_lost(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
|
domain: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
assert await async_setup_component(hass, mqtt.DOMAIN, config)
|
mqtt_mock = await mqtt_mock_entry_no_yaml_config()
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
mqtt_mock = await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state != STATE_UNAVAILABLE
|
assert state and state.state != STATE_UNAVAILABLE
|
||||||
|
@ -106,15 +140,14 @@ async def help_test_availability_when_connection_lost(
|
||||||
|
|
||||||
async def help_test_availability_without_topic(
|
async def help_test_availability_without_topic(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
assert "availability_topic" not in config[mqtt.DOMAIN][domain]
|
assert "availability_topic" not in config[mqtt.DOMAIN][domain]
|
||||||
assert await async_setup_component(hass, mqtt.DOMAIN, config)
|
await mqtt_mock_entry_no_yaml_config()
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state != STATE_UNAVAILABLE
|
assert state and state.state != STATE_UNAVAILABLE
|
||||||
|
@ -122,7 +155,7 @@ async def help_test_availability_without_topic(
|
||||||
|
|
||||||
async def help_test_default_availability_payload(
|
async def help_test_default_availability_payload(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_with_no_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
no_assumed_state: bool = False,
|
no_assumed_state: bool = False,
|
||||||
|
@ -136,13 +169,8 @@ async def help_test_default_availability_payload(
|
||||||
# Add availability settings to config
|
# Add availability settings to config
|
||||||
config = copy.deepcopy(config)
|
config = copy.deepcopy(config)
|
||||||
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
||||||
assert await async_setup_component(
|
|
||||||
hass,
|
await help_setup_component(hass, mqtt_mock_entry_with_no_config, domain, config)
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state == STATE_UNAVAILABLE
|
assert state and state.state == STATE_UNAVAILABLE
|
||||||
|
@ -173,7 +201,7 @@ async def help_test_default_availability_payload(
|
||||||
|
|
||||||
async def help_test_default_availability_list_payload(
|
async def help_test_default_availability_list_payload(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_with_no_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
no_assumed_state: bool = False,
|
no_assumed_state: bool = False,
|
||||||
|
@ -190,13 +218,7 @@ async def help_test_default_availability_list_payload(
|
||||||
{"topic": "availability-topic1"},
|
{"topic": "availability-topic1"},
|
||||||
{"topic": "availability-topic2"},
|
{"topic": "availability-topic2"},
|
||||||
]
|
]
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_with_no_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state == STATE_UNAVAILABLE
|
assert state and state.state == STATE_UNAVAILABLE
|
||||||
|
@ -239,7 +261,7 @@ async def help_test_default_availability_list_payload(
|
||||||
|
|
||||||
async def help_test_default_availability_list_payload_all(
|
async def help_test_default_availability_list_payload_all(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
no_assumed_state: bool = False,
|
no_assumed_state: bool = False,
|
||||||
|
@ -257,13 +279,7 @@ async def help_test_default_availability_list_payload_all(
|
||||||
{"topic": "availability-topic1"},
|
{"topic": "availability-topic1"},
|
||||||
{"topic": "availability-topic2"},
|
{"topic": "availability-topic2"},
|
||||||
]
|
]
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state == STATE_UNAVAILABLE
|
assert state and state.state == STATE_UNAVAILABLE
|
||||||
|
@ -307,7 +323,7 @@ async def help_test_default_availability_list_payload_all(
|
||||||
|
|
||||||
async def help_test_default_availability_list_payload_any(
|
async def help_test_default_availability_list_payload_any(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
no_assumed_state: bool = False,
|
no_assumed_state: bool = False,
|
||||||
|
@ -325,13 +341,7 @@ async def help_test_default_availability_list_payload_any(
|
||||||
{"topic": "availability-topic1"},
|
{"topic": "availability-topic1"},
|
||||||
{"topic": "availability-topic2"},
|
{"topic": "availability-topic2"},
|
||||||
]
|
]
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state == STATE_UNAVAILABLE
|
assert state and state.state == STATE_UNAVAILABLE
|
||||||
|
@ -384,20 +394,17 @@ async def help_test_default_availability_list_single(
|
||||||
{"topic": "availability-topic1"},
|
{"topic": "availability-topic1"},
|
||||||
]
|
]
|
||||||
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
||||||
assert not await async_setup_component(
|
help_test_validate_platform_config(hass, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
assert (
|
assert (
|
||||||
"Invalid config for [mqtt]: two or more values in the same group of exclusion 'availability'"
|
f"Invalid config for [{domain}]: two or more values in the same group of exclusion 'availability'"
|
||||||
in caplog.text
|
in caplog.text
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def help_test_custom_availability_payload(
|
async def help_test_custom_availability_payload(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
no_assumed_state: bool = False,
|
no_assumed_state: bool = False,
|
||||||
|
@ -413,13 +420,7 @@ async def help_test_custom_availability_payload(
|
||||||
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
config[mqtt.DOMAIN][domain]["availability_topic"] = "availability-topic"
|
||||||
config[mqtt.DOMAIN][domain]["payload_available"] = "good"
|
config[mqtt.DOMAIN][domain]["payload_available"] = "good"
|
||||||
config[mqtt.DOMAIN][domain]["payload_not_available"] = "nogood"
|
config[mqtt.DOMAIN][domain]["payload_not_available"] = "nogood"
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
assert state and state.state == STATE_UNAVAILABLE
|
assert state and state.state == STATE_UNAVAILABLE
|
||||||
|
@ -528,7 +529,7 @@ async def help_test_discovery_update_availability(
|
||||||
|
|
||||||
async def help_test_setting_attribute_via_mqtt_json_message(
|
async def help_test_setting_attribute_via_mqtt_json_message(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
@ -539,13 +540,7 @@ async def help_test_setting_attribute_via_mqtt_json_message(
|
||||||
# Add JSON attributes settings to config
|
# Add JSON attributes settings to config
|
||||||
config = copy.deepcopy(config)
|
config = copy.deepcopy(config)
|
||||||
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
async_fire_mqtt_message(hass, "attr-topic", '{ "val": "100" }')
|
async_fire_mqtt_message(hass, "attr-topic", '{ "val": "100" }')
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
|
@ -588,7 +583,7 @@ async def help_test_setting_blocked_attribute_via_mqtt_json_message(
|
||||||
|
|
||||||
async def help_test_setting_attribute_with_template(
|
async def help_test_setting_attribute_with_template(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
@ -602,13 +597,7 @@ async def help_test_setting_attribute_with_template(
|
||||||
config[mqtt.DOMAIN][domain][
|
config[mqtt.DOMAIN][domain][
|
||||||
"json_attributes_template"
|
"json_attributes_template"
|
||||||
] = "{{ value_json['Timer1'] | tojson }}"
|
] = "{{ value_json['Timer1'] | tojson }}"
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
async_fire_mqtt_message(
|
async_fire_mqtt_message(
|
||||||
hass, "attr-topic", json.dumps({"Timer1": {"Arm": 0, "Time": "22:18"}})
|
hass, "attr-topic", json.dumps({"Timer1": {"Arm": 0, "Time": "22:18"}})
|
||||||
|
@ -622,7 +611,7 @@ async def help_test_setting_attribute_with_template(
|
||||||
|
|
||||||
async def help_test_update_with_json_attrs_not_dict(
|
async def help_test_update_with_json_attrs_not_dict(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
caplog: pytest.LogCaptureFixture,
|
caplog: pytest.LogCaptureFixture,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
|
@ -634,13 +623,7 @@ async def help_test_update_with_json_attrs_not_dict(
|
||||||
# Add JSON attributes settings to config
|
# Add JSON attributes settings to config
|
||||||
config = copy.deepcopy(config)
|
config = copy.deepcopy(config)
|
||||||
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
async_fire_mqtt_message(hass, "attr-topic", '[ "list", "of", "things"]')
|
async_fire_mqtt_message(hass, "attr-topic", '[ "list", "of", "things"]')
|
||||||
state = hass.states.get(f"{domain}.test")
|
state = hass.states.get(f"{domain}.test")
|
||||||
|
@ -651,7 +634,7 @@ async def help_test_update_with_json_attrs_not_dict(
|
||||||
|
|
||||||
async def help_test_update_with_json_attrs_bad_json(
|
async def help_test_update_with_json_attrs_bad_json(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
|
mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator,
|
||||||
caplog: pytest.LogCaptureFixture,
|
caplog: pytest.LogCaptureFixture,
|
||||||
domain: str,
|
domain: str,
|
||||||
config: ConfigType,
|
config: ConfigType,
|
||||||
|
@ -663,13 +646,7 @@ async def help_test_update_with_json_attrs_bad_json(
|
||||||
# Add JSON attributes settings to config
|
# Add JSON attributes settings to config
|
||||||
config = copy.deepcopy(config)
|
config = copy.deepcopy(config)
|
||||||
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
config[mqtt.DOMAIN][domain]["json_attributes_topic"] = "attr-topic"
|
||||||
assert await async_setup_component(
|
await help_setup_component(hass, mqtt_mock_entry_no_yaml_config, domain, config)
|
||||||
hass,
|
|
||||||
mqtt.DOMAIN,
|
|
||||||
config,
|
|
||||||
)
|
|
||||||
await hass.async_block_till_done()
|
|
||||||
await mqtt_mock_entry_with_yaml_config()
|
|
||||||
|
|
||||||
async_fire_mqtt_message(hass, "attr-topic", "This is not JSON")
|
async_fire_mqtt_message(hass, "attr-topic", "This is not JSON")
|
||||||
|
|
||||||
|
|
|
@ -2508,39 +2508,41 @@ async def test_find_in_range_altered_inverted(hass: HomeAssistant) -> None:
|
||||||
assert mqtt_cover.find_in_range_from_percent(60, "cover") == 120
|
assert mqtt_cover.find_in_range_from_percent(60, "cover") == 120
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, cover.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, cover.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1657,31 +1657,33 @@ async def test_supported_features(
|
||||||
assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == features
|
assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == features
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, fan.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, fan.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, fan.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, fan.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
fan.DOMAIN,
|
fan.DOMAIN,
|
||||||
DEFAULT_CONFIG,
|
DEFAULT_CONFIG,
|
||||||
True,
|
True,
|
||||||
|
@ -1691,12 +1693,12 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
fan.DOMAIN,
|
fan.DOMAIN,
|
||||||
DEFAULT_CONFIG,
|
DEFAULT_CONFIG,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -1010,31 +1010,33 @@ async def test_supported_features(
|
||||||
assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == features
|
assert state.attributes.get(ATTR_SUPPORTED_FEATURES) == features
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, humidifier.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, humidifier.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, humidifier.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, humidifier.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
humidifier.DOMAIN,
|
humidifier.DOMAIN,
|
||||||
DEFAULT_CONFIG,
|
DEFAULT_CONFIG,
|
||||||
True,
|
True,
|
||||||
|
@ -1044,12 +1046,12 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
humidifier.DOMAIN,
|
humidifier.DOMAIN,
|
||||||
DEFAULT_CONFIG,
|
DEFAULT_CONFIG,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -631,39 +631,41 @@ async def test_missing_fan_speed_template(hass: HomeAssistant) -> None:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_2])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_2])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2133,39 +2133,41 @@ async def test_effect(
|
||||||
mqtt_mock.async_publish.assert_called_once_with("test_light/set", "OFF", 0, False)
|
mqtt_mock.async_publish.assert_called_once_with("test_light/set", "OFF", 0, False)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1882,39 +1882,41 @@ async def test_invalid_values(
|
||||||
assert state.attributes.get("color_temp") == 100
|
assert state.attributes.get("color_temp") == 100
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -850,39 +850,41 @@ async def test_invalid_values(
|
||||||
assert state.attributes.get("effect") == "rainbow"
|
assert state.attributes.get("effect") == "rainbow"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, light.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -652,39 +652,41 @@ async def test_sending_mqtt_commands_pessimistic(
|
||||||
assert state.state is STATE_LOCKED
|
assert state.state is STATE_LOCKED
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, lock.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, lock.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -445,39 +445,41 @@ async def test_run_number_service_with_command_template(
|
||||||
assert state.state == "32"
|
assert state.state == "32"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, number.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, number.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -79,26 +79,28 @@ async def test_sending_mqtt_commands(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, scene.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, scene.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, scene.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, scene.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -110,10 +112,9 @@ async def test_default_availability_payload(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
scene.DOMAIN,
|
scene.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
@ -123,7 +124,7 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -138,7 +139,7 @@ async def test_custom_availability_payload(
|
||||||
|
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
scene.DOMAIN,
|
scene.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -322,39 +322,41 @@ async def test_run_select_service_with_command_template(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, select.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, select.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -661,57 +661,59 @@ async def test_force_update_enabled(
|
||||||
assert len(events) == 2
|
assert len(events) == 2
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_list_payload(
|
async def test_default_availability_list_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_list_payload(
|
await help_test_default_availability_list_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_list_payload_all(
|
async def test_default_availability_list_payload_all(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_list_payload_all(
|
await help_test_default_availability_list_payload_all(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_list_payload_any(
|
async def test_default_availability_list_payload_any(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_list_payload_any(
|
await help_test_default_availability_list_payload_any(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -728,11 +730,11 @@ async def test_default_availability_list_single(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, sensor.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -457,26 +457,28 @@ async def test_filtering_not_supported_attributes_via_state(
|
||||||
assert state3.attributes.get(siren.ATTR_VOLUME_LEVEL) == 0.88
|
assert state3.attributes.get(siren.ATTR_VOLUME_LEVEL) == 0.88
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, siren.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, siren.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, siren.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, siren.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -490,10 +492,9 @@ async def test_default_availability_payload(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
siren.DOMAIN,
|
siren.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
@ -503,7 +504,7 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -520,7 +521,7 @@ async def test_custom_availability_payload(
|
||||||
|
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
siren.DOMAIN,
|
siren.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -368,39 +368,41 @@ async def test_status_invalid_json(
|
||||||
assert state.state == STATE_UNKNOWN
|
assert state.state == STATE_UNKNOWN
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_2])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG_2])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
hass, mqtt_mock_entry_no_yaml_config, vacuum.DOMAIN, DEFAULT_CONFIG_2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -219,26 +219,28 @@ async def test_controlling_state_via_topic_and_json_message(
|
||||||
assert state.state == STATE_UNKNOWN
|
assert state.state == STATE_UNKNOWN
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, switch.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, switch.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, switch.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, switch.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -252,10 +254,9 @@ async def test_default_availability_payload(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
switch.DOMAIN,
|
switch.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
@ -265,7 +266,7 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -282,7 +283,7 @@ async def test_custom_availability_payload(
|
||||||
|
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
switch.DOMAIN,
|
switch.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -313,26 +313,28 @@ async def test_set_text_validation(
|
||||||
assert state.state == "no"
|
assert state.state == "no"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, text.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, text.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, text.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, text.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -344,10 +346,9 @@ async def test_default_availability_payload(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
text.DOMAIN,
|
text.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
@ -357,7 +358,7 @@ async def test_default_availability_payload(
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
config = {
|
config = {
|
||||||
|
@ -372,7 +373,7 @@ async def test_custom_availability_payload(
|
||||||
|
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass,
|
hass,
|
||||||
mqtt_mock_entry_with_yaml_config,
|
mqtt_mock_entry_no_yaml_config,
|
||||||
text.DOMAIN,
|
text.DOMAIN,
|
||||||
config,
|
config,
|
||||||
True,
|
True,
|
||||||
|
|
|
@ -428,39 +428,41 @@ async def test_run_install_service(
|
||||||
mqtt_mock.async_publish.assert_called_once_with(command_topic, "install", 0, False)
|
mqtt_mock.async_publish.assert_called_once_with(command_topic, "install", 0, False)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_when_connection_lost(
|
async def test_availability_when_connection_lost(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability after MQTT disconnection."""
|
"""Test availability after MQTT disconnection."""
|
||||||
await help_test_availability_when_connection_lost(
|
await help_test_availability_when_connection_lost(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, update.DOMAIN
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("hass_config", [DEFAULT_CONFIG])
|
||||||
async def test_availability_without_topic(
|
async def test_availability_without_topic(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability without defined availability topic."""
|
"""Test availability without defined availability topic."""
|
||||||
await help_test_availability_without_topic(
|
await help_test_availability_without_topic(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_default_availability_payload(
|
async def test_default_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by default payload with defined topic."""
|
"""Test availability by default payload with defined topic."""
|
||||||
await help_test_default_availability_payload(
|
await help_test_default_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_custom_availability_payload(
|
async def test_custom_availability_payload(
|
||||||
hass: HomeAssistant, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator
|
hass: HomeAssistant, mqtt_mock_entry_no_yaml_config: MqttMockHAClientGenerator
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test availability by custom payload with defined topic."""
|
"""Test availability by custom payload with defined topic."""
|
||||||
await help_test_custom_availability_payload(
|
await help_test_custom_availability_payload(
|
||||||
hass, mqtt_mock_entry_with_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
hass, mqtt_mock_entry_no_yaml_config, update.DOMAIN, DEFAULT_CONFIG
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue