"""Regression tests for external attack-surface hardening (BL-01–BL-04).""" import pytest class TestPublicPathMatching: def test_health_detail_not_public(self): from server.api.auth_jwt import _is_public_path assert _is_public_path("/health") is True assert _is_public_path("/health/detail") is False def test_bing_wallpapers_get_public_post_sync_protected(self): from server.api.auth_jwt import _is_public_path assert _is_public_path("/api/settings/bing-wallpapers", "GET") is True assert _is_public_path("/api/settings/bing-wallpaper", "GET") is True assert _is_public_path("/api/settings/bing-wallpapers/sync", "POST") is False def test_openapi_docs_off_by_default(self): from server.api.auth_jwt import _is_public_path assert _is_public_path("/openapi.json") is False assert _is_public_path("/docs") is False assert _is_public_path("/redoc") is False def test_agent_install_ws_prefixes_still_public(self): from server.api.auth_jwt import _is_public_path assert _is_public_path("/api/agent/heartbeat") is True assert _is_public_path("/api/install/status") is True assert _is_public_path("/ws/alerts") is True