LinkDesk/backend/test_recovery_api.py

50 lines
1.7 KiB
Python

#!/usr/bin/env python3
"""
Test script to check if the recovery API endpoints are working correctly.
"""
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from sqlalchemy.orm import Session
from database import SessionLocal
from services.recovery_service import RecoveryService
def test_recovery_service():
"""Test the recovery service directly."""
db: Session = SessionLocal()
try:
recovery_service = RecoveryService()
# Test getting deleted shots
print("Testing get_deleted_shots...")
deleted_shots = recovery_service.get_deleted_shots(None, db)
print(f"Found {len(deleted_shots)} deleted shots:")
for shot in deleted_shots:
print(f" - ID: {shot.id}, Name: {shot.name}, Project: {shot.project_name}")
print(f" Episode: {shot.episode_name}, Deleted: {shot.deleted_at}")
print(f" Tasks: {shot.task_count}, Submissions: {shot.submission_count}")
print()
# Test getting deleted assets
print("Testing get_deleted_assets...")
deleted_assets = recovery_service.get_deleted_assets(None, db)
print(f"Found {len(deleted_assets)} deleted assets:")
for asset in deleted_assets:
print(f" - ID: {asset.id}, Name: {asset.name}, Project: {asset.project_name}")
print(f" Category: {asset.category}, Deleted: {asset.deleted_at}")
print(f" Tasks: {asset.task_count}, Submissions: {asset.submission_count}")
print()
except Exception as e:
print(f"Error: {e}")
import traceback
traceback.print_exc()
finally:
db.close()
if __name__ == "__main__":
test_recovery_service()