Skip to main content
Glama
kltng

LCSH MCP Server

by kltng
test_server.py1.85 kB
""" Tests for the cataloger mcp server package. """ import pytest from cataloger_mcp_server.server import search_lcsh import requests from unittest.mock import patch def test_search_lcsh_basic(): """Test basic search functionality with a common subject heading.""" query = "history" result = search_lcsh(query) assert isinstance(result, dict) assert "results" in result assert isinstance(result["results"], list) assert len(result["results"]) > 0 for item in result["results"]: assert "label" in item assert "uri" in item assert isinstance(item["label"], str) assert isinstance(item["uri"], str) def test_search_lcsh_no_results(): """Test search with a query that should yield no results.""" query = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" result = search_lcsh(query) assert isinstance(result, dict) assert "results" in result assert isinstance(result["results"], list) assert len(result["results"]) == 0 def test_search_lcsh_empty_query(): """Test search with an empty query string.""" query = "" result = search_lcsh(query) assert isinstance(result, dict) assert "results" in result or "error" in result # If results, should be a list if "results" in result: assert isinstance(result["results"], list) def test_search_lcsh_invalid_api(): """Test handling of API errors.""" # Monkeypatch requests.get to simulate a network error def mock_get(*args, **kwargs): raise requests.ConnectionError("Simulated connection error") with patch("requests.get", mock_get): result = search_lcsh("history") assert isinstance(result, dict) assert "error" in result assert result["type"] == "ConnectionError" if __name__ == "__main__": pytest.main([__file__])

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/kltng/lcsh-mcp-server'

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