import asyncio from app.services.conversation_service import conversation_service import time def test_qdrant_session_persistence(): print("\n--- Testing Qdrant Session Persistence ---") # 1. Init & Load print("Checking initial state (should lazy load)...") initial_identity = conversation_service.get_user_identity() print(f"Initial Identity: {initial_identity}") # 2. Set Identity print("Setting Identity to 'QdrantUser'...") conversation_service.set_user_identity("QdrantUser") # 3. Retrieve Identity (Immediate) identity = conversation_service.get_user_identity() print(f"Retrieved Identity: {identity}") assert identity["name"] == "QdrantUser" # 4. Set Context print("Setting Context to 'QdrantTopic'...") conversation_service.update_context({"name": "QdrantTopic", "notes": "Testing Qdrant Persistence"}) # 5. Retrieve Context context = conversation_service.get_context() print(f"Retrieved Context: {context}") assert context["name"] == "QdrantTopic" # 6. Simulate Restart (Create new service instance) print("\nSimulating App Restart (Re-instantiating ConversationService)...") from app.services.conversation_service import ConversationService new_service = ConversationService() # 7. Check Persistence print("Checking restored state...") restored_identity = new_service.get_user_identity() print(f"Restored Identity: {restored_identity}") if restored_identity["name"] == "QdrantUser": print("✅ Persistence Confirmed: Identity restored from Qdrant.") else: print(f"⚠️ Persistence Failed: Got {restored_identity['name']} (Expected 'QdrantUser')") print("Note: This might happen if Qdrant Cloud is unreachable or sync failed.") print("\n✅ Verification Steps Completed!") if __name__ == "__main__": test_qdrant_session_persistence()