52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
import requests
|
|
import json
|
|
|
|
# Test the user edit endpoint
|
|
base_url = "http://localhost:8000"
|
|
|
|
# First, login as admin to get token
|
|
login_data = {
|
|
"username": "admin@example.com", # Update with your admin email
|
|
"password": "admin123" # Update with your admin password
|
|
}
|
|
|
|
response = requests.post(f"{base_url}/auth/login", data=login_data)
|
|
print("Login response:", response.status_code)
|
|
if response.status_code == 200:
|
|
token_data = response.json()
|
|
access_token = token_data["access_token"]
|
|
print("Access token obtained")
|
|
|
|
# Try to edit user 5
|
|
headers = {
|
|
"Authorization": f"Bearer {access_token}",
|
|
"Content-Type": "application/json"
|
|
}
|
|
|
|
# Test with minimal data
|
|
edit_data = {
|
|
"email": "test@example.com"
|
|
}
|
|
|
|
print(f"\nTesting PUT /users/5/admin with data: {json.dumps(edit_data, indent=2)}")
|
|
response = requests.put(f"{base_url}/users/5/admin", headers=headers, json=edit_data)
|
|
print(f"Response status: {response.status_code}")
|
|
print(f"Response body: {response.text}")
|
|
|
|
if response.status_code != 200:
|
|
print("\nTrying with all fields:")
|
|
edit_data_full = {
|
|
"first_name": "Test",
|
|
"last_name": "User",
|
|
"email": "test@example.com",
|
|
"role": "artist",
|
|
"is_approved": True,
|
|
"is_admin": False
|
|
}
|
|
print(f"Data: {json.dumps(edit_data_full, indent=2)}")
|
|
response = requests.put(f"{base_url}/users/5/admin", headers=headers, json=edit_data_full)
|
|
print(f"Response status: {response.status_code}")
|
|
print(f"Response body: {response.text}")
|
|
else:
|
|
print("Login failed:", response.text)
|