mirror of
https://github.com/home-assistant/core.git
synced 2025-11-15 22:10:09 +00:00
Add support for custom weekly backup schedule (#136079)
* Add support for custom weekly backup schedule * Rename the new flag to custom_days * Make the store change backwards compatible * Improve comments
This commit is contained in:
@@ -71,9 +71,10 @@ DEFAULT_STORAGE_DATA: dict[str, Any] = {
|
||||
"copies": None,
|
||||
"days": None,
|
||||
},
|
||||
"schedule": {"state": "never", "time": None},
|
||||
"schedule": {"days": [], "recurrence": "never", "state": "never", "time": None},
|
||||
},
|
||||
}
|
||||
DAILY = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -924,7 +925,12 @@ async def test_agents_info(
|
||||
"retention": {"copies": 3, "days": 7},
|
||||
"last_attempted_automatic_backup": "2024-10-26T04:45:00+01:00",
|
||||
"last_completed_automatic_backup": "2024-10-26T04:45:00+01:00",
|
||||
"schedule": {"state": "daily", "time": None},
|
||||
"schedule": {
|
||||
"days": DAILY,
|
||||
"recurrence": "custom_days",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
@@ -949,7 +955,12 @@ async def test_agents_info(
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": None,
|
||||
"schedule": {"state": "never", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "never",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
@@ -974,7 +985,12 @@ async def test_agents_info(
|
||||
"retention": {"copies": None, "days": 7},
|
||||
"last_attempted_automatic_backup": "2024-10-27T04:45:00+01:00",
|
||||
"last_completed_automatic_backup": "2024-10-26T04:45:00+01:00",
|
||||
"schedule": {"state": "never", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "never",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
@@ -999,7 +1015,12 @@ async def test_agents_info(
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": None,
|
||||
"schedule": {"state": "mon", "time": None},
|
||||
"schedule": {
|
||||
"days": ["mon"],
|
||||
"recurrence": "custom_days",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
@@ -1024,7 +1045,42 @@ async def test_agents_info(
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": None,
|
||||
"schedule": {"state": "sat", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "never",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
"version": store.STORAGE_VERSION,
|
||||
"minor_version": store.STORAGE_VERSION_MINOR,
|
||||
},
|
||||
},
|
||||
{
|
||||
"backup": {
|
||||
"data": {
|
||||
"backups": [],
|
||||
"config": {
|
||||
"create_backup": {
|
||||
"agent_ids": ["test-agent"],
|
||||
"include_addons": None,
|
||||
"include_all_addons": False,
|
||||
"include_database": False,
|
||||
"include_folders": None,
|
||||
"name": None,
|
||||
"password": None,
|
||||
},
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": None,
|
||||
"schedule": {
|
||||
"days": ["mon", "sun"],
|
||||
"recurrence": "custom_days",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
},
|
||||
"key": DOMAIN,
|
||||
@@ -1069,17 +1125,22 @@ async def test_config_info(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"state": "daily", "time": "06:00"},
|
||||
"schedule": {"recurrence": "daily", "time": "06:00"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"state": "mon"},
|
||||
"schedule": {"days": ["mon"], "recurrence": "custom_days"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"days": ["mon", "sun"], "recurrence": "custom_days"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
@@ -1090,43 +1151,43 @@ async def test_config_info(
|
||||
"name": "test-name",
|
||||
"password": "test-password",
|
||||
},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": 3, "days": 7},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 7},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": 3},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"days": 7},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
],
|
||||
)
|
||||
@@ -1174,17 +1235,32 @@ async def test_config_update(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": "blah",
|
||||
"recurrence": "blah",
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"state": "someday"},
|
||||
"recurrence": "never",
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"schedule": {"time": "early"},
|
||||
"recurrence": {"state": "someday"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"recurrence": {"time": "early"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"recurrence": {"days": "mon"},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"recurrence": {"days": ["fun"]},
|
||||
},
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
@@ -1260,7 +1336,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
@@ -1279,7 +1355,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "mon"},
|
||||
"schedule": {"days": ["mon"], "recurrence": "custom_days"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
@@ -1298,7 +1374,11 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "mon", "time": "03:45"},
|
||||
"schedule": {
|
||||
"days": ["mon"],
|
||||
"recurrence": "custom_days",
|
||||
"time": "03:45",
|
||||
},
|
||||
}
|
||||
],
|
||||
"2024-11-11T03:45:00+01:00",
|
||||
@@ -1317,7 +1397,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "daily", "time": "03:45"},
|
||||
"schedule": {"recurrence": "daily", "time": "03:45"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T03:45:00+01:00",
|
||||
@@ -1336,7 +1416,26 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"days": ["wed", "fri"], "recurrence": "custom_days"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
"2024-11-13T04:55:00+01:00",
|
||||
"2024-11-15T04:55:00+01:00",
|
||||
"2024-11-13T04:55:00+01:00",
|
||||
"2024-11-13T04:55:00+01:00",
|
||||
"2024-11-13T04:55:00+01:00",
|
||||
1,
|
||||
2,
|
||||
BACKUP_CALL,
|
||||
None,
|
||||
),
|
||||
(
|
||||
[
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
@@ -1355,7 +1454,26 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"days": [], "recurrence": "custom_days"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
"2034-11-11T12:00:00+01:00", # ten years later and still no backups
|
||||
"2034-11-11T13:00:00+01:00",
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
None,
|
||||
0,
|
||||
0,
|
||||
None,
|
||||
None,
|
||||
),
|
||||
(
|
||||
[
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
}
|
||||
],
|
||||
"2024-10-26T04:45:00+01:00",
|
||||
@@ -1374,7 +1492,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "mon"},
|
||||
"schedule": {"days": ["mon"], "recurrence": "custom_days"},
|
||||
}
|
||||
],
|
||||
"2024-10-26T04:45:00+01:00",
|
||||
@@ -1393,7 +1511,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
"2024-10-26T04:45:00+01:00",
|
||||
@@ -1412,7 +1530,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
@@ -1431,7 +1549,7 @@ async def test_config_update_errors(
|
||||
{
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
}
|
||||
],
|
||||
"2024-11-11T04:45:00+01:00",
|
||||
@@ -1483,7 +1601,12 @@ async def test_config_schedule_logic(
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": last_completed_automatic_backup,
|
||||
"last_completed_automatic_backup": last_completed_automatic_backup,
|
||||
"schedule": {"state": "daily", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "daily",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
}
|
||||
hass_storage[DOMAIN] = {
|
||||
@@ -1553,7 +1676,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": None, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1592,7 +1715,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1631,7 +1754,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1660,7 +1783,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1704,7 +1827,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 2, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1748,7 +1871,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 2, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1787,7 +1910,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 2, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1826,7 +1949,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 0, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1870,7 +1993,7 @@ async def test_config_schedule_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 0, "days": None},
|
||||
"schedule": {"state": "daily"},
|
||||
"schedule": {"recurrence": "daily"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -1934,7 +2057,12 @@ async def test_config_retention_copies_logic(
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": last_backup_time,
|
||||
"schedule": {"state": "daily", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "daily",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
}
|
||||
hass_storage[DOMAIN] = {
|
||||
@@ -2005,7 +2133,7 @@ async def test_config_retention_copies_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": None, "days": None},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -2041,7 +2169,7 @@ async def test_config_retention_copies_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -2077,7 +2205,7 @@ async def test_config_retention_copies_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 3, "days": None},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -2118,7 +2246,7 @@ async def test_config_retention_copies_logic(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test.test-agent"]},
|
||||
"retention": {"copies": 2, "days": None},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
},
|
||||
{
|
||||
"backup-1": MagicMock(
|
||||
@@ -2192,7 +2320,12 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"retention": {"copies": None, "days": None},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": None,
|
||||
"schedule": {"state": "daily", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "daily",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
}
|
||||
hass_storage[DOMAIN] = {
|
||||
@@ -2320,7 +2453,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 2},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2356,7 +2489,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 2},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2392,7 +2525,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 3},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2428,7 +2561,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 2},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2469,7 +2602,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 2},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2505,7 +2638,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 2},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2541,7 +2674,7 @@ async def test_config_retention_copies_logic_manual_backup(
|
||||
"type": "backup/config/update",
|
||||
"create_backup": {"agent_ids": ["test-agent"]},
|
||||
"retention": {"copies": None, "days": 0},
|
||||
"schedule": {"state": "never"},
|
||||
"schedule": {"recurrence": "never"},
|
||||
}
|
||||
],
|
||||
{
|
||||
@@ -2613,7 +2746,12 @@ async def test_config_retention_days_logic(
|
||||
"retention": {"copies": None, "days": stored_retained_days},
|
||||
"last_attempted_automatic_backup": None,
|
||||
"last_completed_automatic_backup": last_backup_time,
|
||||
"schedule": {"state": "never", "time": None},
|
||||
"schedule": {
|
||||
"days": [],
|
||||
"recurrence": "never",
|
||||
"state": "never",
|
||||
"time": None,
|
||||
},
|
||||
},
|
||||
}
|
||||
hass_storage[DOMAIN] = {
|
||||
|
||||
Reference in New Issue
Block a user