From 7ddfd155ca27971e420092cc8fa41dfc5df2d91a Mon Sep 17 00:00:00 2001 From: Paul Tarjan Date: Thu, 18 Dec 2025 06:17:27 -1000 Subject: [PATCH] Fix hikvision camera.get_id (#159257) --- homeassistant/components/hikvision/__init__.py | 2 +- homeassistant/components/hikvision/config_flow.py | 8 ++++---- tests/components/hikvision/conftest.py | 2 +- tests/components/hikvision/test_binary_sensor.py | 2 +- tests/components/hikvision/test_config_flow.py | 8 ++++---- tests/components/hikvision/test_init.py | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/hikvision/__init__.py b/homeassistant/components/hikvision/__init__.py index 1a7d042544e..ceede798bcb 100644 --- a/homeassistant/components/hikvision/__init__.py +++ b/homeassistant/components/hikvision/__init__.py @@ -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}") diff --git a/homeassistant/components/hikvision/config_flow.py b/homeassistant/components/hikvision/config_flow.py index f5f89c1646a..c954b9d5edc 100644 --- a/homeassistant/components/hikvision/config_flow.py +++ b/homeassistant/components/hikvision/config_flow.py @@ -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") diff --git a/tests/components/hikvision/conftest.py b/tests/components/hikvision/conftest.py index 13b000c46ca..758906629ea 100644 --- a/tests/components/hikvision/conftest.py +++ b/tests/components/hikvision/conftest.py @@ -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 = { diff --git a/tests/components/hikvision/test_binary_sensor.py b/tests/components/hikvision/test_binary_sensor.py index c89e77652db..5eff8508957 100644 --- a/tests/components/hikvision/test_binary_sensor.py +++ b/tests/components/hikvision/test_binary_sensor.py @@ -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, diff --git a/tests/components/hikvision/test_config_flow.py b/tests/components/hikvision/test_config_flow.py index 5f1766a8d99..dd8d5c4233e 100644 --- a/tests/components/hikvision/test_config_flow.py +++ b/tests/components/hikvision/test_config_flow.py @@ -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, diff --git a/tests/components/hikvision/test_init.py b/tests/components/hikvision/test_init.py index 3bf3136c648..2314a78143f 100644 --- a/tests/components/hikvision/test_init.py +++ b/tests/components/hikvision/test_init.py @@ -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)