/
YoungFreddy
/
FinalWork
Обзор
Документация
Войти
/
YoungFreddy
/
FinalWork
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_api.py
61 строка
2 KB
Igor
Initial commit: Q&A LLM service
23 июл 2026, 18:02
23 июл 2026, 18:02
e5e37db
Код
Авторство
О чём код?
from unittest.mock import patch config = { "api_key": None, "api_base": "https://api.openai.com/v1", "model": "gpt-3.5-turbo", "temperature": 0.7, "max_tokens": 1000, "api_timeout": 30.0, "max_retries": 3, "retry_delay_base": 1.0, "cache_enabled": True, "cache_ttl": 600, "system_prompt": "Ты — полезный ассистент. Отвечай на вопросы.", "fallback_response": "Сервис временно недоступен, попробуйте позже", "qa_max_question_length": 2000, "qa_min_question_length": 1, } patcher = patch("config.loader.load_config", return_value=config) patcher.start() from fastapi.testclient import TestClient # noqa: E402 from api.main import app # noqa: E402 client = TestClient(app) def test_read_root(): response = client.get("/") assert response.status_code == 200 data = response.json() assert data["service"] == "Q&A Service" def test_ask_valid(): response = client.post("/ask", json={"question": "Что такое Python?"}) assert response.status_code == 200 assert "answer" in response.json() def test_ask_empty_question(): response = client.post("/ask", json={"question": ""}) assert response.status_code == 422 def test_ask_long_question(): long_question = "a" * 2001 response = client.post("/ask", json={"question": long_question}) assert response.status_code == 422 def test_ask_missing_question(): response = client.post("/ask", json={}) assert response.status_code == 422 def test_cache_status(): response = client.get("/cache/status") assert response.status_code == 200 assert "cache_size" in response.json()