Files
agentic_security/tests/routes/test_static.py
T
Alexander Myasoedov 8ddfec303f feat(poetry update):
2025-11-30 14:21:20 +02:00

60 lines
1.9 KiB
Python

from pathlib import Path
import pytest
from fastapi import FastAPI, HTTPException
from fastapi.testclient import TestClient
from agentic_security.primitives import Settings
from agentic_security.routes.static import get_static_file, router
app = FastAPI()
app.include_router(router)
client = TestClient(app)
def test_root_route():
"""Test the root route returns index.html"""
response = client.get("/")
assert response.status_code == 200
assert "text/html" in response.headers["content-type"]
def test_main_js_route():
"""Test the main.js route"""
response = client.get("/main.js")
assert response.status_code == 200
assert "application/javascript" in response.headers["content-type"]
assert "Cache-Control" in response.headers
def test_favicon_route():
"""Test the favicon route"""
response = client.get("/favicon.ico")
assert response.status_code == 200
assert "image/x-icon" in response.headers["content-type"]
assert "Cache-Control" in response.headers
def test_telemetry_js_route_enabled():
"""Test telemetry.js route when telemetry is enabled"""
Settings.DISABLE_TELEMETRY = False
response = client.get("/telemetry.js")
assert response.status_code == 200
assert "application/javascript" in response.headers["content-type"]
def test_telemetry_js_route_disabled():
"""Test telemetry.js route when telemetry is disabled"""
Settings.DISABLE_TELEMETRY = True
response = client.get("/telemetry.js")
assert response.status_code == 200
assert "application/javascript" in response.headers["content-type"]
def test_get_static_file_not_found():
"""Test get_static_file with non-existent file"""
with pytest.raises(HTTPException) as exc_info:
get_static_file(Path("nonexistent.file"))
assert exc_info.value.status_code == 404
assert exc_info.value.detail == "File not found"