Files
roboco/tests/unit/api/test_schemas_channels.py
T
2026-05-06 21:02:31 +02:00

26 lines
863 B
Python

"""Coverage for roboco.api.schemas.channels.require_channel_admin."""
from __future__ import annotations
from http import HTTPStatus
from uuid import uuid4
import pytest
from fastapi import HTTPException
from roboco.api.schemas.channels import require_channel_admin
from roboco.models import AgentRole, Team
from roboco.models.permissions import AgentContext
def test_require_channel_admin_allows_ceo() -> None:
ctx = AgentContext(agent_id=uuid4(), role=AgentRole.CEO)
require_channel_admin(ctx) # No raise.
def test_require_channel_admin_denies_developer() -> None:
"""Line 84: developer raises HTTPException(403)."""
ctx = AgentContext(agent_id=uuid4(), role=AgentRole.DEVELOPER, team=Team.BACKEND)
with pytest.raises(HTTPException) as exc:
require_channel_admin(ctx)
assert exc.value.status_code == HTTPStatus.FORBIDDEN