Split the AsusWRT user flow init from its data (#180782)

This commit is contained in:
Franck Nijhof
2026-08-30 13:01:03 +02:00
committed by GitHub
parent e539b9ffd5
commit 729aaf0159
+65 -24
View File
@@ -166,9 +166,15 @@ async def test_error_pwd_required(hass: HomeAssistant, config) -> None:
"""Test we abort for missing password."""
config_data = {k: v for k, v in config.items() if k != CONF_PASSWORD}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=config_data,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=config_data,
)
assert result["type"] is FlowResultType.FORM
@@ -179,9 +185,15 @@ async def test_error_no_password_ssh(hass: HomeAssistant) -> None:
"""Test we abort for wrong password and ssh file combination."""
config_data = {k: v for k, v in CONFIG_SCHEMA_SSH.items() if k != CONF_PASSWORD}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=config_data,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=config_data,
)
assert result["type"] is FlowResultType.FORM
@@ -192,9 +204,15 @@ async def test_error_password_and_ssh(hass: HomeAssistant) -> None:
"""Test we abort for both password and ssh file combination."""
config_data = {**CONFIG_SCHEMA_SSH, CONF_MORE_OPTIONS: {CONF_SSH_KEY: SSH_KEY}}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=config_data,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=config_data,
)
assert result["type"] is FlowResultType.FORM
@@ -213,9 +231,15 @@ async def test_error_invalid_ssh(hass: HomeAssistant, patch_is_file) -> None:
patch_is_file.side_effect = mock_is_file
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=config_data,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=config_data,
)
assert result["type"] is FlowResultType.FORM
@@ -226,9 +250,15 @@ async def test_error_invalid_host(hass: HomeAssistant, patch_get_host) -> None:
"""Test we abort if host name is invalid."""
patch_get_host.side_effect = gaierror
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=CONFIG_SCHEMA_TELNET,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONFIG_SCHEMA_TELNET,
)
assert result["type"] is FlowResultType.FORM
@@ -243,10 +273,9 @@ async def test_abort_if_not_unique_id_setup(hass: HomeAssistant) -> None:
).add_to_hass(hass)
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=CONFIG_SCHEMA_TELNET,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.ABORT
assert result["reason"] == "no_unique_id"
@@ -263,9 +292,15 @@ async def test_update_uniqueid_exist(
existing_entry.add_to_hass(hass)
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=CONFIG_SCHEMA_HTTP,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONFIG_SCHEMA_HTTP,
)
await hass.async_block_till_done()
@@ -287,9 +322,15 @@ async def test_abort_invalid_unique_id(hass: HomeAssistant, connect_legacy) -> N
connect_legacy.return_value.async_get_nvram.return_value = {}
result = await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_USER},
data=CONFIG_SCHEMA_TELNET,
DOMAIN, context={"source": SOURCE_USER}
)
assert result["type"] is FlowResultType.FORM
assert result["step_id"] == "user"
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
user_input=CONFIG_SCHEMA_TELNET,
)
assert result["type"] is FlowResultType.ABORT
assert result["reason"] == "invalid_unique_id"