Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import requests | |
import uuid | |
import time | |
def test_session_workflow(): | |
# Base URL | |
base_url = "http://localhost:8000" | |
# Create a unique session ID | |
session_id = str(uuid.uuid4()) | |
print(f"Testing with session ID: {session_id}") | |
# Step 1: Create a user and associate with session | |
print("\n1. Creating user...") | |
username = f"test_user_{session_id[:8]}" | |
email = f"{username}@example.com" | |
login_response = requests.post( | |
f"{base_url}/auth/login", | |
json={"username": username, "email": email, "session_id": session_id} | |
).json() | |
print(f"Login response: {login_response}") | |
# Step 2: Verify session state | |
print("\n2. Verifying session state...") | |
session_state = requests.get(f"{base_url}/debug/session/{session_id}").json() | |
print(f"Session state: {session_state}") | |
# Step 3: Make a chat request with this session | |
print("\n3. Making a test chat request...") | |
chat_response = requests.post( | |
f"{base_url}/chat/data_explorer", | |
json={"query": "Show me a summary of the dataset"}, | |
params={"session_id": session_id} | |
).json() | |
print(f"Chat response received: {len(str(chat_response))} bytes") | |
# Step 4: Verify session state again | |
print("\n4. Verifying session state after chat...") | |
session_state = requests.get(f"{base_url}/debug/session/{session_id}").json() | |
print(f"Updated session state: {session_state}") | |
# Step 5: Check analytics data | |
print("\n5. Checking analytics data...") | |
time.sleep(1) # Wait a moment for data to be saved | |
admin_key = "default-admin-key-change-me" # Adjust to your admin key | |
# Check general model usage | |
analytics_response = requests.get( | |
f"{base_url}/analytics/debug/model_usage", | |
headers={"X-Admin-API-Key": admin_key} | |
).json() | |
print(f"Total records in database: {analytics_response.get('total_records', 0)}") | |
if 'sample_records' in analytics_response and analytics_response['sample_records']: | |
print(f"Latest usage records: {analytics_response['sample_records']}") | |
else: | |
print("No sample records found in general model usage") | |
# Check user-specific usage | |
user_id = login_response.get('user_id') | |
if user_id: | |
user_usage = requests.get( | |
f"{base_url}/analytics/debug/user_usage/{user_id}", | |
headers={"X-Admin-API-Key": admin_key} | |
).json() | |
print(f"User {user_id} has {user_usage.get('total_records', 0)} usage records") | |
if user_usage.get('recent_records'): | |
print(f"Recent usage: {user_usage['recent_records']}") | |
else: | |
print(f"No usage records found for user {user_id}") | |
print("\nTest completed!") | |
if __name__ == "__main__": | |
test_session_workflow() |