e3fb518ab2
- Remove workspace_id from Pydantic models in project_management routes - Remove workspace_id from SQLAlchemy and SQLite project management repos - Remove workspace_id from worker tasks (storage keys, entity creation) - Remove workspace_id from video dedup and title usage modules - Remove workspace_id from generation and ingest worker tasks - Clean workspace_id from all test files and scripts - Remove workspace-specific test files (list_workspaces, workspace repos) Task: #14 workspace_id 残留清理
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import sys
|
|
from pathlib import Path
|
|
|
|
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "apps" / "api"))
|
|
|
|
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
from packages.adapters.sqlalchemy_impl.generated_video_repository import SQLAlchemyGeneratedVideoRepository
|
|
from packages.adapters.sqlalchemy_impl.models import Base
|
|
from packages.domain import GeneratedVideo
|
|
|
|
|
|
def _repository():
|
|
engine = create_engine("sqlite:///:memory:")
|
|
Base.metadata.create_all(engine)
|
|
session = sessionmaker(bind=engine)()
|
|
return SQLAlchemyGeneratedVideoRepository(session)
|
|
|
|
|
|
def test_generated_video_repository_preserves_management_fields():
|
|
repository = _repository()
|
|
video = GeneratedVideo.create(
|
|
project_id="project-1",
|
|
generation_task_id="task-1",
|
|
name="output.mp4",
|
|
file_url="generated/output.mp4",
|
|
file_size=2048,
|
|
duration=5.0,
|
|
width=1280,
|
|
height=720,
|
|
fps=25.0,
|
|
generation_params={"asset_library_id": "library-1", "title_id": "title-1"},
|
|
)
|
|
|
|
repository.create(video)
|
|
saved = repository.get(video.id)
|
|
|
|
assert saved.status == "completed"
|
|
assert saved.review_status == "pending_review"
|
|
assert saved.generation_params["title_id"] == "title-1"
|
|
|
|
saved.review_status = "approved"
|
|
repository.update(saved)
|
|
|
|
assert repository.get(video.id).review_status == "approved"
|