Remove low level call from fritzbox_callmonitor (#78668)
This commit is contained in:
parent
dbc02707a9
commit
f7ef9eb91b
3 changed files with 14 additions and 12 deletions
|
@ -5,6 +5,7 @@ from typing import Any, cast
|
||||||
|
|
||||||
from fritzconnection import FritzConnection
|
from fritzconnection import FritzConnection
|
||||||
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
|
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
|
||||||
|
from fritzconnection.lib.fritzstatus import FritzStatus
|
||||||
from requests.exceptions import ConnectionError as RequestsConnectionError
|
from requests.exceptions import ConnectionError as RequestsConnectionError
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
|
@ -29,10 +30,7 @@ from .const import (
|
||||||
DEFAULT_PORT,
|
DEFAULT_PORT,
|
||||||
DEFAULT_USERNAME,
|
DEFAULT_USERNAME,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
FRITZ_ACTION_GET_INFO,
|
|
||||||
FRITZ_ATTR_NAME,
|
FRITZ_ATTR_NAME,
|
||||||
FRITZ_ATTR_SERIAL_NUMBER,
|
|
||||||
FRITZ_SERVICE_DEVICE_INFO,
|
|
||||||
SERIAL_NUMBER,
|
SERIAL_NUMBER,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -104,10 +102,9 @@ class FritzBoxCallMonitorConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||||
fritz_connection = FritzConnection(
|
fritz_connection = FritzConnection(
|
||||||
address=self._host, user=self._username, password=self._password
|
address=self._host, user=self._username, password=self._password
|
||||||
)
|
)
|
||||||
device_info = fritz_connection.call_action(
|
fritz_status = FritzStatus(fc=fritz_connection)
|
||||||
FRITZ_SERVICE_DEVICE_INFO, FRITZ_ACTION_GET_INFO
|
device_info = fritz_status.get_device_info()
|
||||||
)
|
self._serial_number = device_info.serial_number
|
||||||
self._serial_number = device_info[FRITZ_ATTR_SERIAL_NUMBER]
|
|
||||||
|
|
||||||
return ConnectResult.SUCCESS
|
return ConnectResult.SUCCESS
|
||||||
except RequestsConnectionError:
|
except RequestsConnectionError:
|
||||||
|
|
|
@ -18,10 +18,8 @@ ICON_PHONE: Final = "mdi:phone"
|
||||||
|
|
||||||
ATTR_PREFIXES = "prefixes"
|
ATTR_PREFIXES = "prefixes"
|
||||||
|
|
||||||
FRITZ_ACTION_GET_INFO = "GetInfo"
|
|
||||||
FRITZ_ATTR_NAME = "name"
|
FRITZ_ATTR_NAME = "name"
|
||||||
FRITZ_ATTR_SERIAL_NUMBER = "NewSerialNumber"
|
FRITZ_ATTR_SERIAL_NUMBER = "NewSerialNumber"
|
||||||
FRITZ_SERVICE_DEVICE_INFO = "DeviceInfo"
|
|
||||||
|
|
||||||
UNKNOWN_NAME = "unknown"
|
UNKNOWN_NAME = "unknown"
|
||||||
SERIAL_NUMBER = "serial_number"
|
SERIAL_NUMBER = "serial_number"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
from unittest.mock import PropertyMock
|
from unittest.mock import PropertyMock
|
||||||
|
|
||||||
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
|
from fritzconnection.core.exceptions import FritzConnectionException, FritzSecurityError
|
||||||
|
from fritzconnection.lib.fritztools import ArgumentNamespace
|
||||||
from requests.exceptions import ConnectionError as RequestsConnectionError
|
from requests.exceptions import ConnectionError as RequestsConnectionError
|
||||||
|
|
||||||
from homeassistant.components.fritzbox_callmonitor.config_flow import ConnectResult
|
from homeassistant.components.fritzbox_callmonitor.config_flow import ConnectResult
|
||||||
|
@ -58,7 +59,7 @@ MOCK_YAML_CONFIG = {
|
||||||
CONF_PHONEBOOK: MOCK_PHONEBOOK_ID,
|
CONF_PHONEBOOK: MOCK_PHONEBOOK_ID,
|
||||||
CONF_NAME: MOCK_NAME,
|
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_1 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_1}
|
||||||
MOCK_PHONEBOOK_INFO_2 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_2}
|
MOCK_PHONEBOOK_INFO_2 = {FRITZ_ATTR_NAME: MOCK_PHONEBOOK_NAME_2}
|
||||||
MOCK_UNIQUE_ID = f"{MOCK_SERIAL_NUMBER}-{MOCK_PHONEBOOK_ID}"
|
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__",
|
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.__init__",
|
||||||
return_value=None,
|
return_value=None,
|
||||||
), patch(
|
), 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,
|
return_value=MOCK_DEVICE_INFO,
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.fritzbox_callmonitor.async_setup_entry",
|
"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__",
|
"homeassistant.components.fritzbox_callmonitor.config_flow.FritzConnection.__init__",
|
||||||
return_value=None,
|
return_value=None,
|
||||||
), patch(
|
), 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,
|
return_value=MOCK_DEVICE_INFO,
|
||||||
), patch(
|
), patch(
|
||||||
"homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.phonebook_info",
|
"homeassistant.components.fritzbox_callmonitor.base.FritzPhonebook.phonebook_info",
|
||||||
|
|
Loading…
Add table
Reference in a new issue