mcp_old / tests /test_security_headers.py
tensorus's picture
Upload 90 files
1fcd4c4 verified
import os
from fastapi.testclient import TestClient
from tensorus.api import app
def test_security_headers_default(monkeypatch):
monkeypatch.delenv("TENSORUS_X_FRAME_OPTIONS", raising=False)
monkeypatch.delenv("TENSORUS_CONTENT_SECURITY_POLICY", raising=False)
with TestClient(app) as client:
resp = client.get("/")
assert resp.headers.get("X-Frame-Options") == "SAMEORIGIN"
assert resp.headers.get("Content-Security-Policy") == "default-src 'self'"
def test_security_headers_custom(monkeypatch):
monkeypatch.setenv("TENSORUS_X_FRAME_OPTIONS", "ALLOW-FROM https://example.com")
policy = "default-src 'self'; script-src 'self' https://cdn.example.com"
monkeypatch.setenv("TENSORUS_CONTENT_SECURITY_POLICY", policy)
with TestClient(app) as client:
resp = client.get("/")
assert resp.headers["X-Frame-Options"] == "ALLOW-FROM https://example.com"
assert resp.headers["Content-Security-Policy"] == policy
def test_security_headers_omitted(monkeypatch):
monkeypatch.setenv("TENSORUS_X_FRAME_OPTIONS", "NONE")
monkeypatch.setenv("TENSORUS_CONTENT_SECURITY_POLICY", "")
with TestClient(app) as client:
resp = client.get("/")
assert "X-Frame-Options" not in resp.headers
assert "Content-Security-Policy" not in resp.headers