/
YoungFreddy
/
NetologyPipeLineService
Обзор
Документация
Войти
/
YoungFreddy
/
NetologyPipeLineService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/test_api.py
60 строк
2 KB
Igor
Initial commit: LLM сервис с FastAPI, pipeline, ретраями, fallback, кэшем
18 июл 2026, 17:01
18 июл 2026, 17:01
5b26a48
Код
Авторство
О чём код?
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": "Сервис временно недоступен, попробуйте позже", } patcher = patch("config.loader.load_config", return_value=config) patcher.start() from fastapi.testclient import TestClient from api.main import app client = TestClient(app) def test_read_root(): response = client.get("/") assert response.status_code == 200 assert response.json()["message"] == "Welcome to LLM Service API" def test_chat_valid(): response = client.post("/chat", json={"message": "Hello"}) assert response.status_code == 200 assert "response" in response.json() assert "Hello" in response.json()["response"] def test_chat_empty_message(): response = client.post("/chat", json={"message": ""}) assert response.status_code == 422 def test_chat_long_message(): long_message = "a" * 1001 response = client.post("/chat", json={"message": long_message}) assert response.status_code == 422 def test_chat_missing_message(): response = client.post("/chat", 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()