diff --git a/supervisor/api/supervisor.py b/supervisor/api/supervisor.py index cc4a62839b9..ceb150abe9b 100644 --- a/supervisor/api/supervisor.py +++ b/supervisor/api/supervisor.py @@ -108,8 +108,7 @@ async def info(self, request: web.Request) -> dict[str, Any]: ATTR_AUTO_UPDATE: self.sys_updater.auto_update, ATTR_DETECT_BLOCKING_IO: BlockBusterManager.is_enabled(), ATTR_COUNTRY: self.sys_config.country, - # Depricated - ATTR_WAIT_BOOT: self.sys_config.wait_boot, + # Deprecated ATTR_ADDONS: [ { ATTR_NAME: addon.name, @@ -123,10 +122,6 @@ async def info(self, request: web.Request) -> dict[str, Any]: } for addon in self.sys_addons.local.values() ], - ATTR_ADDONS_REPOSITORIES: [ - {ATTR_NAME: store.name, ATTR_SLUG: store.slug} - for store in self.sys_store.all - ], } @api_process @@ -182,20 +177,10 @@ async def options(self, request: web.Request) -> None: self.sys_config.detect_blocking_io = False BlockBusterManager.deactivate() - # Deprecated - if ATTR_WAIT_BOOT in body: - self.sys_config.wait_boot = body[ATTR_WAIT_BOOT] - # Save changes before processing addons in case of errors await self.sys_updater.save_data() await self.sys_config.save_data() - # Remove: 2022.9 - if ATTR_ADDONS_REPOSITORIES in body: - await asyncio.shield( - self.sys_store.update_repositories(set(body[ATTR_ADDONS_REPOSITORIES])) - ) - await self.sys_resolution.evaluate.evaluate_system() @api_process diff --git a/tests/api/test_supervisor.py b/tests/api/test_supervisor.py index 89ef87ce893..78e107f0817 100644 --- a/tests/api/test_supervisor.py +++ b/tests/api/test_supervisor.py @@ -12,9 +12,8 @@ from supervisor.const import CoreState from supervisor.core import Core from supervisor.coresys import CoreSys -from supervisor.exceptions import HassioError, HostNotSupportedError, StoreGitError +from supervisor.exceptions import HassioError, HostNotSupportedError from supervisor.homeassistant.const import WSEvent -from supervisor.store.repository import Repository from supervisor.supervisor import Supervisor from supervisor.updater import Updater @@ -35,81 +34,6 @@ async def test_api_supervisor_options_debug(api_client: TestClient, coresys: Cor assert coresys.config.debug -async def test_api_supervisor_options_add_repository( - api_client: TestClient, coresys: CoreSys, supervisor_internet: AsyncMock -): - """Test add a repository via POST /supervisor/options REST API.""" - assert REPO_URL not in coresys.store.repository_urls - - with ( - patch("supervisor.store.repository.RepositoryGit.load", return_value=None), - patch("supervisor.store.repository.RepositoryGit.validate", return_value=True), - ): - response = await api_client.post( - "/supervisor/options", json={"addons_repositories": [REPO_URL]} - ) - - assert response.status == 200 - assert REPO_URL in coresys.store.repository_urls - - -async def test_api_supervisor_options_remove_repository( - api_client: TestClient, coresys: CoreSys, test_repository: Repository -): - """Test remove a repository via POST /supervisor/options REST API.""" - assert test_repository.source in coresys.store.repository_urls - assert test_repository.slug in coresys.store.repositories - - response = await api_client.post( - "/supervisor/options", json={"addons_repositories": []} - ) - - assert response.status == 200 - assert test_repository.source not in coresys.store.repository_urls - assert test_repository.slug not in coresys.store.repositories - - -@pytest.mark.parametrize("git_error", [None, StoreGitError()]) -async def test_api_supervisor_options_repositories_skipped_on_error( - api_client: TestClient, coresys: CoreSys, git_error: StoreGitError -): - """Test repositories skipped on error via POST /supervisor/options REST API.""" - with ( - patch("supervisor.store.repository.RepositoryGit.load", side_effect=git_error), - patch("supervisor.store.repository.RepositoryGit.validate", return_value=False), - patch("supervisor.store.repository.RepositoryCustom.remove"), - ): - response = await api_client.post( - "/supervisor/options", json={"addons_repositories": [REPO_URL]} - ) - - assert response.status == 400 - assert len(coresys.resolution.suggestions) == 0 - assert REPO_URL not in coresys.store.repository_urls - - -async def test_api_supervisor_options_repo_error_with_config_change( - api_client: TestClient, coresys: CoreSys -): - """Test config change with add repository error via POST /supervisor/options REST API.""" - assert not coresys.config.debug - - with patch( - "supervisor.store.repository.RepositoryGit.load", side_effect=StoreGitError() - ): - response = await api_client.post( - "/supervisor/options", - json={"debug": True, "addons_repositories": [REPO_URL]}, - ) - - assert response.status == 400 - assert REPO_URL not in coresys.store.repository_urls - - assert coresys.config.debug - coresys.updater.save_data.assert_called_once() - coresys.config.save_data.assert_called_once() - - async def test_api_supervisor_options_auto_update( api_client: TestClient, coresys: CoreSys ):