Cleanup removed MQTT broker settings (#116633)
parent
ecc431e231
commit
bedd5c1cef
|
@ -13,16 +13,7 @@ import voluptuous as vol
|
|||
from homeassistant import config as conf_util
|
||||
from homeassistant.components import websocket_api
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
CONF_CLIENT_ID,
|
||||
CONF_DISCOVERY,
|
||||
CONF_PASSWORD,
|
||||
CONF_PAYLOAD,
|
||||
CONF_PORT,
|
||||
CONF_PROTOCOL,
|
||||
CONF_USERNAME,
|
||||
SERVICE_RELOAD,
|
||||
)
|
||||
from homeassistant.const import CONF_DISCOVERY, CONF_PAYLOAD, SERVICE_RELOAD
|
||||
from homeassistant.core import HassJob, HomeAssistant, ServiceCall, callback
|
||||
from homeassistant.exceptions import (
|
||||
ConfigValidationError,
|
||||
|
@ -122,45 +113,6 @@ CONNECTION_SUCCESS = "connection_success"
|
|||
CONNECTION_FAILED = "connection_failed"
|
||||
CONNECTION_FAILED_RECOVERABLE = "connection_failed_recoverable"
|
||||
|
||||
CONFIG_ENTRY_CONFIG_KEYS = [
|
||||
CONF_BIRTH_MESSAGE,
|
||||
CONF_BROKER,
|
||||
CONF_CERTIFICATE,
|
||||
CONF_CLIENT_ID,
|
||||
CONF_CLIENT_CERT,
|
||||
CONF_CLIENT_KEY,
|
||||
CONF_DISCOVERY,
|
||||
CONF_DISCOVERY_PREFIX,
|
||||
CONF_KEEPALIVE,
|
||||
CONF_PASSWORD,
|
||||
CONF_PORT,
|
||||
CONF_PROTOCOL,
|
||||
CONF_TLS_INSECURE,
|
||||
CONF_TRANSPORT,
|
||||
CONF_WS_PATH,
|
||||
CONF_WS_HEADERS,
|
||||
CONF_USERNAME,
|
||||
CONF_WILL_MESSAGE,
|
||||
]
|
||||
|
||||
REMOVED_OPTIONS = vol.All(
|
||||
cv.removed(CONF_BIRTH_MESSAGE), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_BROKER), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_CERTIFICATE), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_CLIENT_ID), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_CLIENT_CERT), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_CLIENT_KEY), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_DISCOVERY), # Removed in HA Core 2022.3
|
||||
cv.removed(CONF_DISCOVERY_PREFIX), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_KEEPALIVE), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_PASSWORD), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_PORT), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_PROTOCOL), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_TLS_INSECURE), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_USERNAME), # Removed in HA Core 2023.4
|
||||
cv.removed(CONF_WILL_MESSAGE), # Removed in HA Core 2023.4
|
||||
)
|
||||
|
||||
# We accept 2 schemes for configuring manual MQTT items
|
||||
#
|
||||
# Preferred style:
|
||||
|
@ -187,7 +139,6 @@ CONFIG_SCHEMA = vol.Schema(
|
|||
DOMAIN: vol.All(
|
||||
cv.ensure_list,
|
||||
cv.remove_falsy,
|
||||
[REMOVED_OPTIONS],
|
||||
[CONFIG_SCHEMA_BASE],
|
||||
)
|
||||
},
|
||||
|
|
|
@ -15,6 +15,13 @@ from homeassistant import config_entries
|
|||
from homeassistant.components import mqtt
|
||||
from homeassistant.components.hassio import HassioServiceInfo
|
||||
from homeassistant.components.mqtt.config_flow import PWD_NOT_CHANGED
|
||||
from homeassistant.const import (
|
||||
CONF_CLIENT_ID,
|
||||
CONF_PASSWORD,
|
||||
CONF_PORT,
|
||||
CONF_PROTOCOL,
|
||||
CONF_USERNAME,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.data_entry_flow import FlowResultType
|
||||
|
||||
|
@ -230,8 +237,8 @@ async def test_user_v5_connection_works(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_PROTOCOL: "5",
|
||||
CONF_PORT: 2345,
|
||||
CONF_PROTOCOL: "5",
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.CREATE_ENTRY
|
||||
|
@ -468,7 +475,7 @@ async def test_option_flow(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -482,9 +489,9 @@ async def test_option_flow(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -516,9 +523,9 @@ async def test_option_flow(
|
|||
assert result["data"] == {}
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_DISCOVERY_PREFIX: "homeassistant",
|
||||
mqtt.CONF_BIRTH_MESSAGE: {
|
||||
|
@ -565,7 +572,7 @@ async def test_bad_certificate(
|
|||
file_id = mock_process_uploaded_file.file_id
|
||||
test_input = {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
mqtt.CONF_CERTIFICATE: file_id[mqtt.CONF_CERTIFICATE],
|
||||
mqtt.CONF_CLIENT_CERT: file_id[mqtt.CONF_CLIENT_CERT],
|
||||
mqtt.CONF_CLIENT_KEY: file_id[mqtt.CONF_CLIENT_KEY],
|
||||
|
@ -599,11 +606,11 @@ async def test_bad_certificate(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
mqtt.CONF_CLIENT_ID: "custom1234",
|
||||
CONF_PORT: 1234,
|
||||
CONF_CLIENT_ID: "custom1234",
|
||||
mqtt.CONF_KEEPALIVE: 60,
|
||||
mqtt.CONF_TLS_INSECURE: False,
|
||||
mqtt.CONF_PROTOCOL: "3.1.1",
|
||||
CONF_PROTOCOL: "3.1.1",
|
||||
},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
@ -618,13 +625,13 @@ async def test_bad_certificate(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
mqtt.CONF_KEEPALIVE: 60,
|
||||
"set_client_cert": set_client_cert,
|
||||
"set_ca_cert": set_ca_cert,
|
||||
mqtt.CONF_TLS_INSECURE: tls_insecure,
|
||||
mqtt.CONF_PROTOCOL: "3.1.1",
|
||||
mqtt.CONF_CLIENT_ID: "custom1234",
|
||||
CONF_PROTOCOL: "3.1.1",
|
||||
CONF_CLIENT_ID: "custom1234",
|
||||
},
|
||||
)
|
||||
test_input["set_client_cert"] = set_client_cert
|
||||
|
@ -664,7 +671,7 @@ async def test_keepalive_validation(
|
|||
|
||||
test_input = {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
mqtt.CONF_KEEPALIVE: input_value,
|
||||
}
|
||||
|
||||
|
@ -676,8 +683,8 @@ async def test_keepalive_validation(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
mqtt.CONF_CLIENT_ID: "custom1234",
|
||||
CONF_PORT: 1234,
|
||||
CONF_CLIENT_ID: "custom1234",
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -715,7 +722,7 @@ async def test_disable_birth_will(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
@ -731,9 +738,9 @@ async def test_disable_birth_will(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -763,9 +770,9 @@ async def test_disable_birth_will(
|
|||
assert result["data"] == {}
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_DISCOVERY_PREFIX: "homeassistant",
|
||||
mqtt.CONF_BIRTH_MESSAGE: {},
|
||||
|
@ -791,7 +798,7 @@ async def test_invalid_discovery_prefix(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_DISCOVERY_PREFIX: "homeassistant",
|
||||
},
|
||||
|
@ -808,7 +815,7 @@ async def test_invalid_discovery_prefix(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -829,7 +836,7 @@ async def test_invalid_discovery_prefix(
|
|||
assert result["errors"]["base"] == "bad_discovery_prefix"
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_DISCOVERY_PREFIX: "homeassistant",
|
||||
}
|
||||
|
@ -873,9 +880,9 @@ async def test_option_flow_default_suggested_values(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 1234,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_BIRTH_MESSAGE: {
|
||||
mqtt.ATTR_TOPIC: "ha_state/online",
|
||||
|
@ -898,11 +905,11 @@ async def test_option_flow_default_suggested_values(
|
|||
assert result["step_id"] == "broker"
|
||||
defaults = {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
}
|
||||
suggested = {
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
}
|
||||
for key, value in defaults.items():
|
||||
assert get_default(result["data_schema"].schema, key) == value
|
||||
|
@ -913,9 +920,9 @@ async def test_option_flow_default_suggested_values(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "us3r",
|
||||
mqtt.CONF_PASSWORD: "p4ss",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "us3r",
|
||||
CONF_PASSWORD: "p4ss",
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -960,11 +967,11 @@ async def test_option_flow_default_suggested_values(
|
|||
assert result["step_id"] == "broker"
|
||||
defaults = {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
}
|
||||
suggested = {
|
||||
mqtt.CONF_USERNAME: "us3r",
|
||||
mqtt.CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
CONF_USERNAME: "us3r",
|
||||
CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
}
|
||||
for key, value in defaults.items():
|
||||
assert get_default(result["data_schema"].schema, key) == value
|
||||
|
@ -973,7 +980,7 @@ async def test_option_flow_default_suggested_values(
|
|||
|
||||
result = await hass.config_entries.options.async_configure(
|
||||
result["flow_id"],
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", mqtt.CONF_PORT: 2345},
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", CONF_PORT: 2345},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
assert result["step_id"] == "options"
|
||||
|
@ -1030,7 +1037,7 @@ async def test_skipping_advanced_options(
|
|||
|
||||
test_input = {
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
CONF_PORT: 2345,
|
||||
"advanced_options": advanced_options,
|
||||
}
|
||||
|
||||
|
@ -1042,7 +1049,7 @@ async def test_skipping_advanced_options(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -1067,24 +1074,24 @@ async def test_skipping_advanced_options(
|
|||
(
|
||||
{
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_USERNAME: "username",
|
||||
mqtt.CONF_PASSWORD: "verysecret",
|
||||
CONF_USERNAME: "username",
|
||||
CONF_PASSWORD: "verysecret",
|
||||
},
|
||||
{
|
||||
mqtt.CONF_USERNAME: "username",
|
||||
mqtt.CONF_PASSWORD: "newpassword",
|
||||
CONF_USERNAME: "username",
|
||||
CONF_PASSWORD: "newpassword",
|
||||
},
|
||||
"newpassword",
|
||||
),
|
||||
(
|
||||
{
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_USERNAME: "username",
|
||||
mqtt.CONF_PASSWORD: "verysecret",
|
||||
CONF_USERNAME: "username",
|
||||
CONF_PASSWORD: "verysecret",
|
||||
},
|
||||
{
|
||||
mqtt.CONF_USERNAME: "username",
|
||||
mqtt.CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
CONF_USERNAME: "username",
|
||||
CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
},
|
||||
"verysecret",
|
||||
),
|
||||
|
@ -1153,7 +1160,7 @@ async def test_step_reauth(
|
|||
assert result["reason"] == "reauth_successful"
|
||||
|
||||
assert len(hass.config_entries.async_entries()) == 1
|
||||
assert config_entry.data.get(mqtt.CONF_PASSWORD) == new_password
|
||||
assert config_entry.data.get(CONF_PASSWORD) == new_password
|
||||
await hass.async_block_till_done()
|
||||
|
||||
|
||||
|
@ -1167,7 +1174,7 @@ async def test_options_user_connection_fails(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
result = await hass.config_entries.options.async_init(config_entry.entry_id)
|
||||
|
@ -1176,7 +1183,7 @@ async def test_options_user_connection_fails(
|
|||
mock_try_connection_time_out.reset_mock()
|
||||
result = await hass.config_entries.options.async_configure(
|
||||
result["flow_id"],
|
||||
user_input={mqtt.CONF_BROKER: "bad-broker", mqtt.CONF_PORT: 2345},
|
||||
user_input={mqtt.CONF_BROKER: "bad-broker", CONF_PORT: 2345},
|
||||
)
|
||||
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -1187,7 +1194,7 @@ async def test_options_user_connection_fails(
|
|||
# Check config entry did not update
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1201,7 +1208,7 @@ async def test_options_bad_birth_message_fails(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -1212,7 +1219,7 @@ async def test_options_bad_birth_message_fails(
|
|||
|
||||
result = await hass.config_entries.options.async_configure(
|
||||
result["flow_id"],
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", mqtt.CONF_PORT: 2345},
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", CONF_PORT: 2345},
|
||||
)
|
||||
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -1228,7 +1235,7 @@ async def test_options_bad_birth_message_fails(
|
|||
# Check config entry did not update
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1242,7 +1249,7 @@ async def test_options_bad_will_message_fails(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -1253,7 +1260,7 @@ async def test_options_bad_will_message_fails(
|
|||
|
||||
result = await hass.config_entries.options.async_configure(
|
||||
result["flow_id"],
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", mqtt.CONF_PORT: 2345},
|
||||
user_input={mqtt.CONF_BROKER: "another-broker", CONF_PORT: 2345},
|
||||
)
|
||||
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
|
@ -1269,7 +1276,7 @@ async def test_options_bad_will_message_fails(
|
|||
# Check config entry did not update
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1290,9 +1297,9 @@ async def test_try_connection_with_advanced_parameters(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "pass",
|
||||
CONF_PORT: 1234,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "pass",
|
||||
mqtt.CONF_TRANSPORT: "websockets",
|
||||
mqtt.CONF_CERTIFICATE: "auto",
|
||||
mqtt.CONF_TLS_INSECURE: True,
|
||||
|
@ -1323,15 +1330,15 @@ async def test_try_connection_with_advanced_parameters(
|
|||
assert result["step_id"] == "broker"
|
||||
defaults = {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
"set_client_cert": True,
|
||||
"set_ca_cert": "auto",
|
||||
}
|
||||
suggested = {
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: PWD_NOT_CHANGED,
|
||||
mqtt.CONF_TLS_INSECURE: True,
|
||||
mqtt.CONF_PROTOCOL: "3.1.1",
|
||||
CONF_PROTOCOL: "3.1.1",
|
||||
mqtt.CONF_TRANSPORT: "websockets",
|
||||
mqtt.CONF_WS_PATH: "/path/",
|
||||
mqtt.CONF_WS_HEADERS: '{"h1":"v1","h2":"v2"}',
|
||||
|
@ -1348,9 +1355,9 @@ async def test_try_connection_with_advanced_parameters(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "another-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "us3r",
|
||||
mqtt.CONF_PASSWORD: "p4ss",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "us3r",
|
||||
CONF_PASSWORD: "p4ss",
|
||||
"set_ca_cert": "auto",
|
||||
"set_client_cert": True,
|
||||
mqtt.CONF_TLS_INSECURE: True,
|
||||
|
@ -1409,7 +1416,7 @@ async def test_setup_with_advanced_settings(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
},
|
||||
)
|
||||
|
||||
|
@ -1427,21 +1434,21 @@ async def test_setup_with_advanced_settings(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "secret",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "secret",
|
||||
"advanced_options": True,
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
assert result["step_id"] == "broker"
|
||||
assert "advanced_options" not in result["data_schema"].schema
|
||||
assert result["data_schema"].schema[mqtt.CONF_CLIENT_ID]
|
||||
assert result["data_schema"].schema[CONF_CLIENT_ID]
|
||||
assert result["data_schema"].schema[mqtt.CONF_KEEPALIVE]
|
||||
assert result["data_schema"].schema["set_client_cert"]
|
||||
assert result["data_schema"].schema["set_ca_cert"]
|
||||
assert result["data_schema"].schema[mqtt.CONF_TLS_INSECURE]
|
||||
assert result["data_schema"].schema[mqtt.CONF_PROTOCOL]
|
||||
assert result["data_schema"].schema[CONF_PROTOCOL]
|
||||
assert result["data_schema"].schema[mqtt.CONF_TRANSPORT]
|
||||
assert mqtt.CONF_CLIENT_CERT not in result["data_schema"].schema
|
||||
assert mqtt.CONF_CLIENT_KEY not in result["data_schema"].schema
|
||||
|
@ -1451,26 +1458,26 @@ async def test_setup_with_advanced_settings(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "secret",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "secret",
|
||||
mqtt.CONF_KEEPALIVE: 30,
|
||||
"set_ca_cert": "auto",
|
||||
"set_client_cert": True,
|
||||
mqtt.CONF_TLS_INSECURE: True,
|
||||
mqtt.CONF_PROTOCOL: "3.1.1",
|
||||
CONF_PROTOCOL: "3.1.1",
|
||||
mqtt.CONF_TRANSPORT: "websockets",
|
||||
},
|
||||
)
|
||||
assert result["type"] is FlowResultType.FORM
|
||||
assert result["step_id"] == "broker"
|
||||
assert "advanced_options" not in result["data_schema"].schema
|
||||
assert result["data_schema"].schema[mqtt.CONF_CLIENT_ID]
|
||||
assert result["data_schema"].schema[CONF_CLIENT_ID]
|
||||
assert result["data_schema"].schema[mqtt.CONF_KEEPALIVE]
|
||||
assert result["data_schema"].schema["set_client_cert"]
|
||||
assert result["data_schema"].schema["set_ca_cert"]
|
||||
assert result["data_schema"].schema[mqtt.CONF_TLS_INSECURE]
|
||||
assert result["data_schema"].schema[mqtt.CONF_PROTOCOL]
|
||||
assert result["data_schema"].schema[CONF_PROTOCOL]
|
||||
assert result["data_schema"].schema[mqtt.CONF_CLIENT_CERT]
|
||||
assert result["data_schema"].schema[mqtt.CONF_CLIENT_KEY]
|
||||
assert result["data_schema"].schema[mqtt.CONF_TRANSPORT]
|
||||
|
@ -1482,9 +1489,9 @@ async def test_setup_with_advanced_settings(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "secret",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "secret",
|
||||
mqtt.CONF_KEEPALIVE: 30,
|
||||
"set_ca_cert": "auto",
|
||||
"set_client_cert": True,
|
||||
|
@ -1507,9 +1514,9 @@ async def test_setup_with_advanced_settings(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "secret",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "secret",
|
||||
mqtt.CONF_KEEPALIVE: 30,
|
||||
"set_ca_cert": "auto",
|
||||
"set_client_cert": True,
|
||||
|
@ -1537,9 +1544,9 @@ async def test_setup_with_advanced_settings(
|
|||
# Check config entry result
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 2345,
|
||||
mqtt.CONF_USERNAME: "user",
|
||||
mqtt.CONF_PASSWORD: "secret",
|
||||
CONF_PORT: 2345,
|
||||
CONF_USERNAME: "user",
|
||||
CONF_PASSWORD: "secret",
|
||||
mqtt.CONF_KEEPALIVE: 30,
|
||||
mqtt.CONF_CLIENT_CERT: "## mock client certificate file ##",
|
||||
mqtt.CONF_CLIENT_KEY: "## mock key file ##",
|
||||
|
@ -1569,7 +1576,7 @@ async def test_change_websockets_transport_to_tcp(
|
|||
config_entry,
|
||||
data={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
mqtt.CONF_TRANSPORT: "websockets",
|
||||
mqtt.CONF_WS_HEADERS: {"header_1": "custom_header1"},
|
||||
mqtt.CONF_WS_PATH: "/some_path",
|
||||
|
@ -1590,7 +1597,7 @@ async def test_change_websockets_transport_to_tcp(
|
|||
result["flow_id"],
|
||||
user_input={
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
mqtt.CONF_TRANSPORT: "tcp",
|
||||
mqtt.CONF_WS_HEADERS: '{"header_1": "custom_header1"}',
|
||||
mqtt.CONF_WS_PATH: "/some_path",
|
||||
|
@ -1611,7 +1618,7 @@ async def test_change_websockets_transport_to_tcp(
|
|||
# Check config entry result
|
||||
assert config_entry.data == {
|
||||
mqtt.CONF_BROKER: "test-broker",
|
||||
mqtt.CONF_PORT: 1234,
|
||||
CONF_PORT: 1234,
|
||||
mqtt.CONF_TRANSPORT: "tcp",
|
||||
mqtt.CONF_DISCOVERY: True,
|
||||
mqtt.CONF_DISCOVERY_PREFIX: "homeassistant_test",
|
||||
|
|
|
@ -6,6 +6,7 @@ from unittest.mock import ANY
|
|||
import pytest
|
||||
|
||||
from homeassistant.components import mqtt
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||
|
||||
|
@ -143,8 +144,8 @@ async def test_entry_diagnostics(
|
|||
{
|
||||
mqtt.CONF_BROKER: "mock-broker",
|
||||
mqtt.CONF_BIRTH_MESSAGE: {},
|
||||
mqtt.CONF_PASSWORD: "hunter2",
|
||||
mqtt.CONF_USERNAME: "my_user",
|
||||
CONF_PASSWORD: "hunter2",
|
||||
CONF_USERNAME: "my_user",
|
||||
}
|
||||
],
|
||||
)
|
||||
|
|
|
@ -1338,22 +1338,6 @@ async def test_discovery_expansion_without_encoding_and_value_template_2(
|
|||
|
||||
ABBREVIATIONS_WHITE_LIST = [
|
||||
# MQTT client/server/trigger settings
|
||||
"CONF_BIRTH_MESSAGE",
|
||||
"CONF_BROKER",
|
||||
"CONF_CERTIFICATE",
|
||||
"CONF_CLIENT_CERT",
|
||||
"CONF_CLIENT_ID",
|
||||
"CONF_CLIENT_KEY",
|
||||
"CONF_DISCOVERY",
|
||||
"CONF_DISCOVERY_ID",
|
||||
"CONF_DISCOVERY_PREFIX",
|
||||
"CONF_EMBEDDED",
|
||||
"CONF_KEEPALIVE",
|
||||
"CONF_TLS_INSECURE",
|
||||
"CONF_TRANSPORT",
|
||||
"CONF_WILL_MESSAGE",
|
||||
"CONF_WS_PATH",
|
||||
"CONF_WS_HEADERS",
|
||||
# Integration info
|
||||
"CONF_SUPPORT_URL",
|
||||
# Undocumented device configuration
|
||||
|
@ -1373,6 +1357,14 @@ ABBREVIATIONS_WHITE_LIST = [
|
|||
"CONF_WHITE_VALUE",
|
||||
]
|
||||
|
||||
EXCLUDED_MODULES = {
|
||||
"const.py",
|
||||
"config.py",
|
||||
"config_flow.py",
|
||||
"device_trigger.py",
|
||||
"trigger.py",
|
||||
}
|
||||
|
||||
|
||||
async def test_missing_discover_abbreviations(
|
||||
hass: HomeAssistant,
|
||||
|
@ -1383,7 +1375,7 @@ async def test_missing_discover_abbreviations(
|
|||
missing = []
|
||||
regex = re.compile(r"(CONF_[a-zA-Z\d_]*) *= *[\'\"]([a-zA-Z\d_]*)[\'\"]")
|
||||
for fil in Path(mqtt.__file__).parent.rglob("*.py"):
|
||||
if fil.name == "trigger.py":
|
||||
if fil.name in EXCLUDED_MODULES:
|
||||
continue
|
||||
with open(fil, encoding="utf-8") as file:
|
||||
matches = re.findall(regex, file.read())
|
||||
|
|
|
@ -31,6 +31,7 @@ from homeassistant.components.sensor import SensorDeviceClass
|
|||
from homeassistant.config_entries import ConfigEntryDisabler, ConfigEntryState
|
||||
from homeassistant.const import (
|
||||
ATTR_ASSUMED_STATE,
|
||||
CONF_PROTOCOL,
|
||||
EVENT_HOMEASSISTANT_STARTED,
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
SERVICE_RELOAD,
|
||||
|
@ -2221,21 +2222,21 @@ async def test_setup_manual_mqtt_with_invalid_config(
|
|||
(
|
||||
{
|
||||
mqtt.CONF_BROKER: "mock-broker",
|
||||
mqtt.CONF_PROTOCOL: "3.1",
|
||||
CONF_PROTOCOL: "3.1",
|
||||
},
|
||||
3,
|
||||
),
|
||||
(
|
||||
{
|
||||
mqtt.CONF_BROKER: "mock-broker",
|
||||
mqtt.CONF_PROTOCOL: "3.1.1",
|
||||
CONF_PROTOCOL: "3.1.1",
|
||||
},
|
||||
4,
|
||||
),
|
||||
(
|
||||
{
|
||||
mqtt.CONF_BROKER: "mock-broker",
|
||||
mqtt.CONF_PROTOCOL: "5",
|
||||
CONF_PROTOCOL: "5",
|
||||
},
|
||||
5,
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue