57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
"""
|
|
Debug script to test tasks endpoint with admin/coordinator user
|
|
"""
|
|
import requests
|
|
|
|
BASE_URL = "http://localhost:8000"
|
|
SHOT_ID = 1
|
|
|
|
# Login
|
|
login_response = requests.post(
|
|
f"{BASE_URL}/auth/login",
|
|
json={"email": "admin@vfx.com", "password": "admin123"}
|
|
)
|
|
|
|
if login_response.status_code == 200:
|
|
token = login_response.json()["access_token"]
|
|
print(f"✓ Logged in successfully")
|
|
|
|
# Get user info
|
|
headers = {"Authorization": f"Bearer {token}"}
|
|
me_response = requests.get(f"{BASE_URL}/users/me", headers=headers)
|
|
if me_response.status_code == 200:
|
|
user = me_response.json()
|
|
print(f"User: {user['email']}")
|
|
print(f"Role: {user['role']}")
|
|
print(f"Is Admin: {user['is_admin']}")
|
|
|
|
# Try without trailing slash
|
|
print(f"\n--- Testing GET /tasks?shot_id={SHOT_ID} (no trailing slash) ---")
|
|
response1 = requests.get(
|
|
f"{BASE_URL}/tasks",
|
|
params={"shot_id": SHOT_ID},
|
|
headers=headers,
|
|
allow_redirects=False # Don't follow redirects
|
|
)
|
|
print(f"Status: {response1.status_code}")
|
|
print(f"Headers: {dict(response1.headers)}")
|
|
if response1.status_code in [301, 302, 307, 308]:
|
|
print(f"Redirect to: {response1.headers.get('location')}")
|
|
|
|
# Try with trailing slash
|
|
print(f"\n--- Testing GET /tasks/?shot_id={SHOT_ID} (with trailing slash) ---")
|
|
response2 = requests.get(
|
|
f"{BASE_URL}/tasks/",
|
|
params={"shot_id": SHOT_ID},
|
|
headers=headers
|
|
)
|
|
print(f"Status: {response2.status_code}")
|
|
if response2.status_code == 200:
|
|
tasks = response2.json()
|
|
print(f"✓ Found {len(tasks)} tasks")
|
|
else:
|
|
print(f"Response: {response2.text[:500]}")
|
|
else:
|
|
print(f"✗ Login failed: {login_response.status_code}")
|
|
print(login_response.text)
|