""" Test script for bulk shot creation """ import requests import json BASE_URL = "http://localhost:8000" # Test credentials LOGIN_DATA = { "email": "admin@vfx.com", "password": "admin123" } def login(): """Login and get access token""" response = requests.post(f"{BASE_URL}/auth/login", json=LOGIN_DATA) if response.status_code == 200: return response.json()["access_token"] else: print(f"Login failed: {response.status_code}") return None def test_bulk_shot_creation(): """Test bulk shot creation""" print("=== Test: Bulk Shot Creation ===\n") token = login() if not token: return headers = {"Authorization": f"Bearer {token}"} project_id = 1 episode_id = 1 # Test bulk shot creation print("1. Creating 3 shots with bulk creation...") import time timestamp = int(time.time()) bulk_data = { "name_prefix": f"BULK_{timestamp}_", "shot_count": 3, "start_number": 1, "number_padding": 3, "frame_start": 1001, "frame_end": 1100, "description_template": "Test shot {shot_name}", "create_default_tasks": True } response = requests.post( f"{BASE_URL}/shots/bulk?episode_id={episode_id}", headers=headers, json=bulk_data ) print(f" Status: {response.status_code}") if response.status_code == 201: result = response.json() print(f" Message: {result['message']}") print(f" Created shots: {len(result['created_shots'])}") print(f" Created tasks: {result['created_tasks_count']}") print(f"\n Shot names:") for shot in result['created_shots']: print(f" - {shot['name']} (ID: {shot['id']}, Tasks: {shot['task_count']})") else: print(f" Error: {response.json()}") print("\n=== Test Completed ===") if __name__ == "__main__": test_bulk_shot_creation()