Init Repo
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test custom task status support in the optimized asset router.
|
||||
"""
|
||||
|
||||
import requests
|
||||
import json
|
||||
|
||||
def test_custom_status_support():
|
||||
BASE_URL = 'http://localhost:8000'
|
||||
|
||||
# Login
|
||||
login_response = requests.post(f'{BASE_URL}/auth/login', json={'email': 'admin@vfx.com', 'password': 'admin123'})
|
||||
if login_response.status_code != 200:
|
||||
print("❌ Login failed")
|
||||
return
|
||||
|
||||
token = login_response.json()['access_token']
|
||||
headers = {'Authorization': f'Bearer {token}'}
|
||||
|
||||
# Get projects to find one with custom task types
|
||||
projects_response = requests.get(f'{BASE_URL}/projects/', headers=headers)
|
||||
if projects_response.status_code != 200:
|
||||
print("❌ Failed to get projects")
|
||||
return
|
||||
|
||||
projects = projects_response.json()
|
||||
project_id = projects[0]['id'] if projects else 2
|
||||
|
||||
print(f'Testing custom status support with project {project_id}...')
|
||||
|
||||
# Test list assets with custom task types
|
||||
response = requests.get(f'{BASE_URL}/assets/?project_id={project_id}', headers=headers)
|
||||
print(f'List assets status: {response.status_code}')
|
||||
|
||||
if response.status_code == 200:
|
||||
assets = response.json()
|
||||
print(f'Assets returned: {len(assets)}')
|
||||
|
||||
if assets:
|
||||
asset = assets[0]
|
||||
task_status = asset.get('task_status', {})
|
||||
task_details = asset.get('task_details', [])
|
||||
|
||||
print(f'Task status keys: {list(task_status.keys())}')
|
||||
print(f'Task details count: {len(task_details)}')
|
||||
|
||||
# Check if custom task types are included
|
||||
standard_types = ['modeling', 'surfacing', 'rigging']
|
||||
all_types = list(task_status.keys())
|
||||
custom_types = [t for t in all_types if t not in standard_types]
|
||||
|
||||
if custom_types:
|
||||
print(f'Custom task types found: {custom_types}')
|
||||
else:
|
||||
print('No custom task types (using standard types only)')
|
||||
|
||||
# Verify all task details have the required fields
|
||||
if task_details:
|
||||
sample_task = task_details[0]
|
||||
required_fields = ['task_type', 'status', 'task_id', 'assigned_user_id']
|
||||
missing_fields = [f for f in required_fields if f not in sample_task]
|
||||
|
||||
if missing_fields:
|
||||
print(f'❌ Missing fields in task details: {missing_fields}')
|
||||
else:
|
||||
print('✅ Task details have all required fields')
|
||||
|
||||
print('✅ Custom status support test passed!')
|
||||
else:
|
||||
print('No assets found for testing')
|
||||
else:
|
||||
print(f'❌ List assets failed: {response.status_code}')
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_custom_status_support()
|
||||
Reference in New Issue
Block a user