Skip to main content
Glama
test_zep_cloud_client.py6.51 kB
#!/usr/bin/env python3 """ Test script for the ZepCloudClient """ import sys import time import uuid from zep_cloud_client import ZepCloudClient def test_list_users(): """Test listing users""" print("\n=== Testing List Users ===") try: client = ZepCloudClient() users = client.list_users() print(f"Found {len(users)} users") # Print first 5 users for i, user in enumerate(users[:5]): print(f"User {i+1}: {user['user_id']}") return True except Exception as e: print(f"Error listing users: {str(e)}") return False def test_get_user(user_id: str): """Test getting a user""" print(f"\n=== Testing Get User: {user_id} ===") try: client = ZepCloudClient() user = client.get_user(user_id) if user: print(f"Found user: {user['user_id']}") print(f"Metadata: {user['metadata']}") return True else: print(f"User {user_id} not found") return False except Exception as e: print(f"Error getting user: {str(e)}") return False def test_create_user(): """Test creating a user""" # Generate a unique user ID test_user_id = f"test_user_{int(time.time())}_{str(uuid.uuid4())[:8]}" print(f"\n=== Testing Create User: {test_user_id} ===") try: client = ZepCloudClient() # Create user with metadata metadata = { "test": True, "created_at": time.time(), "description": "Test user created by ZepCloudClient test script" } user = client.create_user(test_user_id, metadata) if user: print(f"Created user: {user['user_id']}") print(f"Metadata: {user['metadata']}") # Now test getting the user time.sleep(1) # Brief pause to ensure user is created return test_get_user(test_user_id) else: print("Failed to create user") return False except Exception as e: print(f"Error creating user: {str(e)}") return False def test_update_user(user_id: str): """Test updating a user""" print(f"\n=== Testing Update User: {user_id} ===") try: client = ZepCloudClient() # Get current user user = client.get_user(user_id) if not user: print(f"User {user_id} not found for update test") return False # Update metadata metadata = user["metadata"].copy() if user["metadata"] else {} metadata.update({ "updated_at": time.time(), "update_test": True }) updated_user = client.update_user(user_id, metadata) if updated_user: print(f"Updated user: {updated_user['user_id']}") print(f"Updated metadata: {updated_user['metadata']}") return True else: print(f"Failed to update user {user_id}") return False except Exception as e: print(f"Error updating user: {str(e)}") return False def test_delete_user(user_id: str): """Test deleting a user""" print(f"\n=== Testing Delete User: {user_id} ===") try: client = ZepCloudClient() # Confirm user exists user = client.get_user(user_id) if not user: print(f"User {user_id} not found for delete test") return False # Delete user success = client.delete_user(user_id) if success: print(f"Successfully deleted user {user_id}") # Verify user is deleted time.sleep(1) # Brief pause to ensure user is deleted deleted_user = client.get_user(user_id) if deleted_user: print(f"WARNING: User {user_id} still exists after deletion") return False else: print(f"Confirmed user {user_id} no longer exists") return True else: print(f"Failed to delete user {user_id}") return False except Exception as e: print(f"Error deleting user: {str(e)}") return False def run_all_tests(): """Run all tests""" print("\n=== Running All Zep Cloud Client Tests ===\n") # Test listing users list_success = test_list_users() # Test creating a user create_success = test_create_user() # The rest of the tests depend on create_success if create_success: # Get the newly created user ID client = ZepCloudClient() users = client.list_users() test_users = [u for u in users if u["user_id"].startswith("test_user_")] if test_users: test_user_id = test_users[0]["user_id"] print(f"\nUsing test user: {test_user_id}") # Test updating user update_success = test_update_user(test_user_id) # Test deleting user delete_success = test_delete_user(test_user_id) # Report results print("\n=== Test Results ===") print(f"List Users: {'✅ SUCCESS' if list_success else '❌ FAILED'}") print(f"Create User: {'✅ SUCCESS' if create_success else '❌ FAILED'}") print(f"Update User: {'✅ SUCCESS' if update_success else '❌ FAILED'}") print(f"Delete User: {'✅ SUCCESS' if delete_success else '❌ FAILED'}") return list_success and create_success and update_success and delete_success else: print("No test users found after creation") return False else: # Report partial results print("\n=== Test Results ===") print(f"List Users: {'✅ SUCCESS' if list_success else '❌ FAILED'}") print(f"Create User: {'✅ SUCCESS' if create_success else '❌ FAILED'}") print("Update User: ❌ SKIPPED (Create failed)") print("Delete User: ❌ SKIPPED (Create failed)") return False if __name__ == "__main__": success = run_all_tests() if success: print("\n✅ All tests passed successfully!") sys.exit(0) else: print("\n❌ Some tests failed!") sys.exit(1)

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/fshamim/mcp-server-zep-cloud'

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