"""Поиск и разбор DBML-модели для тестов: обёртка над `scripts.dbml_parity` с пропуском теста, если docs недоступен.""" from pathlib import Path import pytest from pydbml import PyDBML from scripts.dbml_parity import DBML_FILE_NAME, default_dbml_path, parse_dbml __all__ = ["DBML_FILE_NAME", "dbml_path", "load_dbml"] def dbml_path() -> Path: """Путь к DBML: каталог docs из `ARM_KA_DOCS`, иначе соседний `../../docs` относительно `arm-core/api`.""" return default_dbml_path() def load_dbml() -> PyDBML: """Разобрать DBML через pydbml; без файла — пропуск теста с явной причиной.""" path = dbml_path() if not path.is_file(): pytest.skip(f"docs недоступен: нет {path} (задайте ARM_KA_DOCS или положите docs рядом с arm-core)") return parse_dbml(path)