Skip to main content
Glama
test_storage.py2.14 kB
"""RED: Tests for session storage.""" import pytest import threading from ids_mcp_server.session.storage import SessionStorage from ids_mcp_server.session.models import SessionData def test_storage_initialization(): """Test creating empty storage.""" storage = SessionStorage() assert storage is not None assert storage.get_all_session_ids() == [] def test_storage_set_and_get(): """Test storing and retrieving session data.""" storage = SessionStorage() session_data = SessionData(session_id="test-123") storage.set("test-123", session_data) retrieved = storage.get("test-123") assert retrieved is not None assert retrieved.metadata.session_id == "test-123" def test_storage_delete(): """Test deleting session data.""" storage = SessionStorage() session_data = SessionData(session_id="test-456") storage.set("test-456", session_data) assert storage.get("test-456") is not None storage.delete("test-456") assert storage.get("test-456") is None def test_storage_get_all_session_ids(): """Test getting all session IDs.""" storage = SessionStorage() storage.set("session-1", SessionData("session-1")) storage.set("session-2", SessionData("session-2")) storage.set("session-3", SessionData("session-3")) session_ids = storage.get_all_session_ids() assert len(session_ids) == 3 assert "session-1" in session_ids assert "session-2" in session_ids assert "session-3" in session_ids def test_storage_thread_safety(): """Test concurrent access to storage.""" storage = SessionStorage() errors = [] def create_session(sid): try: data = SessionData(session_id=sid) storage.set(sid, data) except Exception as e: errors.append(e) # Create 100 sessions concurrently threads = [ threading.Thread(target=create_session, args=(f"session-{i}",)) for i in range(100) ] for t in threads: t.start() for t in threads: t.join() assert len(errors) == 0 assert len(storage.get_all_session_ids()) == 100

Latest Blog Posts

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/vinnividivicci/ifc-ids-mcp'

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