diff --git a/homeassistant/components/backup/__init__.py b/homeassistant/components/backup/__init__.py index 2f9019300db..ac37ef4ec59 100644 --- a/homeassistant/components/backup/__init__.py +++ b/homeassistant/components/backup/__init__.py @@ -5,7 +5,7 @@ from homeassistant.core import HomeAssistant, ServiceCall from homeassistant.helpers import config_validation as cv from homeassistant.helpers.typing import ConfigType -from .const import DOMAIN, LOGGER +from .const import DATA_MANAGER, DOMAIN, LOGGER from .http import async_register_http_views from .manager import BackupManager from .websocket import async_register_websocket_handlers @@ -16,7 +16,7 @@ CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN) async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the Backup integration.""" backup_manager = BackupManager(hass) - hass.data[DOMAIN] = backup_manager + hass.data[DATA_MANAGER] = backup_manager with_hassio = is_hassio(hass) diff --git a/homeassistant/components/backup/const.py b/homeassistant/components/backup/const.py index 3909f423d41..90faa33fc7f 100644 --- a/homeassistant/components/backup/const.py +++ b/homeassistant/components/backup/const.py @@ -1,8 +1,17 @@ """Constants for the Backup integration.""" +from __future__ import annotations + from logging import getLogger +from typing import TYPE_CHECKING + +from homeassistant.util.hass_dict import HassKey + +if TYPE_CHECKING: + from .manager import BackupManager DOMAIN = "backup" +DATA_MANAGER: HassKey[BackupManager] = HassKey(DOMAIN) LOGGER = getLogger(__package__) EXCLUDE_FROM_BACKUP = [ diff --git a/homeassistant/components/backup/websocket.py b/homeassistant/components/backup/websocket.py index 8deba33c8ba..dd42fe06afc 100644 --- a/homeassistant/components/backup/websocket.py +++ b/homeassistant/components/backup/websocket.py @@ -7,8 +7,7 @@ import voluptuous as vol from homeassistant.components import websocket_api from homeassistant.core import HomeAssistant, callback -from .const import DOMAIN, LOGGER -from .manager import BackupManager +from .const import DATA_MANAGER, LOGGER @callback @@ -33,7 +32,7 @@ async def handle_info( msg: dict[str, Any], ) -> None: """List all stored backups.""" - manager: BackupManager = hass.data[DOMAIN] + manager = hass.data[DATA_MANAGER] backups = await manager.get_backups() connection.send_result( msg["id"], @@ -58,8 +57,7 @@ async def handle_remove( msg: dict[str, Any], ) -> None: """Remove a backup.""" - manager: BackupManager = hass.data[DOMAIN] - await manager.remove_backup(msg["slug"]) + await hass.data[DATA_MANAGER].remove_backup(msg["slug"]) connection.send_result(msg["id"]) @@ -72,8 +70,7 @@ async def handle_create( msg: dict[str, Any], ) -> None: """Generate a backup.""" - manager: BackupManager = hass.data[DOMAIN] - backup = await manager.generate_backup() + backup = await hass.data[DATA_MANAGER].generate_backup() connection.send_result(msg["id"], backup) @@ -86,7 +83,7 @@ async def handle_backup_start( msg: dict[str, Any], ) -> None: """Backup start notification.""" - manager: BackupManager = hass.data[DOMAIN] + manager = hass.data[DATA_MANAGER] manager.backing_up = True LOGGER.debug("Backup start notification") @@ -108,7 +105,7 @@ async def handle_backup_end( msg: dict[str, Any], ) -> None: """Backup end notification.""" - manager: BackupManager = hass.data[DOMAIN] + manager = hass.data[DATA_MANAGER] manager.backing_up = False LOGGER.debug("Backup end notification") diff --git a/tests/components/backup/test_http.py b/tests/components/backup/test_http.py index baf1798534a..b4d9c52d055 100644 --- a/tests/components/backup/test_http.py +++ b/tests/components/backup/test_http.py @@ -23,7 +23,7 @@ async def test_downloading_backup( with ( patch( - "homeassistant.components.backup.http.BackupManager.get_backup", + "homeassistant.components.backup.manager.BackupManager.get_backup", return_value=TEST_BACKUP, ), patch("pathlib.Path.exists", return_value=True), diff --git a/tests/components/backup/test_init.py b/tests/components/backup/test_init.py index 9fdfa978f94..0472111e33e 100644 --- a/tests/components/backup/test_init.py +++ b/tests/components/backup/test_init.py @@ -33,7 +33,7 @@ async def test_create_service( await setup_backup_integration(hass) with patch( - "homeassistant.components.backup.websocket.BackupManager.generate_backup", + "homeassistant.components.backup.manager.BackupManager.generate_backup", ) as generate_backup: await hass.services.async_call( DOMAIN, diff --git a/tests/components/backup/test_websocket.py b/tests/components/backup/test_websocket.py index e11278202e0..388aba6bc04 100644 --- a/tests/components/backup/test_websocket.py +++ b/tests/components/backup/test_websocket.py @@ -45,7 +45,7 @@ async def test_info( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.get_backups", + "homeassistant.components.backup.manager.BackupManager.get_backups", return_value={TEST_BACKUP.slug: TEST_BACKUP}, ): await client.send_json_auto_id({"type": "backup/info"}) @@ -72,7 +72,7 @@ async def test_remove( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.remove_backup", + "homeassistant.components.backup.manager.BackupManager.remove_backup", ): await client.send_json_auto_id({"type": "backup/remove", "slug": "abc123"}) assert snapshot == await client.receive_json() @@ -98,7 +98,7 @@ async def test_generate( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.generate_backup", + "homeassistant.components.backup.manager.BackupManager.generate_backup", return_value=TEST_BACKUP, ): await client.send_json_auto_id({"type": "backup/generate"}) @@ -132,7 +132,7 @@ async def test_backup_end( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.post_backup_actions", + "homeassistant.components.backup.manager.BackupManager.post_backup_actions", ): await client.send_json_auto_id({"type": "backup/end"}) assert snapshot == await client.receive_json() @@ -165,7 +165,7 @@ async def test_backup_start( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.pre_backup_actions", + "homeassistant.components.backup.manager.BackupManager.pre_backup_actions", ): await client.send_json_auto_id({"type": "backup/start"}) assert snapshot == await client.receive_json() @@ -193,7 +193,7 @@ async def test_backup_end_excepion( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.post_backup_actions", + "homeassistant.components.backup.manager.BackupManager.post_backup_actions", side_effect=exception, ): await client.send_json_auto_id({"type": "backup/end"}) @@ -222,7 +222,7 @@ async def test_backup_start_excepion( await hass.async_block_till_done() with patch( - "homeassistant.components.backup.websocket.BackupManager.pre_backup_actions", + "homeassistant.components.backup.manager.BackupManager.pre_backup_actions", side_effect=exception, ): await client.send_json_auto_id({"type": "backup/start"})