33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
from types import SimpleNamespace
|
|
|
|
from app.core.api.controllers.request_controller import RequestController
|
|
from app.core.api.domain.models.agent_request import AgentRequest
|
|
from app.schemas.orchestration import RequestExecutionStatus
|
|
|
|
|
|
def test_get_request_returns_route_selection() -> None:
|
|
request = AgentRequest.create("req-1", "sess-1", "Объясни /health", "v2")
|
|
request.status = RequestExecutionStatus.DONE
|
|
request.set_route(
|
|
routing_domain="DOCS",
|
|
intent="DOC_EXPLAIN",
|
|
subintent="SUMMARY",
|
|
subintent_label="объяснение документации",
|
|
subintent_comment="отвечаю на вопрос по существующей документации с опорой на найденные документы",
|
|
)
|
|
controller = RequestController(SimpleNamespace(get=lambda _request_id: request))
|
|
|
|
response = controller.get_request("req-1")
|
|
|
|
assert response.route is not None
|
|
assert response.route.routing_domain == "DOCS"
|
|
assert response.route.intent == "DOC_EXPLAIN"
|
|
assert response.route.subintent == "SUMMARY"
|
|
assert response.route.subintent_label == "объяснение документации"
|
|
assert (
|
|
response.route.subintent_comment
|
|
== "отвечаю на вопрос по существующей документации с опорой на найденные документы"
|
|
)
|