Skip to main content
Glama

basic-memory

test_async_client.py2.11 kB
"""Tests for async_client configuration.""" import os from unittest.mock import patch from httpx import AsyncClient, ASGITransport, Timeout from basic_memory.config import ConfigManager from basic_memory.mcp.async_client import create_client def test_create_client_uses_asgi_when_no_remote_env(): """Test that create_client uses ASGI transport when BASIC_MEMORY_USE_REMOTE_API is not set.""" # Ensure env vars are not set (pop if they exist) with patch.dict("os.environ", clear=False): os.environ.pop("BASIC_MEMORY_USE_REMOTE_API", None) os.environ.pop("BASIC_MEMORY_CLOUD_MODE", None) client = create_client() assert isinstance(client, AsyncClient) assert isinstance(client._transport, ASGITransport) assert str(client.base_url) == "http://test" def test_create_client_uses_http_when_cloud_mode_env_set(): """Test that create_client uses HTTP transport when BASIC_MEMORY_CLOUD_MODE is set.""" config = ConfigManager().config with patch.dict("os.environ", {"BASIC_MEMORY_CLOUD_MODE": "True"}): client = create_client() assert isinstance(client, AsyncClient) assert not isinstance(client._transport, ASGITransport) # Cloud mode uses cloud_host/proxy as base_url assert str(client.base_url) == f"{config.cloud_host}/proxy/" def test_create_client_configures_extended_timeouts(): """Test that create_client configures 30-second timeouts for long operations.""" # Ensure env vars are not set (pop if they exist) with patch.dict("os.environ", clear=False): os.environ.pop("BASIC_MEMORY_USE_REMOTE_API", None) os.environ.pop("BASIC_MEMORY_CLOUD_MODE", None) client = create_client() # Verify timeout configuration assert isinstance(client.timeout, Timeout) assert client.timeout.connect == 10.0 # 10 seconds for connection assert client.timeout.read == 30.0 # 30 seconds for reading assert client.timeout.write == 30.0 # 30 seconds for writing assert client.timeout.pool == 30.0 # 30 seconds for pool

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/basicmachines-co/basic-memory'

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