From 0ef254bc9ad97bdd131f9e930e7dc5e107ce3087 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen <balloob@gmail.com> Date: Fri, 3 Jan 2025 00:21:19 -0500 Subject: [PATCH] Fix backup dir not existing (#134506) --- homeassistant/components/backup/manager.py | 1 + tests/components/backup/test_manager.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/homeassistant/components/backup/manager.py b/homeassistant/components/backup/manager.py index 33405d97883..4d509003a21 100644 --- a/homeassistant/components/backup/manager.py +++ b/homeassistant/components/backup/manager.py @@ -1294,6 +1294,7 @@ class CoreBackupReaderWriter(BackupReaderWriter): if self._local_agent_id in agent_ids: local_agent = manager.local_backup_agents[self._local_agent_id] tar_file_path = local_agent.get_backup_path(backup.backup_id) + await async_add_executor_job(make_backup_dir, tar_file_path.parent) await async_add_executor_job(shutil.move, temp_file, tar_file_path) else: tar_file_path = temp_file diff --git a/tests/components/backup/test_manager.py b/tests/components/backup/test_manager.py index 0797eef2274..ad90e2e23bf 100644 --- a/tests/components/backup/test_manager.py +++ b/tests/components/backup/test_manager.py @@ -1397,6 +1397,9 @@ async def test_receive_backup( with ( patch("pathlib.Path.open", open_mock), + patch( + "homeassistant.components.backup.manager.make_backup_dir" + ) as make_backup_dir_mock, patch("shutil.move") as move_mock, patch( "homeassistant.components.backup.manager.read_backup", @@ -1412,6 +1415,7 @@ async def test_receive_backup( assert resp.status == 201 assert open_mock.call_count == open_call_count + assert make_backup_dir_mock.call_count == move_call_count + 1 assert move_mock.call_count == move_call_count for index, name in enumerate(move_path_names): assert move_mock.call_args_list[index].args[1].name == name -- GitLab