Селектор строк данных свода 2 исключает скелетоны MRT, settle ждёт 0 скелетонов; first_rows_ms через waitForFunction(raf); счётчики загрузки не пишутся в запись фильтра; scale_compare различает view/search; api_split не считает строки для facets; README: порядок до/после и новые метрики. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
1.4 KiB
Python
25 lines
1.4 KiB
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 страница compact"
|
|
assert scale_compare.svod2_key("/api/v1/svod/2/RF/2026?view=full&offset=0&limit=300") == "GET свод 2 RF страница full"
|
|
assert scale_compare.svod2_key("/api/v1/svod/2/RF/2026?offset=0&limit=300") == "GET свод 2 RF страница"
|
|
assert scale_compare.svod2_key("/api/v1/svod/2/RF/2026?view=compact&limit=300&search=1") == "GET свод 2 RF страница compact поиск"
|
|
assert scale_compare.svod2_key("/api/v1/svod/2/GO/2026?view=full") == "GET свод 2 GO full"
|
|
assert scale_compare.svod2_key("/api/v1/svod/2/GO/2026?search=1") == "GET свод 2 GO поиск"
|
|
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
|