44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
"""Раскладка пакетов: чистый импорт и пути, зависящие от места файла."""
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import sdlc_hub
|
|
|
|
|
|
def test_fresh_imports():
|
|
r = subprocess.run(
|
|
[sys.executable, "-c", "import sdlc_hub.core.api, sdlc_hub.core.mcp, sdlc_hub.modules.jira.mcp, sdlc_hub.cli"],
|
|
capture_output=True, text=True)
|
|
assert r.returncode == 0, r.stderr
|
|
|
|
|
|
def test_web_app_path():
|
|
from sdlc_hub.core import api
|
|
assert api.WEB_APP == Path(sdlc_hub.__file__).parent / "web" / "app"
|
|
|
|
|
|
def test_hub_root():
|
|
from sdlc_hub.core import mcp
|
|
assert (mcp.HUB_ROOT / "pyproject.toml").is_file()
|
|
|
|
|
|
def test_default_home(monkeypatch, tmp_path):
|
|
from sdlc_hub.core import paths
|
|
monkeypatch.delenv("SDLC_HUB_HOME", raising=False)
|
|
monkeypatch.setenv("HOME", str(tmp_path))
|
|
assert paths.home() == tmp_path / ".local" / "share" / "sdlc-hub"
|
|
|
|
|
|
def test_env_home(monkeypatch, tmp_path):
|
|
from sdlc_hub.core import paths
|
|
monkeypatch.setenv("SDLC_HUB_HOME", str(tmp_path / "x"))
|
|
assert paths.home() == tmp_path / "x"
|
|
|
|
|
|
def test_empty_env_home_is_default(monkeypatch, tmp_path):
|
|
from sdlc_hub.core import paths
|
|
monkeypatch.setenv("SDLC_HUB_HOME", "")
|
|
monkeypatch.setenv("HOME", str(tmp_path))
|
|
assert paths.home() == tmp_path / ".local" / "share" / "sdlc-hub"
|