Files
basicmachines-co-basic-memory/tests/api/test_async_client.py
T
Paul Hernandez 473f70c949 chore: Cloud auth (#213)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-07 21:08:25 -05:00

37 lines
1.4 KiB
Python

"""Tests for async_client configuration."""
import pytest
from unittest.mock import patch
from httpx import AsyncClient, ASGITransport
from basic_memory.mcp.async_client import create_client
from basic_memory.config import BasicMemoryConfig
def test_create_client_uses_asgi_when_no_api_url():
"""Test that create_client uses ASGI transport when api_url is None."""
mock_config = BasicMemoryConfig(api_url=None)
with patch('basic_memory.mcp.async_client.ConfigManager') as mock_config_manager:
mock_config_manager.return_value.load_config.return_value = mock_config
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_api_url_set():
"""Test that create_client uses HTTP transport when api_url is configured."""
remote_url = "https://api.basicmemory.example.com"
mock_config = BasicMemoryConfig(api_url=remote_url)
with patch('basic_memory.mcp.async_client.ConfigManager') as mock_config_manager:
mock_config_manager.return_value.load_config.return_value = mock_config
client = create_client()
assert isinstance(client, AsyncClient)
assert not isinstance(client._transport, ASGITransport)
assert str(client.base_url) == remote_url