Skip to main content
Glama
kzmshx
by kzmshx
test_query_schema.py2.38 kB
"""Tests for query_schema module.""" from datetime import date from frontmatter_mcp.query_schema import create_base_schema class TestCreateBaseSchema: """Tests for create_base_schema function.""" def test_basic_types(self) -> None: """Detect string and array types.""" records = [ {"path": "a.md", "date": date(2025, 11, 27), "tags": ["mcp"]}, {"path": "b.md", "date": date(2025, 11, 26), "tags": ["python", "duckdb"]}, ] schema = create_base_schema(records) # path is always included assert "path" in schema assert schema["path"]["type"] == "string" assert schema["path"]["nullable"] is False # All non-array values are reported as "string" assert schema["date"]["type"] == "string" assert schema["date"]["nullable"] is False # Arrays are detected assert schema["tags"]["type"] == "array" def test_nullable_detection(self) -> None: """Detect nullable fields when some records lack the property.""" records = [ {"path": "a.md", "title": "Title A", "summary": "Summary"}, {"path": "b.md", "title": "Title B"}, ] schema = create_base_schema(records) assert schema["title"]["nullable"] is False assert schema["summary"]["nullable"] is True # path is never nullable assert schema["path"]["nullable"] is False def test_examples_unique(self) -> None: """Examples are unique and limited by max_samples.""" records = [ {"path": "a.md", "category": "tech"}, {"path": "b.md", "category": "life"}, {"path": "c.md", "category": "tech"}, ] schema = create_base_schema(records, max_samples=2) assert len(schema["category"]["examples"]) == 2 assert "tech" in schema["category"]["examples"] assert "life" in schema["category"]["examples"] def test_path_included(self) -> None: """Path property should appear in schema.""" records = [{"path": "a.md", "title": "A"}] schema = create_base_schema(records) assert "path" in schema assert "title" in schema def test_empty_records(self) -> None: """Empty records return empty schema.""" schema = create_base_schema([]) assert schema == {}

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/kzmshx/frontmatter-mcp'

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