DFiP_Budget_planing/perf/tests/test_svod2_analysis.py
Andrey Epifancev 558ad815e0 perf: api_split, explain_manual и scale_compare для страниц и вариантов свода 2; README
api_split: GO/RF полный и compact ответ страницей 300, /facets, RF compact с поиском.
explain_manual: svod2_go_page, svod2_rf_page, svod2_rf_search, svod2_go_facets
(год из манифеста). scale_compare: svod2_key разводит полный ответ, страницу и facets.
README: раздел «Свод 2 после AURORA-1843» (порядок до/после, сверка, команды, --only/--repeats).
Тесты: perf/tests/test_svod2_analysis.py.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-29 00:34:11 +04:00

20 lines
847 B
Python

"""Самопроверка разборщиков свода 2 в perf/analysis (без стенда и БД)."""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "analysis"))
import explain_manual # noqa: E402
import scale_compare # noqa: E402
def test_svod2_key():
assert scale_compare.svod2_key("/api/v1/svod/2/GO/2026") == "GET свод 2 GO"
assert scale_compare.svod2_key("/api/v1/svod/2/RF/2026?view=compact&offset=0&limit=300") == "GET свод 2 RF страница"
assert scale_compare.svod2_key("/api/v1/svod/2/GO/2026/facets?search=1") == "GET свод 2 GO facets"
def test_explain_has_svod2_queries():
names = {q["name"] for q in explain_manual.queries(1, 2, 2026)}
assert {"svod2_go_page", "svod2_rf_page", "svod2_rf_search", "svod2_go_facets"} <= names