diff --git a/pyproject.toml b/pyproject.toml index 363a758..9df6bf9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,6 +50,7 @@ dev = [ "pytest-cov>=4.0.0", "responses>=0.24.0", "ruff>=0.4.0", + "tomli>=2.0.0; python_version < '3.11'", ] all = [ "hvac>=2.0.0", diff --git a/tests/test_cli_edge_cases.py b/tests/test_cli_edge_cases.py index a4ef9d1..dcd8c88 100644 --- a/tests/test_cli_edge_cases.py +++ b/tests/test_cli_edge_cases.py @@ -11,6 +11,11 @@ from __future__ import annotations +try: + import tomllib # Python 3.11+ +except ModuleNotFoundError: # Python 3.10 + import tomli as tomllib + import sys from pathlib import Path @@ -26,7 +31,9 @@ def _make_config(tmp_path, env_map): """Create minimal .envault.yml with list-formatted environments.""" config = { "project": "test", - "environments": [{"name": name, "env_file": path} for name, path in env_map.items()], + "environments": [ + {"name": name, "env_file": path} for name, path in env_map.items() + ], } config_path = tmp_path / ".envault.yml" with open(config_path, "w") as f: @@ -159,24 +166,26 @@ class TestPackagingQuality: def test_package_data_includes_py_typed(self): """pyproject.toml should have package-data config for py.typed.""" - import tomllib pyproject = Path(__file__).parent.parent / "pyproject.toml" with open(pyproject, "rb") as f: data = tomllib.load(f) pkg_data = data.get("tool", {}).get("setuptools", {}).get("package-data", {}) - assert "envault" in pkg_data, "Expected [tool.setuptools.package-data] section for 'envault'" + assert "envault" in pkg_data, ( + "Expected [tool.setuptools.package-data] section for 'envault'" + ) assert "py.typed" in pkg_data["envault"], ( f"Expected 'py.typed' in package-data for envault, got {pkg_data['envault']}" ) def test_ruff_known_first_party(self): """ruff known-first-party should be ['envault'], not ['*'].""" - import tomllib pyproject = Path(__file__).parent.parent / "pyproject.toml" with open(pyproject, "rb") as f: data = tomllib.load(f) - isort_cfg = data.get("tool", {}).get("ruff", {}).get("lint", {}).get("isort", {}) + isort_cfg = ( + data.get("tool", {}).get("ruff", {}).get("lint", {}).get("isort", {}) + ) kfp = isort_cfg.get("known-first-party", []) assert kfp == ["envault"], f"known-first-party should be ['envault'], got {kfp}"