Skip to main content
Glama

Optimized Memory MCP Server V2

by AgentWong
test_validation.py4.1 kB
""" Unit tests for model validation. Tests the core validation patterns required by the MCP specification: - Required field validation for all model types - Foreign key constraint enforcement - Relationship integrity rules - Data type validation - Schema validation for JSON fields Each test verifies that the database models properly enforce data integrity requirements for the MCP server implementation. """ import pytest from sqlalchemy.exc import IntegrityError from src.db.models.entities import Entity from src.db.models.relationships import Relationship from src.db.models.observations import Observation from src.main import create_server def test_entity_required_fields(db_session, mcp_server): """Test that entity required fields are enforced""" # Missing name with pytest.raises(IntegrityError): entity = Entity(entity_type="test_type") db_session.add(entity) db_session.commit() db_session.rollback() # Missing entity_type with pytest.raises(IntegrityError): entity = Entity(name="test_entity") db_session.add(entity) db_session.commit() db_session.rollback() def test_relationship_required_fields(db_session, mcp_server): """Test that relationship required fields are enforced""" entity1 = Entity(name="entity1", entity_type="test_type") entity2 = Entity(name="entity2", entity_type="test_type") db_session.add_all([entity1, entity2]) db_session.commit() # Missing source_id with pytest.raises(IntegrityError): rel = Relationship(target_id=entity2.id, relationship_type="test_rel") db_session.add(rel) db_session.commit() db_session.rollback() # Missing target_id with pytest.raises(IntegrityError): rel = Relationship(source_id=entity1.id, relationship_type="test_rel") db_session.add(rel) db_session.commit() db_session.rollback() def test_observation_required_fields(db_session, mcp_server): """Test that observation required fields are enforced""" # Create test entity first entity = Entity(name="test_entity", entity_type="test_type") db_session.add(entity) db_session.commit() # Test missing entity_id - should raise IntegrityError with pytest.raises(IntegrityError): obs = Observation( type="test", observation_type="test_obs", value={"test": "data"}, meta_data={}, ) db_session.add(obs) db_session.commit() # This should raise IntegrityError db_session.rollback() # Test missing observation_type with pytest.raises(IntegrityError): obs = Observation( entity_id=entity.id, type="test", value={"test": "data"}, meta_data={} ) db_session.add(obs) db_session.commit() db_session.rollback() def test_relationship_foreign_keys(db_session, mcp_server): """Test that relationship foreign keys are enforced""" entity = Entity(name="entity1", entity_type="test_type") db_session.add(entity) db_session.commit() # Invalid target_id - should raise IntegrityError with pytest.raises(IntegrityError): rel = Relationship( entity_id=entity.id, source_id=entity.id, target_id=99999, # Non-existent ID type="depends_on", relationship_type="test_rel", meta_data={}, ) db_session.add(rel) db_session.commit() # This should raise IntegrityError db_session.rollback() def test_observation_foreign_keys(db_session, mcp_server): """Test that observation foreign keys are enforced""" # Invalid entity_id - should raise IntegrityError with pytest.raises(IntegrityError): obs = Observation( entity_id=99999, # Non-existent ID type="test", observation_type="test_obs", value={"test": "data"}, meta_data={}, ) db_session.add(obs) db_session.commit() # This should raise IntegrityError db_session.rollback()

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/AgentWong/optimized-memory-mcp-serverv2'

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