Remove low level call from fritzbox_callmonitor (#78668)

pull/78679/head
Marc Mueller 2022-09-18 03:08:55 +02:00 committed by GitHub
parent dbc02707a9
commit f7ef9eb91b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 12 deletions

View File

@ -5,6 +5,7 @@ from typing import Any, cast
from fritzconnection import FritzConnection
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
from fritzconnection.lib.fritzstatus import FritzStatus
from requests.exceptions import ConnectionError as RequestsConnectionError
import voluptuous as vol
@ -29,10 +30,7 @@ from .const import (
DEFAULT_PORT,
DEFAULT_USERNAME,
DOMAIN,
FRITZ_ACTION_GET_INFO,
FRITZ_ATTR_NAME,
FRITZ_ATTR_SERIAL_NUMBER,
FRITZ_SERVICE_DEVICE_INFO,
SERIAL_NUMBER,
)
@ -104,10 +102,9 @@ class FritzBoxCallMonitorConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
fritz_connection = FritzConnection(
address=self._host, user=self._username, password=self._password
)
device_info = fritz_connection.call_action(
FRITZ_SERVICE_DEVICE_INFO, FRITZ_ACTION_GET_INFO
)
self._serial_number = device_info[FRITZ_ATTR_SERIAL_NUMBER]
fritz_status = FritzStatus(fc=fritz_connection)
device_info = fritz_status.get_device_info()
self._serial_number = device_info.serial_number
return ConnectResult.SUCCESS
except RequestsConnectionError:

View File

@ -18,10 +18,8 @@ ICON_PHONE: Final = "mdi:phone"
ATTR_PREFIXES = "prefixes"
FRITZ_ACTION_GET_INFO = "GetInfo"
FRITZ_ATTR_NAME = "name"
FRITZ_ATTR_SERIAL_NUMBER = "NewSerialNumber"
FRITZ_SERVICE_DEVICE_INFO = "DeviceInfo"
UNKNOWN_NAME = "unknown"
SERIAL_NUMBER = "serial_number"

View File

@ -2,6 +2,7 @@
from unittest.mock import PropertyMock
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
from fritzconnection.lib.fritztools import ArgumentNamespace
from requests.exceptions import ConnectionError as RequestsConnectionError
from homeassistant.components.fritzbox_callmonitor.config_flow import ConnectResult
@ -58,7 +59,7 @@ MOCK_YAML_CONFIG = {
CONF_PHONEBOOK: MOCK_PHONEBOOK_ID,
CONF_NAME: MOCK_NAME,
}
MOCK_DEVICE_INFO = {FRITZ_ATTR_SERIAL_NUMBER: MOCK_SERIAL_NUMBER}
MOCK_DEVICE_INFO = ArgumentNamespace({FRITZ_ATTR_SERIAL_NUMBER: MOCK_SERIAL_NUMBER})
MOCK_PHONEBOOK_INFO_1 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_1}
MOCK_PHONEBOOK_INFO_2 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_2}
MOCK_UNIQUE_ID = f"{MOCK_SERIAL_NUMBER}-{MOCK_PHONEBOOK_ID}"
@ -90,7 +91,10 @@ async def test_setup_one_phonebook(hass: HomeAssistant) -> None:
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.__init__",
return_value=None,
), patch(
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.call_action",
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzStatus.__init__",
return_value=None,
), patch(
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzStatus.get_device_info",
return_value=MOCK_DEVICE_INFO,
), patch(
"homeassistant.components.fritzbox_callmonitor.async_setup_entry",
@ -126,7 +130,10 @@ async def test_setup_multiple_phonebooks(hass: HomeAssistant) -> None:
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.__init__",
return_value=None,
), patch(
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.call_action",
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzStatus.__init__",
return_value=None,
), patch(
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzStatus.get_device_info",
return_value=MOCK_DEVICE_INFO,
), patch(
"homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.phonebook_info",