diff --git a/src/git/tests/test_server.py b/src/git/tests/test_server.py index 7d86f521..0ec4d52c 100644 --- a/src/git/tests/test_server.py +++ b/src/git/tests/test_server.py @@ -2,23 +2,29 @@ import pytest from pathlib import Path import git from mcp_server_git.server import git_checkout +import shutil -def test_git_checkout_existing_branch(tmp_path: Path): - # Setup test repo - repo = git.Repo.init(tmp_path) - Path(tmp_path / "test.txt").write_text("test") - repo.index.add(["test.txt"]) - repo.index.commit("initial commit") +@pytest.fixture +def test_repository(tmp_path: Path): + repo_path = tmp_path / "temp_test_repo" + test_repo = git.Repo.init(repo_path) - # Create and test branch - repo.git.branch("test-branch") - result = git_checkout(repo, "test-branch") + Path(repo_path / "test.txt").write_text("test") + test_repo.index.add(["test.txt"]) + test_repo.index.commit("initial commit") + + yield test_repo + + shutil.rmtree(repo_path) + +def test_git_checkout_existing_branch(test_repository): + test_repository.git.branch("test-branch") + result = git_checkout(test_repository, "test-branch") assert "Switched to branch 'test-branch'" in result - assert repo.active_branch.name == "test-branch" + assert test_repository.active_branch.name == "test-branch" -def test_git_checkout_nonexistent_branch(tmp_path: Path): - repo = git.Repo.init(tmp_path) +def test_git_checkout_nonexistent_branch(test_repository): with pytest.raises(git.GitCommandError): - git_checkout(repo, "nonexistent-branch") \ No newline at end of file + git_checkout(test_repository, "nonexistent-branch") \ No newline at end of file