add support of named resources

This commit is contained in:
2025-06-17 18:45:59 +03:00
parent 32f99f7f36
commit 930eccc55a
4 changed files with 36 additions and 6 deletions

View File

@ -2,12 +2,12 @@ import importlib
import pytest
import sys
import ahriman.web.middlewares.metrics_handler as metrics_handler
from aiohttp.web import HTTPNotFound
from pytest_mock import MockerFixture
from unittest.mock import AsyncMock
import ahriman.web.middlewares.metrics_handler as metrics_handler
async def test_metrics(mocker: MockerFixture) -> None:
"""

View File

@ -3,7 +3,7 @@ from pathlib import Path
from ahriman.core.configuration import Configuration
from ahriman.core.utils import walk
from ahriman.web.routes import _dynamic_routes, setup_routes
from ahriman.web.routes import _dynamic_routes, _identifier, setup_routes
def test_dynamic_routes(resource_path_root: Path, configuration: Configuration) -> None:
@ -22,9 +22,19 @@ def test_dynamic_routes(resource_path_root: Path, configuration: Configuration)
assert len(set(routes.values())) == len(expected_views)
def test_identifier() -> None:
"""
must correctly extract route identifiers
"""
assert _identifier("/") == "_"
assert _identifier("/api/v1/status") == "_api_v1_status"
assert _identifier("/api/v1/packages/{package}") == "_api_v1_packages_:package"
def test_setup_routes(application: Application, configuration: Configuration) -> None:
"""
must generate non-empty list of routes
"""
application.router._named_resources = {}
setup_routes(application, configuration)
assert application.router.routes()