Skip to main content
Glama

LoreKeeper MCP

by frap129
test_factory.py1.9 kB
"""Tests for ClientFactory.""" from lorekeeper_mcp.api_clients.dnd5e_api import Dnd5eApiClient from lorekeeper_mcp.api_clients.factory import ClientFactory from lorekeeper_mcp.api_clients.open5e_v1 import Open5eV1Client from lorekeeper_mcp.api_clients.open5e_v2 import Open5eV2Client def test_create_open5e_v1_client() -> None: """Test factory creates Open5eV1Client.""" client = ClientFactory.create_open5e_v1() assert isinstance(client, Open5eV1Client) assert client.base_url == "https://api.open5e.com/v1" def test_create_open5e_v2_client() -> None: """Test factory creates Open5eV2Client.""" client = ClientFactory.create_open5e_v2() assert isinstance(client, Open5eV2Client) assert client.base_url == "https://api.open5e.com/v2" def test_factory_with_custom_timeout() -> None: """Test factory accepts custom configuration.""" client = ClientFactory.create_open5e_v1(timeout=60.0) assert client.timeout == 60.0 async def test_factory_clients_are_independent() -> None: """Test that factory creates independent client instances.""" client1 = ClientFactory.create_open5e_v1() client2 = ClientFactory.create_open5e_v1() assert client1 is not client2 await client1.close() await client2.close() async def test_create_dnd5e_api() -> None: """Test creating D&D 5e API client via factory.""" client = ClientFactory.create_dnd5e_api() assert isinstance(client, Dnd5eApiClient) assert client.base_url == "https://www.dnd5eapi.co/api/2014" assert client.source_api == "dnd5e_api" assert client.cache_ttl == 604800 # 7 days await client.close() async def test_create_dnd5e_api_with_custom_ttl() -> None: """Test creating D&D 5e API client with custom cache TTL.""" client = ClientFactory.create_dnd5e_api(cache_ttl=1000) assert client.cache_ttl == 1000 await client.close()

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/frap129/lorekeeper-mcp'

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