from backend.app.core.policy import ContentPolicy def test_hard_block_always_denied() -> None: policy = ContentPolicy("internal-relaxed") decision = policy.evaluate("underage explicit scene", admin_override=True) assert not decision.allowed assert decision.reason == "blocked_illegal_content" def test_strict_blocks_sexual_without_override() -> None: policy = ContentPolicy("strict") decision = policy.evaluate("erotic portrait", admin_override=False) assert not decision.allowed def test_relaxed_allows_erotic_non_explicit() -> None: policy = ContentPolicy("internal-relaxed") decision = policy.evaluate("sensual adult portrait", admin_override=False) assert decision.allowed def test_relaxed_explicit_requires_override() -> None: policy = ContentPolicy("internal-relaxed") denied = policy.evaluate("hardcore porn scene", admin_override=False) allowed = policy.evaluate("hardcore porn scene", admin_override=True) assert not denied.allowed assert allowed.allowed