AURORA-1677: arm_statements 0.1.2

This commit is contained in:
tsygankoviva 2026-10-30 13:58:52 +03:00
parent bdc8e555ff
commit f4df39ac23
4 changed files with 12 additions and 20 deletions

View File

@ -38,8 +38,3 @@ ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["src.parser", "src.parser.*"]
disallow_untyped_defs = true
# Установленная библиотека не поставляет py.typed.
[[tool.mypy.overrides]]
module = ["arm_statements", "arm_statements.*"]
ignore_missing_imports = true

View File

@ -43,7 +43,7 @@ Pygments==2.20.0
PyNaCl==1.5.0
python-dotenv==1.2.2
python-multipart==0.0.32
pylib_ai_arm_statements==0.1.1
pylib_ai_arm_statements==0.1.2
pyxlsb==1.0.10
PyYAML==6.0.3
rich==15.0.0

View File

@ -63,15 +63,14 @@ class NullParser:
)
def require_statements_version(path: Path | None = None) -> str:
def require_statements_version() -> str:
"""Версия библиотеки `arm_statements` для `service.statements_version`.
Библиотека читает VERSION или метаданные установленного пакета.
`path` позволяет явно указать файл версии в тестах. Без версии сервис не стартует.
Библиотека читает метаданные установленного пакета. Без версии сервис не стартует.
"""
version = statements_version(path)
version = statements_version()
if version is None:
raise RuntimeError("библиотека arm_statements без VERSION и версии пакета: выполните make install")
raise RuntimeError("библиотека arm_statements без версии пакета: выполните make install")
return version

View File

@ -925,17 +925,15 @@ async def test_worker_with_form_result_has_statements_version_in_result_file() -
assert [error.message for error in VALIDATORS["result"].iter_errors(stored)] == []
def test_require_statements_version_fails_without_file(tmp_path: Path) -> None:
with pytest.raises(RuntimeError, match="VERSION"):
require_statements_version(tmp_path / "VERSION")
def test_require_statements_version_fails_without_metadata(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setattr("src.parser.statements_version", lambda: None)
with pytest.raises(RuntimeError, match="без версии пакета"):
require_statements_version()
def test_require_statements_version_reads_the_marker(tmp_path: Path) -> None:
marker = tmp_path / "VERSION"
marker.write_text("abc1234\n", encoding="utf-8")
assert require_statements_version(marker) == "abc1234"
assert require_statements_version() # версия установленной библиотеки
def test_require_statements_version_reads_distribution(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setattr("src.parser.statements_version", lambda: "0.1.2")
assert require_statements_version() == "0.1.2"
def test_get_parser_wraps_rules_error_into_runtime_error(monkeypatch: pytest.MonkeyPatch) -> None: