From b093c2840b97c1585ec26bf2431d3d708ad6dc4f Mon Sep 17 00:00:00 2001 From: Rami Mosleh Date: Fri, 16 Sep 2022 12:30:29 +0300 Subject: [PATCH] Remove name key from config flow in Mikrotik (#78571) --- .../components/mikrotik/config_flow.py | 11 +----- tests/components/mikrotik/test_config_flow.py | 38 +------------------ 2 files changed, 3 insertions(+), 46 deletions(-) diff --git a/homeassistant/components/mikrotik/config_flow.py b/homeassistant/components/mikrotik/config_flow.py index d506c2c75e42..ed62734578f3 100644 --- a/homeassistant/components/mikrotik/config_flow.py +++ b/homeassistant/components/mikrotik/config_flow.py @@ -8,7 +8,6 @@ import voluptuous as vol from homeassistant import config_entries from homeassistant.const import ( CONF_HOST, - CONF_NAME, CONF_PASSWORD, CONF_PORT, CONF_USERNAME, @@ -49,12 +48,7 @@ class MikrotikFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): """Handle a flow initialized by the user.""" errors = {} if user_input is not None: - for entry in self._async_current_entries(): - if entry.data[CONF_HOST] == user_input[CONF_HOST]: - return self.async_abort(reason="already_configured") - if entry.data[CONF_NAME] == user_input[CONF_NAME]: - errors[CONF_NAME] = "name_exists" - break + self._async_abort_entries_match({CONF_HOST: user_input[CONF_HOST]}) try: await self.hass.async_add_executor_job(get_api, user_input) @@ -66,13 +60,12 @@ class MikrotikFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): if not errors: return self.async_create_entry( - title=user_input[CONF_NAME], data=user_input + title=f"{DEFAULT_NAME} ({user_input[CONF_HOST]})", data=user_input ) return self.async_show_form( step_id="user", data_schema=vol.Schema( { - vol.Required(CONF_NAME, default=DEFAULT_NAME): str, vol.Required(CONF_HOST): str, vol.Required(CONF_USERNAME): str, vol.Required(CONF_PASSWORD): str, diff --git a/tests/components/mikrotik/test_config_flow.py b/tests/components/mikrotik/test_config_flow.py index 704bf92066e3..6a71806cea9a 100644 --- a/tests/components/mikrotik/test_config_flow.py +++ b/tests/components/mikrotik/test_config_flow.py @@ -1,5 +1,4 @@ """Test Mikrotik setup process.""" -from datetime import timedelta from unittest.mock import patch import librouteros @@ -14,7 +13,6 @@ from homeassistant.components.mikrotik.const import ( ) from homeassistant.const import ( CONF_HOST, - CONF_NAME, CONF_PASSWORD, CONF_PORT, CONF_USERNAME, @@ -24,7 +22,6 @@ from homeassistant.const import ( from tests.common import MockConfigEntry DEMO_USER_INPUT = { - CONF_NAME: "Home router", CONF_HOST: "0.0.0.0", CONF_USERNAME: "username", CONF_PASSWORD: "password", @@ -32,20 +29,7 @@ DEMO_USER_INPUT = { CONF_VERIFY_SSL: False, } -DEMO_CONFIG = { - CONF_NAME: "Home router", - CONF_HOST: "0.0.0.0", - CONF_USERNAME: "username", - CONF_PASSWORD: "password", - CONF_PORT: 8278, - CONF_VERIFY_SSL: False, - CONF_FORCE_DHCP: False, - CONF_ARP_PING: False, - CONF_DETECTION_TIME: timedelta(seconds=30), -} - DEMO_CONFIG_ENTRY = { - CONF_NAME: "Home router", CONF_HOST: "0.0.0.0", CONF_USERNAME: "username", CONF_PASSWORD: "password", @@ -97,8 +81,7 @@ async def test_flow_works(hass, api): ) assert result["type"] == data_entry_flow.FlowResultType.CREATE_ENTRY - assert result["title"] == "Home router" - assert result["data"][CONF_NAME] == "Home router" + assert result["title"] == "Mikrotik (0.0.0.0)" assert result["data"][CONF_HOST] == "0.0.0.0" assert result["data"][CONF_USERNAME] == "username" assert result["data"][CONF_PASSWORD] == "password" @@ -151,25 +134,6 @@ async def test_host_already_configured(hass, auth_error): assert result["reason"] == "already_configured" -async def test_name_exists(hass, api): - """Test name already configured.""" - - entry = MockConfigEntry(domain=DOMAIN, data=DEMO_CONFIG_ENTRY) - entry.add_to_hass(hass) - user_input = DEMO_USER_INPUT.copy() - user_input[CONF_HOST] = "0.0.0.1" - - result = await hass.config_entries.flow.async_init( - DOMAIN, context={"source": config_entries.SOURCE_USER} - ) - result = await hass.config_entries.flow.async_configure( - result["flow_id"], user_input=user_input - ) - - assert result["type"] == "form" - assert result["errors"] == {CONF_NAME: "name_exists"} - - async def test_connection_error(hass, conn_error): """Test error when connection is unsuccessful."""