tests: centralize script path setup in conftest.py
Add a pytest-discovered tests/conftest.py for the last30days scripts path and remove duplicate per-file sys.path.insert boilerplate from tests. Normalize affected imports to rely on the shared scripts path and remove the now-unneeded E402 suppressions.
This commit is contained in:
@@ -12,19 +12,15 @@ from __future__ import annotations
|
||||
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "skills" / "last30days" / "scripts"))
|
||||
|
||||
from lib import env # noqa: E402
|
||||
from lib import env
|
||||
|
||||
SETUP_KEYCHAIN_SH = Path(__file__).resolve().parents[1] / "skills" / "last30days" / "scripts" / "setup-keychain.sh"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# _load_keychain unit tests
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -93,12 +89,10 @@ def test_load_keychain_skips_empty_stdout():
|
||||
mock.patch("subprocess.run", return_value=_run_result(0, "")):
|
||||
assert env._load_keychain(["XAI_API_KEY"]) == {}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# get_config integration tests
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def clean_env(monkeypatch, tmp_path):
|
||||
"""Hide every key get_config might touch and point CONFIG_FILE at a
|
||||
@@ -154,7 +148,6 @@ def test_get_config_openai_key_can_come_from_keychain(clean_env):
|
||||
assert cfg["OPENAI_API_KEY"] == "sk-from-kc"
|
||||
assert cfg["OPENAI_AUTH_SOURCE"] == "api_key"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Drift guard: lib/env.py KEYCHAIN_KEYS and setup-keychain.sh ALL_KEYS must
|
||||
# stay in lockstep. A mismatch means users storing a key via the helper script
|
||||
|
||||
Reference in New Issue
Block a user