def test_memory_system_server_exposes_routes(): from memory_system_api.server import app paths = {route.path for route in app.routes} assert "/memory-system/users" in paths assert "/memory-system/messages" in paths assert "/memory-system/sessions/{session_id}/context" in paths context_methods = { method for route in app.routes if getattr(route, "path", "") == "/memory-system/sessions/{session_id}/context" for method in getattr(route, "methods", set()) } assert {"GET", "POST"} <= context_methods assert "/memory-system/search" in paths assert "/memory-system/users/{user_id}/profile" in paths task_methods = { method for route in app.routes if getattr(route, "path", "") == "/memory-system/openviking/tasks/{task_id}" for method in getattr(route, "methods", set()) } profile_methods = { method for route in app.routes if getattr(route, "path", "") == "/memory-system/users/{user_id}/profile" for method in getattr(route, "methods", set()) } assert {"GET", "POST"} <= task_methods assert {"GET", "POST"} <= profile_methods def test_memory_system_messages_does_not_require_account_key_header(): from memory_system_api.server import app route = next(route for route in app.routes if getattr(route, "path", "") == "/memory-system/messages") assert all(getattr(dependency.call, "__name__", "") != "account_key_header" for dependency in route.dependant.dependencies)