Skip to main content
Glama

Generalized MCP Server

by sarptandoven
test_pagination.py1.89 kB
"""unit tests for pagination detection.""" import pytest from src.pagination import PaginationDetector, PaginationAdapter import inspect def list_items(page: int = 1, per_page: int = 10): """function with pagination params.""" return [f"item-{i}" for i in range(page * per_page, (page + 1) * per_page)] def get_single_item(id: int): """function without pagination.""" return f"item-{id}" def test_detect_pagination_params(): """test detection of pagination parameters.""" detector = PaginationDetector() sig = inspect.signature(list_items) config = detector.detect(list_items, sig) assert config.has_pagination assert config.cursor_param == "page" assert config.limit_param == "per_page" def test_detect_no_pagination(): """test detection of non-paginated function.""" detector = PaginationDetector() sig = inspect.signature(get_single_item) config = detector.detect(get_single_item, sig) assert not config.has_pagination def test_pagination_adapter_executes_simple(): """test pagination adapter with simple function.""" from src.pagination import PaginationConfig adapter = PaginationAdapter(max_items=100) config = PaginationConfig(has_pagination=False) result = adapter.execute(get_single_item, (), {"id": 42}, config) assert result == "item-42" def test_pagination_adapter_with_iterator(): """test pagination adapter with iterator.""" from src.pagination import PaginationConfig def items_generator(): for i in range(200): yield f"item-{i}" adapter = PaginationAdapter(max_items=50) config = PaginationConfig(has_pagination=True, is_iterator=True) result = adapter.execute(items_generator, (), {}, config) assert isinstance(result, list) assert len(result) == 50 # capped at max_items

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/sarptandoven/generalized-mcp-converter'

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