Improve tests of backup exclusion (#141303)

This commit is contained in:
Erik Montnemery 2025-03-24 18:10:08 +01:00 committed by GitHub
parent 6661218220
commit 3132cba51f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 37 additions and 5 deletions

View File

@ -61,24 +61,48 @@ def path_glob_fixture(hass: HomeAssistant) -> Generator[MagicMock]:
CONFIG_DIR = {
"testing_config": [
"tests/testing_config": [
Path("test.txt"),
Path(".DS_Store"),
Path(".storage"),
Path("another_subdir"),
Path("backups"),
Path("tmp_backups"),
Path("tts"),
Path("home-assistant_v2.db"),
],
"backups": [
"/backups": [
Path("backups/backup.tar"),
Path("backups/not_backup"),
],
"tmp_backups": [
"/another_subdir": [
Path("another_subdir/backups"),
Path("another_subdir/tts"),
],
"another_subdir/backups": [
Path("another_subdir/backups/backup.tar"),
Path("another_subdir/backups/not_backup"),
],
"another_subdir/tts": [
Path("another_subdir/tts/voice.mp3"),
],
"/tmp_backups": [ # noqa: S108
Path("tmp_backups/forgotten_backup.tar"),
Path("tmp_backups/not_backup"),
],
"/tts": [
Path("tts/voice.mp3"),
],
}
CONFIG_DIR_DIRS = {
Path(".storage"),
Path("another_subdir"),
Path("another_subdir/backups"),
Path("another_subdir/tts"),
Path("backups"),
Path("tmp_backups"),
Path("tts"),
}
CONFIG_DIR_DIRS = {Path(".storage"), Path("backups"), Path("tmp_backups")}
@pytest.fixture(name="create_backup")
@ -105,7 +129,10 @@ def mock_backup_generation_fixture(
"""Mock backup generator."""
with (
patch("pathlib.Path.iterdir", lambda x: CONFIG_DIR.get(x.name, [])),
patch(
"pathlib.Path.iterdir",
lambda x: CONFIG_DIR.get(f"{x.parent.name}/{x.name}", []),
),
patch("pathlib.Path.stat", return_value=MagicMock(st_size=123)),
patch("pathlib.Path.is_file", lambda x: x not in CONFIG_DIR_DIRS),
patch("pathlib.Path.is_dir", lambda x: x in CONFIG_DIR_DIRS),

View File

@ -68,10 +68,15 @@ from tests.typing import ClientSessionGenerator, WebSocketGenerator
_EXPECTED_FILES = [
"test.txt",
".storage",
"another_subdir",
"another_subdir/backups",
"another_subdir/backups/not_backup",
"another_subdir/tts",
"backups",
"backups/not_backup",
"tmp_backups",
"tmp_backups/not_backup",
"tts",
]
_EXPECTED_FILES_WITH_DATABASE = {
True: [*_EXPECTED_FILES, "home-assistant_v2.db"],