# """Tests for MCP delete_relations tool.""" # # import pytest # # from basic_memory.mcp.server import handle_call_tool # from basic_memory.schemas import SearchNodesResponse, CreateEntityResponse # # # @pytest.mark.asyncio # async def test_delete_relations(app): # """Test deleting relations between entities.""" # # Create test entities with relation # entities = { # "entities": [ # {"name": "RelSource", "entity_type": "test", "observations": ["Source entity"]}, # {"name": "RelTarget", "entity_type": "test", "observations": ["Target entity"]}, # ] # } # create_entity_result = await handle_call_tool("create_entities", entities) # 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 # relation = { # "relations": [ # { # "from_id": from_entity.id, # "to_id": to_entity.id, # "relation_type": "relates_to", # } # ] # } # await handle_call_tool("create_relations", relation) # # # Delete the relation # await handle_call_tool( # "delete_relations", # { # "relations": [ # { # "from_id": from_entity.id, # "to_id": to_entity.id, # "relation_type": "relates_to", # } # ] # }, # ) # # # Verify through search # search_result = await handle_call_tool("search_nodes", {"query": "relsource"}) # search_response = SearchNodesResponse.model_validate_json(search_result[0].resource.text) # pyright: ignore [reportAttributeAccessIssue] # # # Source entity should exist but have no relations # assert len(search_response.matches) == 1 # assert len(search_response.matches[0].relations) == 0