From 5629b995ce6b2ca1fa4024c7b3bcd75f8ca99293 Mon Sep 17 00:00:00 2001
From: Erik Montnemery <erik@montnemery.com>
Date: Tue, 4 Feb 2025 15:57:30 +0100
Subject: [PATCH] Include extra metadata in backup WS API (#137296)

* Include extra metadata in backup WS API

* Update onboarding backup view

* Update google_drive tests
---
 homeassistant/components/backup/models.py     |  6 --
 homeassistant/components/backup/websocket.py  |  4 +-
 homeassistant/components/onboarding/views.py  |  2 +-
 tests/components/backup/common.py             |  4 +-
 tests/components/backup/conftest.py           | 10 +++
 .../backup/snapshots/test_backup.ambr         |  8 ++
 .../backup/snapshots/test_websocket.ambr      | 80 +++++++++++++++++++
 tests/components/backup/test_manager.py       | 31 ++++++-
 tests/components/cloud/test_backup.py         |  2 +
 tests/components/google_drive/test_backup.py  |  1 +
 tests/components/hassio/test_backup.py        |  3 +
 tests/components/kitchen_sink/test_backup.py  |  4 +-
 .../onboarding/snapshots/test_views.ambr      |  8 ++
 tests/components/onedrive/test_backup.py      |  2 +
 tests/components/synology_dsm/test_backup.py  |  4 +-
 15 files changed, 154 insertions(+), 15 deletions(-)

diff --git a/homeassistant/components/backup/models.py b/homeassistant/components/backup/models.py
index 1543d577964..62118b7944f 100644
--- a/homeassistant/components/backup/models.py
+++ b/homeassistant/components/backup/models.py
@@ -41,12 +41,6 @@ class BaseBackup:
     homeassistant_version: str | None  # None if homeassistant_included is False
     name: str
 
-    def as_frontend_json(self) -> dict:
-        """Return a dict representation of this backup for sending to frontend."""
-        return {
-            key: val for key, val in asdict(self).items() if key != "extra_metadata"
-        }
-
 
 @dataclass(frozen=True, kw_only=True)
 class AgentBackup(BaseBackup):
diff --git a/homeassistant/components/backup/websocket.py b/homeassistant/components/backup/websocket.py
index 93dd81c3c14..e130b9e950f 100644
--- a/homeassistant/components/backup/websocket.py
+++ b/homeassistant/components/backup/websocket.py
@@ -57,7 +57,7 @@ async def handle_info(
             "agent_errors": {
                 agent_id: str(err) for agent_id, err in agent_errors.items()
             },
-            "backups": [backup.as_frontend_json() for backup in backups.values()],
+            "backups": list(backups.values()),
             "last_attempted_automatic_backup": manager.config.data.last_attempted_automatic_backup,
             "last_completed_automatic_backup": manager.config.data.last_completed_automatic_backup,
             "last_non_idle_event": manager.last_non_idle_event,
@@ -91,7 +91,7 @@ async def handle_details(
             "agent_errors": {
                 agent_id: str(err) for agent_id, err in agent_errors.items()
             },
-            "backup": backup.as_frontend_json() if backup else None,
+            "backup": backup,
         },
     )
 
diff --git a/homeassistant/components/onboarding/views.py b/homeassistant/components/onboarding/views.py
index edf0b615779..1e29860e3c5 100644
--- a/homeassistant/components/onboarding/views.py
+++ b/homeassistant/components/onboarding/views.py
@@ -378,7 +378,7 @@ class BackupInfoView(BackupOnboardingView):
         backups, _ = await manager.async_get_backups()
         return self.json(
             {
-                "backups": [backup.as_frontend_json() for backup in backups.values()],
+                "backups": list(backups.values()),
                 "state": manager.state,
                 "last_non_idle_event": manager.last_non_idle_event,
             }
diff --git a/tests/components/backup/common.py b/tests/components/backup/common.py
index a7888dbd08c..1e7278134d4 100644
--- a/tests/components/backup/common.py
+++ b/tests/components/backup/common.py
@@ -5,7 +5,7 @@ from __future__ import annotations
 from collections.abc import AsyncIterator, Callable, Coroutine, Iterable
 from pathlib import Path
 from typing import Any
-from unittest.mock import ANY, AsyncMock, Mock, patch
+from unittest.mock import AsyncMock, Mock, patch
 
 from homeassistant.components.backup import (
     DOMAIN,
@@ -29,7 +29,7 @@ TEST_BACKUP_ABC123 = AgentBackup(
     backup_id="abc123",
     database_included=True,
     date="1970-01-01T00:00:00.000Z",
-    extra_metadata={"instance_id": ANY, "with_automatic_settings": True},
+    extra_metadata={"instance_id": "our_uuid", "with_automatic_settings": True},
     folders=[Folder.MEDIA, Folder.SHARE],
     homeassistant_included=True,
     homeassistant_version="2024.12.0",
diff --git a/tests/components/backup/conftest.py b/tests/components/backup/conftest.py
index d0d9ac7e0e1..eb38399eb79 100644
--- a/tests/components/backup/conftest.py
+++ b/tests/components/backup/conftest.py
@@ -18,6 +18,16 @@ from .common import TEST_BACKUP_PATH_ABC123, TEST_BACKUP_PATH_DEF456
 from tests.common import get_fixture_path
 
 
+@pytest.fixture(name="instance_id", autouse=True)
+def instance_id_fixture(hass: HomeAssistant) -> Generator[None]:
+    """Mock instance ID."""
+    with patch(
+        "homeassistant.components.backup.manager.instance_id.async_get",
+        return_value="our_uuid",
+    ):
+        yield
+
+
 @pytest.fixture(name="mocked_json_bytes")
 def mocked_json_bytes_fixture() -> Generator[Mock]:
     """Mock json_bytes."""
diff --git a/tests/components/backup/snapshots/test_backup.ambr b/tests/components/backup/snapshots/test_backup.ambr
index 68b00632a6b..28ee9b834c1 100644
--- a/tests/components/backup/snapshots/test_backup.ambr
+++ b/tests/components/backup/snapshots/test_backup.ambr
@@ -71,6 +71,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -94,6 +98,10 @@
           'backup_id': 'def456',
           'database_included': False,
           'date': '1980-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'unknown_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
diff --git a/tests/components/backup/snapshots/test_websocket.ambr b/tests/components/backup/snapshots/test_websocket.ambr
index 08c19906241..d5d15e98da6 100644
--- a/tests/components/backup/snapshots/test_websocket.ambr
+++ b/tests/components/backup/snapshots/test_websocket.ambr
@@ -3040,6 +3040,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3117,6 +3121,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3175,6 +3183,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3217,6 +3229,10 @@
           'backup_id': 'def456',
           'database_included': False,
           'date': '1980-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'unknown_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3270,6 +3286,10 @@
           'backup_id': 'def456',
           'database_included': False,
           'date': '1980-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'unknown_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3321,6 +3341,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3379,6 +3403,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3438,6 +3466,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3497,6 +3527,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
             'test.remote',
           ]),
@@ -3556,6 +3588,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3614,6 +3648,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3672,6 +3708,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -3730,6 +3768,8 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00Z',
+          'extra_metadata': dict({
+          }),
           'failed_agent_ids': list([
             'test.remote',
           ]),
@@ -3789,6 +3829,10 @@
         'backup_id': 'abc123',
         'database_included': True,
         'date': '1970-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'our_uuid',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
@@ -3828,6 +3872,10 @@
         'backup_id': 'abc123',
         'database_included': True,
         'date': '1970-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'our_uuid',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
@@ -3883,6 +3931,10 @@
         'backup_id': 'abc123',
         'database_included': True,
         'date': '1970-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'our_uuid',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
@@ -3923,6 +3975,10 @@
         'backup_id': 'abc123',
         'database_included': True,
         'date': '1970-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'our_uuid',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
@@ -4199,6 +4255,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -4246,6 +4306,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -4297,6 +4361,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -4339,6 +4407,10 @@
           'backup_id': 'def456',
           'database_included': False,
           'date': '1980-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'unknown_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -4367,6 +4439,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
@@ -4415,6 +4491,10 @@
           'backup_id': 'abc123',
           'database_included': True,
           'date': '1970-01-01T00:00:00.000Z',
+          'extra_metadata': dict({
+            'instance_id': 'our_uuid',
+            'with_automatic_settings': True,
+          }),
           'failed_agent_ids': list([
           ]),
           'folders': list([
diff --git a/tests/components/backup/test_manager.py b/tests/components/backup/test_manager.py
index b98cec47e8d..57f11ed4708 100644
--- a/tests/components/backup/test_manager.py
+++ b/tests/components/backup/test_manager.py
@@ -136,7 +136,7 @@ async def test_create_backup_service(
         agent_ids=["backup.local"],
         backup_name="Custom backup 2025.1.0",
         extra_metadata={
-            "instance_id": hass.data["core.uuid"],
+            "instance_id": "our_uuid",
             "with_automatic_settings": False,
         },
         include_addons=None,
@@ -595,7 +595,7 @@ async def test_initiate_backup(
         "compressed": True,
         "date": ANY,
         "extra": {
-            "instance_id": hass.data["core.uuid"],
+            "instance_id": "our_uuid",
             "with_automatic_settings": False,
         },
         "homeassistant": {
@@ -625,6 +625,7 @@ async def test_initiate_backup(
         "backup_id": backup_id,
         "database_included": include_database,
         "date": ANY,
+        "extra_metadata": {"instance_id": "our_uuid", "with_automatic_settings": False},
         "failed_agent_ids": [],
         "folders": [],
         "homeassistant_included": True,
@@ -675,6 +676,10 @@ async def test_initiate_backup_with_agent_error(
             "backup_id": "backup1",
             "database_included": True,
             "date": "1970-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "our_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -691,6 +696,10 @@ async def test_initiate_backup_with_agent_error(
             "backup_id": "backup2",
             "database_included": False,
             "date": "1980-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "unknown_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -713,6 +722,10 @@ async def test_initiate_backup_with_agent_error(
             "backup_id": "backup3",
             "database_included": True,
             "date": "1970-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "our_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -836,6 +849,7 @@ async def test_initiate_backup_with_agent_error(
         "backup_id": "abc123",
         "database_included": True,
         "date": ANY,
+        "extra_metadata": {"instance_id": "our_uuid", "with_automatic_settings": False},
         "failed_agent_ids": ["test.remote"],
         "folders": [],
         "homeassistant_included": True,
@@ -1770,6 +1784,10 @@ async def test_receive_backup_agent_error(
             "backup_id": "backup1",
             "database_included": True,
             "date": "1970-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "our_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -1786,6 +1804,10 @@ async def test_receive_backup_agent_error(
             "backup_id": "backup2",
             "database_included": False,
             "date": "1980-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "unknown_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -1808,6 +1830,10 @@ async def test_receive_backup_agent_error(
             "backup_id": "backup3",
             "database_included": True,
             "date": "1970-01-01T00:00:00.000Z",
+            "extra_metadata": {
+                "instance_id": "our_uuid",
+                "with_automatic_settings": True,
+            },
             "failed_agent_ids": [],
             "folders": [
                 "media",
@@ -3325,6 +3351,7 @@ async def test_initiate_backup_per_agent_encryption(
         "backup_id": backup_id,
         "database_included": True,
         "date": ANY,
+        "extra_metadata": {"instance_id": "our_uuid", "with_automatic_settings": False},
         "failed_agent_ids": [],
         "folders": [],
         "homeassistant_included": True,
diff --git a/tests/components/cloud/test_backup.py b/tests/components/cloud/test_backup.py
index c2513168ab9..5b2b8751311 100644
--- a/tests/components/cloud/test_backup.py
+++ b/tests/components/cloud/test_backup.py
@@ -174,6 +174,7 @@ async def test_agents_list_backups(
             "backup_id": "23e64aec",
             "date": "2024-11-22T11:48:48.727189+01:00",
             "database_included": True,
+            "extra_metadata": {},
             "folders": [],
             "homeassistant_included": True,
             "homeassistant_version": "2024.12.0.dev0",
@@ -223,6 +224,7 @@ async def test_agents_list_backups_fail_cloud(
                 "backup_id": "23e64aec",
                 "date": "2024-11-22T11:48:48.727189+01:00",
                 "database_included": True,
+                "extra_metadata": {},
                 "folders": [],
                 "homeassistant_included": True,
                 "homeassistant_version": "2024.12.0.dev0",
diff --git a/tests/components/google_drive/test_backup.py b/tests/components/google_drive/test_backup.py
index 7e455ebb535..115a30a3eb6 100644
--- a/tests/components/google_drive/test_backup.py
+++ b/tests/components/google_drive/test_backup.py
@@ -47,6 +47,7 @@ TEST_AGENT_BACKUP_RESULT = {
     "backup_id": "test-backup",
     "database_included": True,
     "date": "2025-01-01T01:23:45.678Z",
+    "extra_metadata": {"with_automatic_settings": False},
     "folders": [],
     "homeassistant_included": True,
     "homeassistant_version": "2024.12.0",
diff --git a/tests/components/hassio/test_backup.py b/tests/components/hassio/test_backup.py
index b755c5dc029..866431d6b19 100644
--- a/tests/components/hassio/test_backup.py
+++ b/tests/components/hassio/test_backup.py
@@ -509,6 +509,7 @@ async def test_agent_info(
                 "backup_id": "abc123",
                 "database_included": True,
                 "date": "1970-01-01T00:00:00+00:00",
+                "extra_metadata": {},
                 "failed_agent_ids": [],
                 "folders": ["share"],
                 "homeassistant_included": True,
@@ -528,6 +529,7 @@ async def test_agent_info(
                 "backup_id": "abc123",
                 "database_included": False,
                 "date": "1970-01-01T00:00:00+00:00",
+                "extra_metadata": {},
                 "failed_agent_ids": [],
                 "folders": ["share"],
                 "homeassistant_included": False,
@@ -680,6 +682,7 @@ async def test_agent_get_backup(
             "backup_id": "abc123",
             "database_included": True,
             "date": "1970-01-01T00:00:00+00:00",
+            "extra_metadata": {},
             "failed_agent_ids": [],
             "folders": ["share"],
             "homeassistant_included": True,
diff --git a/tests/components/kitchen_sink/test_backup.py b/tests/components/kitchen_sink/test_backup.py
index a664b91393d..7c693abcda8 100644
--- a/tests/components/kitchen_sink/test_backup.py
+++ b/tests/components/kitchen_sink/test_backup.py
@@ -2,7 +2,7 @@
 
 from collections.abc import AsyncGenerator
 from io import StringIO
-from unittest.mock import patch
+from unittest.mock import ANY, patch
 
 import pytest
 
@@ -106,6 +106,7 @@ async def test_agents_list_backups(
             "backup_id": "abc123",
             "database_included": False,
             "date": "1970-01-01T00:00:00Z",
+            "extra_metadata": {},
             "failed_agent_ids": [],
             "folders": ["media", "share"],
             "homeassistant_included": True,
@@ -187,6 +188,7 @@ async def test_agents_upload(
         "backup_id": "test-backup",
         "database_included": True,
         "date": "1970-01-01T00:00:00.000Z",
+        "extra_metadata": {"instance_id": ANY, "with_automatic_settings": False},
         "failed_agent_ids": [],
         "folders": ["media", "share"],
         "homeassistant_included": True,
diff --git a/tests/components/onboarding/snapshots/test_views.ambr b/tests/components/onboarding/snapshots/test_views.ambr
index b57c6cf96dd..2d084bd9ade 100644
--- a/tests/components/onboarding/snapshots/test_views.ambr
+++ b/tests/components/onboarding/snapshots/test_views.ambr
@@ -19,6 +19,10 @@
         'backup_id': 'abc123',
         'database_included': True,
         'date': '1970-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'abc123',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
@@ -42,6 +46,10 @@
         'backup_id': 'def456',
         'database_included': False,
         'date': '1980-01-01T00:00:00.000Z',
+        'extra_metadata': dict({
+          'instance_id': 'unknown_uuid',
+          'with_automatic_settings': True,
+        }),
         'failed_agent_ids': list([
         ]),
         'folders': list([
diff --git a/tests/components/onedrive/test_backup.py b/tests/components/onedrive/test_backup.py
index 3f8c29efa7e..0277c3da02e 100644
--- a/tests/components/onedrive/test_backup.py
+++ b/tests/components/onedrive/test_backup.py
@@ -88,6 +88,7 @@ async def test_agents_list_backups(
             "backup_id": "23e64aec",
             "date": "2024-11-22T11:48:48.727189+01:00",
             "database_included": True,
+            "extra_metadata": {},
             "folders": [],
             "homeassistant_included": True,
             "homeassistant_version": "2024.12.0.dev0",
@@ -123,6 +124,7 @@ async def test_agents_get_backup(
         "backup_id": "23e64aec",
         "date": "2024-11-22T11:48:48.727189+01:00",
         "database_included": True,
+        "extra_metadata": {},
         "folders": [],
         "homeassistant_included": True,
         "homeassistant_version": "2024.12.0.dev0",
diff --git a/tests/components/synology_dsm/test_backup.py b/tests/components/synology_dsm/test_backup.py
index bcd9f1aa4eb..d9d3867cd63 100644
--- a/tests/components/synology_dsm/test_backup.py
+++ b/tests/components/synology_dsm/test_backup.py
@@ -2,7 +2,7 @@
 
 from io import StringIO
 from typing import Any
-from unittest.mock import AsyncMock, MagicMock, Mock, patch
+from unittest.mock import ANY, AsyncMock, MagicMock, Mock, patch
 
 import pytest
 from synology_dsm.api.file_station.models import SynoFileFile, SynoFileSharedFolder
@@ -299,6 +299,7 @@ async def test_agents_list_backups(
             "backup_id": "abcd12ef",
             "date": "2025-01-09T20:14:35.457323+01:00",
             "database_included": True,
+            "extra_metadata": {"instance_id": ANY, "with_automatic_settings": True},
             "folders": [],
             "homeassistant_included": True,
             "homeassistant_version": "2025.2.0.dev0",
@@ -369,6 +370,7 @@ async def test_agents_list_backups_disabled_filestation(
                 "backup_id": "abcd12ef",
                 "date": "2025-01-09T20:14:35.457323+01:00",
                 "database_included": True,
+                "extra_metadata": {"instance_id": ANY, "with_automatic_settings": True},
                 "folders": [],
                 "homeassistant_included": True,
                 "homeassistant_version": "2025.2.0.dev0",
-- 
GitLab