mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 12:59:34 +00:00
Simplify error handling in BackupAgent when a backup is not found (#139754)
Simplify error handling in BackupAgent when backup is not found
This commit is contained in:
@@ -67,15 +67,20 @@ async def aiter_from_iter(iterable: Iterable) -> AsyncIterator:
|
||||
def mock_backup_agent(name: str, backups: list[AgentBackup] | None = None) -> Mock:
|
||||
"""Create a mock backup agent."""
|
||||
|
||||
async def delete_backup(backup_id: str, **kwargs: Any) -> None:
|
||||
"""Mock delete."""
|
||||
get_backup(backup_id)
|
||||
|
||||
async def download_backup(backup_id: str, **kwargs: Any) -> AsyncIterator[bytes]:
|
||||
"""Mock download."""
|
||||
if not await get_backup(backup_id):
|
||||
raise BackupNotFound
|
||||
return aiter_from_iter((backups_data.get(backup_id, b"backup data"),))
|
||||
|
||||
async def get_backup(backup_id: str, **kwargs: Any) -> AgentBackup | None:
|
||||
async def get_backup(backup_id: str, **kwargs: Any) -> AgentBackup:
|
||||
"""Get a backup."""
|
||||
return next((b for b in backups if b.backup_id == backup_id), None)
|
||||
backup = next((b for b in backups if b.backup_id == backup_id), None)
|
||||
if backup is None:
|
||||
raise BackupNotFound
|
||||
return backup
|
||||
|
||||
async def upload_backup(
|
||||
*,
|
||||
@@ -99,7 +104,7 @@ def mock_backup_agent(name: str, backups: list[AgentBackup] | None = None) -> Mo
|
||||
mock_agent.unique_id = name
|
||||
type(mock_agent).agent_id = BackupAgent.agent_id
|
||||
mock_agent.async_delete_backup = AsyncMock(
|
||||
spec_set=[BackupAgent.async_delete_backup]
|
||||
side_effect=delete_backup, spec_set=[BackupAgent.async_delete_backup]
|
||||
)
|
||||
mock_agent.async_download_backup = AsyncMock(
|
||||
side_effect=download_backup, spec_set=[BackupAgent.async_download_backup]
|
||||
|
||||
Reference in New Issue
Block a user