mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
# """Tests for the MCP server implementation using FastAPI TestClient."""
|
|
#
|
|
# import pytest
|
|
#
|
|
# from basic_memory.mcp.server import handle_call_tool
|
|
# from basic_memory.schemas import SearchNodesResponse, CreateEntityResponse
|
|
#
|
|
#
|
|
# @pytest.mark.asyncio
|
|
# async def test_create_relations(app):
|
|
# """Test creating relations between entities."""
|
|
# # Create two test entities
|
|
# entity_data = {
|
|
# "entities": [
|
|
# {"name": "TestEntityA", "entity_type": "test", "observations": ["Entity A"]},
|
|
# {"name": "TestEntityB", "entity_type": "test", "observations": ["Entity B"]},
|
|
# ]
|
|
# }
|
|
#
|
|
# create_entity_result = await handle_call_tool("create_entities", entity_data)
|
|
# create_entity_response = CreateEntityResponse.model_validate_json(
|
|
# create_entity_result[0].resource.text # pyright: ignore [reportAttributeAccessIssue]
|
|
# )
|
|
#
|
|
# from_entity = create_entity_response.entities[0]
|
|
# to_entity = create_entity_response.entities[1]
|
|
# # Create relation between them
|
|
# relation_data = {
|
|
# "relations": [
|
|
# {
|
|
# "from_id": from_entity.id,
|
|
# "to_id": to_entity.id,
|
|
# "relation_type": "relates_to",
|
|
# }
|
|
# ]
|
|
# }
|
|
#
|
|
# result = await handle_call_tool("create_relations", relation_data)
|
|
#
|
|
# # Verify through search
|
|
# search_result = await handle_call_tool("search_nodes", {"query": "TestEntityA"})
|
|
# response = SearchNodesResponse.model_validate_json(search_result[0].resource.text) # pyright: ignore [reportAttributeAccessIssue]
|
|
#
|
|
# assert len(response.matches) == 1
|
|
# entity = response.matches[0]
|
|
# assert len(entity.relations) == 1
|
|
# assert entity.relations[0].to_id == to_entity.id
|
|
# assert entity.relations[0].relation_type == "relates_to"
|