Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions supervisor/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,9 @@ def _register_root(self) -> None:
api_root.coresys = self.coresys

self.webapp.add_routes([web.get("/info", api_root.info)])
self.webapp.add_routes([web.post("/reload_updates", api_root.reload_updates)])

# Deprecated
self.webapp.add_routes([web.post("/refresh_updates", api_root.refresh_updates)])
self.webapp.add_routes(
[web.get("/available_updates", api_root.available_updates)]
Expand Down
5 changes: 5 additions & 0 deletions supervisor/api/root.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,8 @@ async def refresh_updates(self, request: web.Request) -> None:
await asyncio.shield(
asyncio.gather(self.sys_updater.reload(), self.sys_store.reload())
)

@api_process
async def reload_updates(self, request: web.Request) -> None:
"""Refresh updater update information."""
await self.sys_updater.reload()
19 changes: 18 additions & 1 deletion tests/api/test_root.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
"""Test Supervisor API."""

# pylint: disable=protected-access
from unittest.mock import AsyncMock
from unittest.mock import AsyncMock, patch

from aiohttp.test_utils import TestClient

from supervisor.api.const import ATTR_AVAILABLE_UPDATES
from supervisor.coresys import CoreSys
Expand Down Expand Up @@ -78,3 +80,18 @@ async def test_api_refresh_updates(api_client, coresys: CoreSys):

assert coresys.updater.reload.called
assert coresys.store.reload.called


async def test_api_reload_updates(
coresys: CoreSys,
api_client: TestClient,
):
"""Test reload updates."""
with (
patch("supervisor.updater.Updater.fetch_data") as fetch_data,
):
resp = await api_client.post("/reload_updates")

fetch_data.assert_called_once_with()

assert resp.status == 200