From 416c10a793a982fb8c17259d36b99be458131cd0 Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Wed, 5 Oct 2022 02:27:56 -0400 Subject: [PATCH] Supervisor update entity auto update from api (#79611) * Supervisor update entity auto update from api * Update api mocks in tests --- homeassistant/components/hassio/update.py | 6 +++++- tests/components/hassio/test_binary_sensor.py | 1 + tests/components/hassio/test_init.py | 9 ++++++++- tests/components/hassio/test_sensor.py | 1 + tests/components/hassio/test_update.py | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/hassio/update.py b/homeassistant/components/hassio/update.py index e68dbece5b66..dcb2b18cdd30 100644 --- a/homeassistant/components/hassio/update.py +++ b/homeassistant/components/hassio/update.py @@ -219,7 +219,6 @@ class SupervisorOSUpdateEntity(HassioOSEntity, UpdateEntity): class SupervisorSupervisorUpdateEntity(HassioSupervisorEntity, UpdateEntity): """Update entity to handle updates for the Home Assistant Supervisor.""" - _attr_auto_update = True _attr_supported_features = UpdateEntityFeature.INSTALL _attr_title = "Home Assistant Supervisor" @@ -233,6 +232,11 @@ class SupervisorSupervisorUpdateEntity(HassioSupervisorEntity, UpdateEntity): """Return native value of entity.""" return self.coordinator.data[DATA_KEY_SUPERVISOR][ATTR_VERSION] + @property + def auto_update(self) -> bool: + """Return true if auto-update is enabled for supervisor.""" + return self.coordinator.data[DATA_KEY_SUPERVISOR][ATTR_AUTO_UPDATE] + @property def release_url(self) -> str | None: """URL to the full release notes of the latest version available.""" diff --git a/tests/components/hassio/test_binary_sensor.py b/tests/components/hassio/test_binary_sensor.py index 31667efadc69..a601f98f1c5f 100644 --- a/tests/components/hassio/test_binary_sensor.py +++ b/tests/components/hassio/test_binary_sensor.py @@ -75,6 +75,7 @@ def mock_all(aioclient_mock, request): "result": "ok", "version": "1.0.0", "version_latest": "1.0.0", + "auto_update": True, "addons": [ { "name": "test", diff --git a/tests/components/hassio/test_init.py b/tests/components/hassio/test_init.py index 41b679e448ad..f0f94661d508 100644 --- a/tests/components/hassio/test_init.py +++ b/tests/components/hassio/test_init.py @@ -92,7 +92,11 @@ def mock_all(aioclient_mock, request, os_info): "http://127.0.0.1/supervisor/info", json={ "result": "ok", - "data": {"version_latest": "1.0.0", "version": "1.0.0"}, + "data": { + "version_latest": "1.0.0", + "version": "1.0.0", + "auto_update": True, + }, "addons": [ { "name": "test", @@ -536,6 +540,7 @@ async def test_device_registry_calls(hass): supervisor_mock_data = { "version": "1.0.0", "version_latest": "1.0.0", + "auto_update": True, "addons": [ { "name": "test", @@ -586,6 +591,7 @@ async def test_device_registry_calls(hass): supervisor_mock_data = { "version": "1.0.0", "version_latest": "1.0.0", + "auto_update": True, "addons": [ { "name": "test2", @@ -620,6 +626,7 @@ async def test_device_registry_calls(hass): supervisor_mock_data = { "version": "1.0.0", "version_latest": "1.0.0", + "auto_update": True, "addons": [ { "name": "test2", diff --git a/tests/components/hassio/test_sensor.py b/tests/components/hassio/test_sensor.py index 868448cec2dc..16cce09b800a 100644 --- a/tests/components/hassio/test_sensor.py +++ b/tests/components/hassio/test_sensor.py @@ -68,6 +68,7 @@ def mock_all(aioclient_mock, request): "result": "ok", "version": "1.0.0", "version_latest": "1.0.0", + "auto_update": True, "addons": [ { "name": "test", diff --git a/tests/components/hassio/test_update.py b/tests/components/hassio/test_update.py index 48f6d894de0f..aaa77cde129d 100644 --- a/tests/components/hassio/test_update.py +++ b/tests/components/hassio/test_update.py @@ -79,6 +79,7 @@ def mock_all(aioclient_mock, request): "result": "ok", "version": "1.0.0", "version_latest": "1.0.1dev222", + "auto_update": True, "addons": [ { "name": "test",