From e436f6a7b204c74a2afb2f720e88b6a8df17e71e Mon Sep 17 00:00:00 2001 From: Simone Chemelli Date: Sun, 4 Dec 2022 19:11:24 +0100 Subject: [PATCH] Fix missing title placeholders in Synology DSM reauth flow (#83238) * Fix missing title placeholders in reauth flow * fix tests Co-authored-by: mib1185 --- homeassistant/components/synology_dsm/config_flow.py | 5 ++++- tests/components/synology_dsm/test_config_flow.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/synology_dsm/config_flow.py b/homeassistant/components/synology_dsm/config_flow.py index 0314165eb41..ba332ca7e7d 100644 --- a/homeassistant/components/synology_dsm/config_flow.py +++ b/homeassistant/components/synology_dsm/config_flow.py @@ -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( diff --git a/tests/components/synology_dsm/test_config_flow.py b/tests/components/synology_dsm/test_config_flow.py index 015c3a2ab16..25259ac7ee9 100644 --- a/tests/components/synology_dsm/test_config_flow.py +++ b/tests/components/synology_dsm/test_config_flow.py @@ -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