From a3cccb50c7ebc5c7fb1349c7a42166b6dec1af0f Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:39:43 +0100 Subject: [PATCH] Use dataclass properties in tesla_wall_connector discovery (#60741) Co-authored-by: epenet --- .../tesla_wall_connector/config_flow.py | 8 ++--- .../tesla_wall_connector/test_config_flow.py | 32 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/homeassistant/components/tesla_wall_connector/config_flow.py b/homeassistant/components/tesla_wall_connector/config_flow.py index 7183a68d428..5b3cf9bd835 100644 --- a/homeassistant/components/tesla_wall_connector/config_flow.py +++ b/homeassistant/components/tesla_wall_connector/config_flow.py @@ -9,7 +9,7 @@ from tesla_wall_connector.exceptions import WallConnectorError import voluptuous as vol from homeassistant import config_entries -from homeassistant.components.dhcp import IP_ADDRESS +from homeassistant.components import dhcp from homeassistant.const import CONF_HOST from homeassistant.core import HomeAssistant from homeassistant.data_entry_flow import FlowResult @@ -45,12 +45,12 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): def __init__(self) -> None: """Initialize config flow.""" super().__init__() - self.ip_address = None + self.ip_address: str | None = None self.serial_number = None - async def async_step_dhcp(self, discovery_info) -> FlowResult: + async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> FlowResult: """Handle dhcp discovery.""" - self.ip_address = discovery_info[IP_ADDRESS] + self.ip_address = discovery_info.ip _LOGGER.debug("Discovered Tesla Wall Connector at [%s]", self.ip_address) self._async_abort_entries_match({CONF_HOST: self.ip_address}) diff --git a/tests/components/tesla_wall_connector/test_config_flow.py b/tests/components/tesla_wall_connector/test_config_flow.py index 7ed3dfbb8ea..2e286f75b61 100644 --- a/tests/components/tesla_wall_connector/test_config_flow.py +++ b/tests/components/tesla_wall_connector/test_config_flow.py @@ -4,7 +4,7 @@ from unittest.mock import patch from tesla_wall_connector.exceptions import WallConnectorConnectionError from homeassistant import config_entries -from homeassistant.components.dhcp import HOSTNAME, IP_ADDRESS, MAC_ADDRESS +from homeassistant.components import dhcp from homeassistant.components.tesla_wall_connector.const import DOMAIN from homeassistant.const import CONF_HOST from homeassistant.core import HomeAssistant @@ -112,11 +112,11 @@ async def test_dhcp_can_finish( result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_DHCP}, - data={ - HOSTNAME: "teslawallconnector_abc", - IP_ADDRESS: "1.2.3.4", - MAC_ADDRESS: "DC:44:27:12:12", - }, + data=dhcp.DhcpServiceInfo( + hostname="teslawallconnector_abc", + ip="1.2.3.4", + macaddress="DC:44:27:12:12", + ), ) await hass.async_block_till_done() assert result["type"] == "form" @@ -143,11 +143,11 @@ async def test_dhcp_already_exists(mock_wall_connector_version, hass): result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_DHCP}, - data={ - HOSTNAME: "teslawallconnector_aabbcc", - IP_ADDRESS: "1.2.3.4", - MAC_ADDRESS: "aa:bb:cc:dd:ee:ff", - }, + data=dhcp.DhcpServiceInfo( + hostname="teslawallconnector_aabbcc", + ip="1.2.3.4", + macaddress="aa:bb:cc:dd:ee:ff", + ), ) await hass.async_block_till_done() @@ -165,11 +165,11 @@ async def test_dhcp_error_from_wall_connector(mock_wall_connector_version, hass) result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_DHCP}, - data={ - HOSTNAME: "teslawallconnector_aabbcc", - IP_ADDRESS: "1.2.3.4", - MAC_ADDRESS: "aa:bb:cc:dd:ee:ff", - }, + data=dhcp.DhcpServiceInfo( + hostname="teslawallconnector_aabbcc", + ip="1.2.3.4", + macaddress="aa:bb:cc:dd:ee:ff", + ), ) await hass.async_block_till_done()