Files
shell-history-semantic-search/tests/conftest.py

68 lines
1.6 KiB
Python

import pytest
import tempfile
from pathlib import Path
@pytest.fixture
def temp_home(monkeypatch):
with tempfile.TemporaryDirectory() as tmpdir:
home = Path(tmpdir)
monkeypatch.setenv("HOME", str(home))
yield home
@pytest.fixture
def temp_db_path(temp_home):
db_dir = temp_home / ".local" / "share" / "shell_history_search"
db_dir.mkdir(parents=True, exist_ok=True)
return db_dir / "history.db"
@pytest.fixture
def temp_cache_dir(temp_home):
cache_dir = temp_home / ".cache" / "shell_history_search" / "models"
cache_dir.mkdir(parents=True, exist_ok=True)
return cache_dir
@pytest.fixture
def sample_bash_history(temp_home):
history_file = temp_home / ".bash_history"
history_file.write_text("""
git add .
git commit -m "Initial commit"
git push origin main
docker build -t myapp .
docker run -p 8080:8080 myapp
ls -la
cat /etc/os-release
""".strip())
return history_file
@pytest.fixture
def sample_zsh_history(temp_home):
history_file = temp_home / ".zsh_history"
history_file.write_text("""
: 1700000000:0;git pull origin main
: 1700000001:0;docker ps
: 1700000002:0;npm run build
: 1700000003:0;pytest tests/ -v
""".strip())
return history_file
@pytest.fixture
def sample_fish_history(temp_home):
history_file = temp_home / ".local" / "share" / "fish" / "fish_history"
history_file.parent.mkdir(parents=True, exist_ok=True)
history_file.write_text("""
- 1700000000
cmd docker-compose up -d
- 1700000001
cmd cargo build --release
- 1700000002
cmd curl localhost:8080/api/health
""".strip())
return history_file