Init Repo
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
"""
|
||||
Test script for soft deletion services.
|
||||
|
||||
This script tests the basic functionality of the soft deletion services
|
||||
to ensure they work correctly with the database.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append('.')
|
||||
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from database import engine, get_db
|
||||
from models.shot import Shot
|
||||
from models.asset import Asset
|
||||
from models.user import User
|
||||
from models.episode import Episode
|
||||
from models.project import Project
|
||||
from services.shot_soft_deletion import ShotSoftDeletionService
|
||||
from services.asset_soft_deletion import AssetSoftDeletionService
|
||||
from services.recovery_service import RecoveryService
|
||||
|
||||
|
||||
def test_shot_soft_deletion_service():
|
||||
"""Test the ShotSoftDeletionService."""
|
||||
print("Testing ShotSoftDeletionService...")
|
||||
|
||||
# Get database session
|
||||
db = next(get_db())
|
||||
|
||||
try:
|
||||
# Get a test shot (first active shot)
|
||||
shot = db.query(Shot).filter(Shot.deleted_at.is_(None)).first()
|
||||
if not shot:
|
||||
print("No active shots found for testing")
|
||||
return
|
||||
|
||||
print(f"Found test shot: {shot.name} (ID: {shot.id})")
|
||||
|
||||
# Initialize service
|
||||
service = ShotSoftDeletionService()
|
||||
|
||||
# Test getting deletion info
|
||||
deletion_info = service.get_deletion_info(shot.id, db)
|
||||
if deletion_info:
|
||||
print(f"Deletion info retrieved successfully:")
|
||||
print(f" - Shot: {deletion_info.shot_name}")
|
||||
print(f" - Tasks: {deletion_info.task_count}")
|
||||
print(f" - Submissions: {deletion_info.submission_count}")
|
||||
print(f" - Attachments: {deletion_info.attachment_count}")
|
||||
print(f" - Notes: {deletion_info.note_count}")
|
||||
print(f" - Reviews: {deletion_info.review_count}")
|
||||
print(f" - Affected users: {len(deletion_info.affected_users)}")
|
||||
else:
|
||||
print("Failed to get deletion info")
|
||||
|
||||
print("ShotSoftDeletionService test completed successfully")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error testing ShotSoftDeletionService: {str(e)}")
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
def test_asset_soft_deletion_service():
|
||||
"""Test the AssetSoftDeletionService."""
|
||||
print("\nTesting AssetSoftDeletionService...")
|
||||
|
||||
# Get database session
|
||||
db = next(get_db())
|
||||
|
||||
try:
|
||||
# Get a test asset (first active asset)
|
||||
asset = db.query(Asset).filter(Asset.deleted_at.is_(None)).first()
|
||||
if not asset:
|
||||
print("No active assets found for testing")
|
||||
return
|
||||
|
||||
print(f"Found test asset: {asset.name} (ID: {asset.id})")
|
||||
|
||||
# Initialize service
|
||||
service = AssetSoftDeletionService()
|
||||
|
||||
# Test getting deletion info
|
||||
deletion_info = service.get_deletion_info(asset.id, db)
|
||||
if deletion_info:
|
||||
print(f"Deletion info retrieved successfully:")
|
||||
print(f" - Asset: {deletion_info.asset_name}")
|
||||
print(f" - Category: {deletion_info.asset_category}")
|
||||
print(f" - Tasks: {deletion_info.task_count}")
|
||||
print(f" - Submissions: {deletion_info.submission_count}")
|
||||
print(f" - Attachments: {deletion_info.attachment_count}")
|
||||
print(f" - Notes: {deletion_info.note_count}")
|
||||
print(f" - Reviews: {deletion_info.review_count}")
|
||||
print(f" - Affected users: {len(deletion_info.affected_users)}")
|
||||
else:
|
||||
print("Failed to get deletion info")
|
||||
|
||||
print("AssetSoftDeletionService test completed successfully")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error testing AssetSoftDeletionService: {str(e)}")
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
def test_recovery_service():
|
||||
"""Test the RecoveryService."""
|
||||
print("\nTesting RecoveryService...")
|
||||
|
||||
# Get database session
|
||||
db = next(get_db())
|
||||
|
||||
try:
|
||||
# Initialize service
|
||||
service = RecoveryService()
|
||||
|
||||
# Test getting deleted shots
|
||||
deleted_shots = service.get_deleted_shots(None, db)
|
||||
print(f"Found {len(deleted_shots)} deleted shots")
|
||||
|
||||
# Test getting deleted assets
|
||||
deleted_assets = service.get_deleted_assets(None, db)
|
||||
print(f"Found {len(deleted_assets)} deleted assets")
|
||||
|
||||
print("RecoveryService test completed successfully")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error testing RecoveryService: {str(e)}")
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Starting soft deletion services tests...")
|
||||
|
||||
test_shot_soft_deletion_service()
|
||||
test_asset_soft_deletion_service()
|
||||
test_recovery_service()
|
||||
|
||||
print("\nAll tests completed!")
|
||||
Reference in New Issue
Block a user