diff --git a/tests/conftest.py b/tests/conftest.py index 1e3ff5a..98b192e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,67 +1,34 @@ import pytest -import tempfile -from pathlib import Path + +from shell_history_search.models import HistoryEntry, SearchResult +from shell_history_search.database import Database @pytest.fixture -def temp_home(monkeypatch): - with tempfile.TemporaryDirectory() as tmpdir: - home = Path(tmpdir) - monkeypatch.setenv("HOME", str(home)) - yield home +def sample_history_entry(): + return HistoryEntry( + id=1, + timestamp=1234567890.0, + command="ls -la", + exit_code=0, + shell="bash", + working_dir="/home/user" + ) @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" +def sample_search_result(): + return SearchResult( + command="ls -la", + timestamp=1234567890.0, + score=0.95, + shell="bash" + ) @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 +def temp_db(tmp_path): + db_path = tmp_path / "test_history.db" + db = Database(str(db_path)) + yield db + db.close()