Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion python_template_server/routers/base_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class BaseRouter(ABC):

def __init__(self, prefix: str) -> None:
"""Initialize the base router."""
logger.info("Initializing router with prefix: %s", prefix)
logger.info("Initializing router with prefix: %s", prefix or "/")
self.router = APIRouter(prefix=prefix)

self.hashed_token: str = ""
Expand Down
10 changes: 8 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,16 @@ def mock_template_server_config(

# Server fixtures
@pytest.fixture(autouse=True)
def mock_template_server_router() -> TemplateServerRouter:
"""Provide a TemplateServerRouter instance for testing."""
def mock_limiter() -> Limiter:
"""Provide a mock Limiter instance for testing."""
mock_limiter = MagicMock(spec=Limiter)
mock_limiter.limit.return_value = MagicMock(return_value=MagicMock())
return mock_limiter


@pytest.fixture
def mock_template_server_router(mock_limiter: Limiter) -> TemplateServerRouter:
"""Provide a TemplateServerRouter instance for testing."""
TEMPLATE_SERVER_ROUTER.configure(
hashed_token="hashed_value", # noqa: S106
limiter=mock_limiter,
Expand Down
13 changes: 12 additions & 1 deletion tests/test_template_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
ResponseCode,
TemplateServerConfig,
)
from python_template_server.routers.template_server_router import TemplateServerRouter
from python_template_server.template_server import TemplateServer


Expand Down Expand Up @@ -54,10 +55,16 @@ def mock_template_server(
mock_template_server_config: TemplateServerConfig,
mock_tmp_config_path: Path,
mock_tmp_static_path: Path,
mock_template_server_router: TemplateServerRouter,
) -> Generator[TemplateServer]:
"""Provide a ExampleServer instance for testing."""
with (
patch("python_template_server.template_server.CertificateHandler", return_value=MagicMock(), autospec=True),
patch(
"python_template_server.template_server.TemplateServerRouter",
return_value=mock_template_server_router,
autospec=True,
),
):
mock_tmp_static_path.mkdir(parents=True, exist_ok=True)
(mock_tmp_static_path / "index.html").write_text(MOCK_INDEX_CONTENT)
Expand All @@ -79,14 +86,18 @@ def mock_client(mock_template_server: TemplateServer) -> TestClient:
class TestTemplateServer:
"""Unit tests for the TemplateServer class."""

def test_init(self, mock_template_server: TemplateServer) -> None:
def test_init(
self, mock_template_server: TemplateServer, mock_template_server_router: TemplateServerRouter
) -> None:
"""Test TemplateServer initialization."""
assert isinstance(mock_template_server.app, FastAPI)
assert mock_template_server.app.title == mock_template_server.package_metadata["Name"]
assert mock_template_server.app.description == mock_template_server.package_metadata["Summary"]
assert mock_template_server.app.version == mock_template_server.package_metadata["Version"]
assert mock_template_server.app.root_path == API_PREFIX
assert isinstance(mock_template_server.api_key_header, APIKeyHeader)
for route in mock_template_server_router.router.routes:
assert route in mock_template_server.app.routes

def test_init_token_hash_not_set(
self, mock_template_server_config: TemplateServerConfig, mock_tmp_config_path: Path, mock_tmp_static_path: Path
Expand Down