Skip to content

Commit

Permalink
Fix no changelog API response
Browse files Browse the repository at this point in the history
  • Loading branch information
mdegat01 committed May 6, 2024
1 parent 1ac506b commit a63ea5f
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
3 changes: 2 additions & 1 deletion supervisor/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,6 @@ def _register_store(self) -> None:
web.get("/store", api_store.store_info),
web.get("/store/addons", api_store.addons_list),
web.get("/store/addons/{addon}", api_store.addons_addon_info),
web.get("/store/addons/{addon}/{version}", api_store.addons_addon_info),
web.get("/store/addons/{addon}/icon", api_store.addons_addon_icon),
web.get("/store/addons/{addon}/logo", api_store.addons_addon_logo),
web.get(
Expand All @@ -719,6 +718,8 @@ def _register_store(self) -> None:
"/store/addons/{addon}/update/{version}",
api_store.addons_addon_update,
),
# Must be below others since it has a wildcard in resource path
web.get("/store/addons/{addon}/{version}", api_store.addons_addon_info),
web.post("/store/reload", api_store.reload),
web.get("/store/repositories", api_store.repositories_list),
web.get(
Expand Down
2 changes: 1 addition & 1 deletion supervisor/api/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ async def addons_addon_changelog(self, request: web.Request) -> str:
"""Return changelog from add-on."""
addon = self._extract_addon(request)
if not addon.with_changelog:
raise APIError(f"No changelog found for add-on {addon.slug}!")
return f"No changelog found for add-on {addon.slug}!"

with addon.path_changelog.open("r") as changelog:
return changelog.read()
Expand Down
11 changes: 11 additions & 0 deletions tests/api/test_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,14 @@ async def container_events_task(*args, **kwargs):
assert resp.status == 200

await _container_events_task


@pytest.mark.parametrize("resource", ["store/addons", "addons"])
async def test_api_store_addons_no_changelog(
api_client: TestClient, coresys: CoreSys, store_addon: AddonStore, resource: str
):
"""Test /store/addons/{addon}/changelog REST API."""
resp = await api_client.get(f"/{resource}/{store_addon.slug}/changelog")
assert resp.status == 200
result = await resp.text()
assert result == "No changelog found for add-on test_store_addon!"

0 comments on commit a63ea5f

Please sign in to comment.