102 lines
5.6 KiB
Python
102 lines
5.6 KiB
Python
"""
|
||
Тесты для monitoring_fuel эндпоинтов
|
||
"""
|
||
import pytest
|
||
import requests
|
||
|
||
|
||
class TestMonitoringFuelEndpoints:
|
||
"""Тесты эндпоинтов monitoring_fuel"""
|
||
|
||
def test_monitoring_fuel_get_total_by_columns(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных по колонкам и расчёт средних значений"""
|
||
# Пример из схемы MonitoringFuelTotalRequest
|
||
data = {
|
||
"columns": ["total", "normativ"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_total_by_columns", 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"✅ monitoring_fuel/get_total_by_columns работает: получены данные для колонок {data['columns']}")
|
||
|
||
def test_monitoring_fuel_get_month_by_code(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных за месяц"""
|
||
# Пример из схемы MonitoringFuelMonthRequest
|
||
data = {
|
||
"month": "02"
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_month_by_code", 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"✅ monitoring_fuel/get_month_by_code работает: получены данные за месяц {data['month']}")
|
||
|
||
def test_monitoring_fuel_get_series_by_id_and_columns(self, wait_for_api, api_base_url):
|
||
"""Тест получения временных рядов по ID и колонкам"""
|
||
# Пример из схемы MonitoringFuelSeriesRequest
|
||
data = {
|
||
"columns": ["total", "normativ"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_series_by_id_and_columns", 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"✅ monitoring_fuel/get_series_by_id_and_columns работает: получены временные ряды для колонок {data['columns']}")
|
||
|
||
def test_monitoring_fuel_get_total_by_columns_single_column(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных по одной колонке"""
|
||
data = {
|
||
"columns": ["total"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_total_by_columns", 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"✅ monitoring_fuel/get_total_by_columns с одной колонкой работает: получены данные для колонки {data['columns'][0]}")
|
||
|
||
def test_monitoring_fuel_get_month_by_code_different_month(self, wait_for_api, api_base_url):
|
||
"""Тест получения данных за другой месяц"""
|
||
data = {
|
||
"month": "01"
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_month_by_code", 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"✅ monitoring_fuel/get_month_by_code с другим месяцем работает: получены данные за месяц {data['month']}")
|
||
|
||
def test_monitoring_fuel_get_series_by_id_and_columns_single_column(self, wait_for_api, api_base_url):
|
||
"""Тест получения временных рядов по одной колонке"""
|
||
data = {
|
||
"columns": ["total"]
|
||
}
|
||
|
||
response = requests.post(f"{api_base_url}/monitoring_fuel/get_series_by_id_and_columns", 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"✅ monitoring_fuel/get_series_by_id_and_columns с одной колонкой работает: получены временные ряды для колонки {data['columns'][0]}") |