mcp-text-editor

by tumf
MIT License
48
  • Apple
  • Linux
"""Tests for error response creation and hint/suggestion functionality.""" import pytest from mcp_text_editor.text_editor import TextEditor @pytest.fixture def editor(): """Create TextEditor instance.""" return TextEditor() def test_create_error_response_basic(editor): """Test basic error response without hint/suggestion.""" response = editor.create_error_response("Test error") assert response["result"] == "error" assert response["reason"] == "Test error" assert response["file_hash"] is None assert "hint" not in response assert "suggestion" not in response def test_create_error_response_with_hint_suggestion(editor): """Test error response with hint and suggestion.""" response = editor.create_error_response( "Test error", suggestion="append", hint="Please use append_text_file_contents" ) assert response["result"] == "error" assert response["reason"] == "Test error" assert response["suggestion"] == "append" assert response["hint"] == "Please use append_text_file_contents" def test_create_error_response_with_file_path(editor): """Test error response with file path.""" response = editor.create_error_response( "Test error", file_path="/test/file.txt", suggestion="patch", hint="Please try again", ) assert "/test/file.txt" in response assert response["/test/file.txt"]["result"] == "error" assert response["/test/file.txt"]["reason"] == "Test error" assert response["/test/file.txt"]["suggestion"] == "patch" assert response["/test/file.txt"]["hint"] == "Please try again" def test_create_error_response_with_hash(editor): """Test error response with content hash.""" test_hash = "test_hash_value" response = editor.create_error_response("Test error", content_hash=test_hash) assert response["result"] == "error" assert response["reason"] == "Test error" assert response["file_hash"] == test_hash