from basic_memory.schemas.response import RelationResponse def test_relation_response_resolves_from_to_from_dict_fallbacks(): data = { "permalink": "rel/1", "relation_type": "relates_to", "context": "ctx", "to_name": None, "from_entity": {"permalink": None, "file_path": "From.md"}, "to_entity": {"permalink": None, "file_path": "To.md", "title": "To Title"}, } rel = RelationResponse.model_validate(data) assert rel.from_id == "From.md" assert rel.to_id == "To.md" assert rel.to_name == "To Title" def test_relation_response_resolves_from_to_from_orm_like_object_fallbacks(): class EntityLike: def __init__(self, permalink, file_path, title=None): self.permalink = permalink self.file_path = file_path self.title = title class RelationLike: def __init__(self): self.permalink = "rel/2" self.relation_type = "relates_to" self.context = "ctx" self.to_name = None self.from_entity = EntityLike(permalink=None, file_path="From2.md") self.to_entity = EntityLike(permalink=None, file_path="To2.md", title="To2 Title") rel = RelationResponse.model_validate(RelationLike()) assert rel.from_id == "From2.md" assert rel.to_id == "To2.md" assert rel.to_name == "To2 Title"