Fix hikvision camera.get_id (#159257)

This commit is contained in:
Paul Tarjan
2025-12-18 06:17:27 -10:00
committed by GitHub
parent e01df6d10d
commit 7ddfd155ca
6 changed files with 12 additions and 12 deletions

View File

@@ -56,7 +56,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: HikvisionConfigEntry) ->
except requests.exceptions.RequestException as err:
raise ConfigEntryNotReady(f"Unable to connect to {host}") from err
device_id = camera.get_id()
device_id = camera.get_id
if device_id is None:
raise ConfigEntryNotReady(f"Unable to get device ID from {host}")

View File

@@ -51,12 +51,12 @@ class HikvisionConfigFlow(ConfigFlow, domain=DOMAIN):
camera = await self.hass.async_add_executor_job(
HikCamera, url, port, username, password
)
device_id = camera.get_id()
device_name = camera.get_name
except requests.exceptions.RequestException:
_LOGGER.exception("Error connecting to Hikvision device")
errors["base"] = "cannot_connect"
else:
device_id = camera.get_id
device_name = camera.get_name
if device_id is None:
errors["base"] = "cannot_connect"
else:
@@ -104,14 +104,14 @@ class HikvisionConfigFlow(ConfigFlow, domain=DOMAIN):
camera = await self.hass.async_add_executor_job(
HikCamera, url, port, username, password
)
device_id = camera.get_id()
device_name = camera.get_name
except requests.exceptions.RequestException:
_LOGGER.exception(
"Error connecting to Hikvision device during import, aborting"
)
return self.async_abort(reason="cannot_connect")
device_id = camera.get_id
device_name = camera.get_name
if device_id is None:
return self.async_abort(reason="cannot_connect")

View File

@@ -69,7 +69,7 @@ def mock_hikcamera() -> Generator[MagicMock]:
),
):
camera = hikcamera_mock.return_value
camera.get_id.return_value = TEST_DEVICE_ID
camera.get_id = TEST_DEVICE_ID
camera.get_name = TEST_DEVICE_NAME
camera.get_type = "Camera"
camera.current_event_states = {

View File

@@ -241,7 +241,7 @@ async def test_yaml_import_abort_creates_issue(
issue_registry: ir.IssueRegistry,
) -> None:
"""Test YAML import creates issue when import is aborted."""
mock_hikcamera.return_value.get_id.return_value = None
mock_hikcamera.return_value.get_id = None
await async_setup_component(
hass,

View File

@@ -70,7 +70,7 @@ async def test_form_cannot_connect(
mock_hikcamera: MagicMock,
) -> None:
"""Test we handle cannot connect error and can recover."""
mock_hikcamera.return_value.get_id.return_value = None
mock_hikcamera.return_value.get_id = None
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_USER}
@@ -91,7 +91,7 @@ async def test_form_cannot_connect(
assert result["errors"] == {"base": "cannot_connect"}
# Recover from error
mock_hikcamera.return_value.get_id.return_value = TEST_DEVICE_ID
mock_hikcamera.return_value.get_id = TEST_DEVICE_ID
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
@@ -138,7 +138,7 @@ async def test_form_exception(
# Recover from error
mock_hikcamera.side_effect = None
mock_hikcamera.return_value.get_id.return_value = TEST_DEVICE_ID
mock_hikcamera.return_value.get_id = TEST_DEVICE_ID
mock_hikcamera.return_value.get_name = TEST_DEVICE_NAME
result = await hass.config_entries.flow.async_configure(
@@ -269,7 +269,7 @@ async def test_import_flow_no_device_id(
mock_hikcamera: MagicMock,
) -> None:
"""Test YAML import flow aborts when device_id is None."""
mock_hikcamera.return_value.get_id.return_value = None
mock_hikcamera.return_value.get_id = None
result = await hass.config_entries.flow.async_init(
DOMAIN,

View File

@@ -53,7 +53,7 @@ async def test_setup_entry_no_device_id(
mock_hikcamera: MagicMock,
) -> None:
"""Test setup fails when device_id is None."""
mock_hikcamera.return_value.get_id.return_value = None
mock_hikcamera.return_value.get_id = None
mock_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(mock_config_entry.entry_id)