2026-05-06 21:02:31 +02:00
|
|
|
"""Coverage for roboco.api.schemas.provider helpers."""
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from types import SimpleNamespace
|
2026-06-14 13:43:46 +02:00
|
|
|
from typing import TYPE_CHECKING, cast
|
2026-05-06 21:02:31 +02:00
|
|
|
from uuid import uuid4
|
|
|
|
|
|
|
|
|
|
from roboco.api.schemas.provider import assignment_to_response
|
|
|
|
|
from roboco.models.base import AssignmentScope, ModelProvider
|
|
|
|
|
|
2026-06-14 13:43:46 +02:00
|
|
|
if TYPE_CHECKING:
|
|
|
|
|
from roboco.db.tables import ModelAssignmentTable
|
|
|
|
|
|
2026-05-06 21:02:31 +02:00
|
|
|
|
|
|
|
|
def test_assignment_to_response_round_trip() -> None:
|
|
|
|
|
provider = SimpleNamespace(type=ModelProvider.ANTHROPIC)
|
2026-06-14 13:43:46 +02:00
|
|
|
row = cast(
|
|
|
|
|
"ModelAssignmentTable",
|
|
|
|
|
SimpleNamespace(
|
|
|
|
|
id=uuid4(),
|
|
|
|
|
scope=AssignmentScope.GLOBAL,
|
|
|
|
|
scope_value=None,
|
|
|
|
|
provider=provider,
|
|
|
|
|
model_name="opus",
|
|
|
|
|
),
|
2026-05-06 21:02:31 +02:00
|
|
|
)
|
|
|
|
|
response = assignment_to_response(row)
|
|
|
|
|
assert response.scope == AssignmentScope.GLOBAL
|
|
|
|
|
assert response.provider_type == ModelProvider.ANTHROPIC
|
|
|
|
|
assert response.model_name == "opus"
|