Add new file

This commit is contained in:
Markov Andrey
2026-06-30 20:55:14 +00:00
parent 3be4048f97
commit 508daebe53

View File

@@ -0,0 +1,27 @@
"""
Интеграционные тесты для новых эндпоинтов RAG-сервера.
"""
import pytest
import httpx
from unittest.mock import AsyncMock, patch
# Используем httpx.AsyncClient для запросов к приложению
# Предполагаем, что приложение запущено в тестовом режиме или используем TestClient из FastAPI.
@pytest.mark.asyncio
async def test_clear_endpoint():
# В реальном тесте нужно запустить приложение и использовать TestClient.
# Здесь приведён пример с моками.
async with httpx.AsyncClient() as client:
# Мокаем зависимость
with patch("rag.rag_server.get_orchestrator") as mock_orch:
mock_orch.return_value.clear_kb = AsyncMock(return_value={"status": "ok"})
response = await client.post(
"http://localhost:8080/rag/clear",
json={"user_jid": "test@domain", "room_jid": None, "is_global": False},
headers={"X-API-Key": "testkey"}
)
assert response.status_code == 200
data = response.json()
assert data.get("status") == "ok"