Skip to main content
Glama
test_wiki_page_edit.py2.56 kB
"""Test suite for MediaWiki edit handlers.""" from unittest.mock import MagicMock import pytest from mediawiki_api_mcp.client import MediaWikiClient from mediawiki_api_mcp.handlers.wiki_page_edit import handle_edit_page class TestEditHandlers: """Test cases for edit-related handlers.""" @pytest.fixture def mock_client(self): """Create a mock MediaWiki client.""" client = MagicMock(spec=MediaWikiClient) return client @pytest.mark.asyncio async def test_handle_edit_page_success(self, mock_client): """Test successful page edit.""" # Setup mock response mock_client.edit_page.return_value = { "result": "Success", "title": "Test Page", "newrevid": 12345, "newtimestamp": "2024-01-01T12:00:00Z" } arguments = { "title": "Test Page", "text": "Test content", "summary": "Test edit" } result = await handle_edit_page(mock_client, arguments) assert len(result) == 1 assert "Successfully edited page 'Test Page'" in result[0].text assert "New revision ID: 12345" in result[0].text @pytest.mark.asyncio async def test_handle_edit_page_missing_params(self, mock_client): """Test edit page with missing required parameters.""" arguments = {} result = await handle_edit_page(mock_client, arguments) assert len(result) == 1 assert "Error: Either 'title' or 'pageid' must be provided" in result[0].text @pytest.mark.asyncio async def test_handle_edit_page_failure(self, mock_client): """Test edit page failure response.""" mock_client.edit_page.return_value = { "result": "Failure", "error": "Permission denied" } arguments = { "title": "Test Page", "text": "Test content" } result = await handle_edit_page(mock_client, arguments) assert len(result) == 1 assert "Edit failed:" in result[0].text @pytest.mark.asyncio async def test_handle_edit_page_exception(self, mock_client): """Test edit page with client exception.""" mock_client.edit_page.side_effect = Exception("Network error") arguments = { "title": "Test Page", "text": "Test content" } result = await handle_edit_page(mock_client, arguments) assert len(result) == 1 assert "Error editing page: Network error" in result[0].text

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/entanglr/mediawiki-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server