58 lines
2.9 KiB
Python
58 lines
2.9 KiB
Python
"""
|
||
Тесты для svodka_ca эндпоинтов
|
||
"""
|
||
import pytest
|
||
import requests
|
||
|
||
|
||
class TestSvodkaCAEndpoints:
|
||
"""Тесты эндпоинтов svodka_ca"""
|
||
|
||
def test_svodka_ca_get_ca_data(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных из сводок СА"""
|
||
# Пример из схемы SvodkaCARequest
|
||
data = {
|
||
"modes": ["fact", "plan"],
|
||
"tables": ["table1", "table2"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", json=data)
|
||
|
||
assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}"
|
||
|
||
result = response.json()
|
||
assert result["success"] is True, f"Запрос не удался: {result}"
|
||
assert "data" in result, "Отсутствует поле 'data' в ответе"
|
||
print(f"✅ svodka_ca/get_ca_data работает: получены данные для режимов {data['modes']}")
|
||
|
||
def test_svodka_ca_get_ca_data_single_mode(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных из сводок СА для одного режима"""
|
||
data = {
|
||
"modes": ["fact"],
|
||
"tables": ["table1"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", json=data)
|
||
|
||
assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}"
|
||
|
||
result = response.json()
|
||
assert result["success"] is True, f"Запрос не удался: {result}"
|
||
assert "data" in result, "Отсутствует поле 'data' в ответе"
|
||
print(f"✅ svodka_ca/get_ca_data с одним режимом работает: получены данные для режима {data['modes'][0]}")
|
||
|
||
def test_svodka_ca_get_ca_data_multiple_tables(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных из сводок СА для нескольких таблиц"""
|
||
data = {
|
||
"modes": ["fact", "plan"],
|
||
"tables": ["table1", "table2", "table3"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/svodka_ca/get_ca_data", json=data)
|
||
|
||
assert response.status_code == 200, f"Ожидался статус 200, получен {response.status_code}: {response.text}"
|
||
|
||
result = response.json()
|
||
assert result["success"] is True, f"Запрос не удался: {result}"
|
||
assert "data" in result, "Отсутствует поле 'data' в ответе"
|
||
print(f"✅ svodka_ca/get_ca_data с несколькими таблицами работает: получены данные для {len(data['tables'])} таблиц") |