Fix missing title placeholders in Synology DSM reauth flow (#83238)

* Fix missing title placeholders in reauth flow

* fix tests

Co-authored-by: mib1185 <mail@mib85.de>
This commit is contained in:
Simone Chemelli 2022-12-04 19:11:24 +01:00 committed by GitHub
parent db0dfe875a
commit e436f6a7b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View file

@ -164,6 +164,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
use_ssl = user_input.get(CONF_SSL, DEFAULT_USE_SSL)
verify_ssl = user_input.get(CONF_VERIFY_SSL, DEFAULT_VERIFY_SSL)
otp_code = user_input.get(CONF_OTP_CODE)
friendly_name = user_input.get(CONF_NAME)
if not port:
if use_ssl is True:
@ -229,7 +230,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
return self.async_abort(reason="reauth_successful")
return self.async_abort(reason="reconfigure_successful")
return self.async_create_entry(title=host, data=config_data)
return self.async_create_entry(title=friendly_name or host, data=config_data)
async def async_step_user(
self, user_input: dict[str, Any] | None = None
@ -303,6 +304,8 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
"""Perform reauth upon an API authentication error."""
self.reauth_conf = entry_data
self.context["title_placeholders"][CONF_HOST] = entry_data[CONF_HOST]
return await self.async_step_reauth_confirm()
async def async_step_reauth_confirm(

View file

@ -281,6 +281,7 @@ async def test_reauth(hass: HomeAssistant, service: MagicMock):
"source": SOURCE_REAUTH,
"entry_id": entry.entry_id,
"unique_id": entry.unique_id,
"title_placeholders": {"name": entry.title},
},
data={
CONF_HOST: HOST,
@ -409,7 +410,7 @@ async def test_form_ssdp(hass: HomeAssistant, service: MagicMock):
assert result["type"] == data_entry_flow.FlowResultType.CREATE_ENTRY
assert result["result"].unique_id == SERIAL
assert result["title"] == "192.168.1.5"
assert result["title"] == "mydsm"
assert result["data"][CONF_HOST] == "192.168.1.5"
assert result["data"][CONF_PORT] == 5001
assert result["data"][CONF_SSL] == DEFAULT_USE_SSL