"""Common operations for asset_upload model testing.""" from typing import Any from sqlalchemy import text from assets.connectors import mysql from assets.models import ( asset_access_log, asset_final, asset_status, asset_upload, asset_upload_type, hive_ai_image_task, hive_segment, hive_task, hive_text_recognition, ) def truncate_tables() -> None: """Truncate all tables.""" mysql.AuModel.metadata.reflect(bind=mysql.au_db_engine) with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: for table_name in mysql.AuModel.metadata.tables: session.execute(text(f"TRUNCATE TABLE {table_name}")) def seed_asset_upload_table(data: list[dict[str, Any]]) -> None: """Seed asset_upload table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(asset_upload.AssetUpload.__table__.insert().values(data)) def seed_asset_upload_type_table(data: list[dict[str, Any]]) -> None: """Seed asset_upload_type table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute( asset_upload_type.AssetUploadType.__table__.insert().values(data) ) def seed_asset_status_table(data: list[dict[str, Any]]) -> None: """Seed asset_status table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(asset_status.AssetStatus.__table__.insert().values(data)) def seed_asset_final_table(data: list[dict[str, Any]]) -> None: """Seed asset_final table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(asset_final.AssetFinal.__table__.insert().values(data)) def seed_asset_access_log_table(data: list[dict[str, Any]]) -> None: """Seed asset_access_log table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(asset_access_log.AssetAccessLog.__table__.insert().values(data)) def seed_hive_segment_table(data: list[dict[str, Any]]) -> None: """Seed hive_segment table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(hive_segment.HiveSegment.__table__.insert().values(data)) def seed_hive_text_recognition_table(data: list[dict[str, Any]]) -> None: """Seed hive_text_recognition table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute( hive_text_recognition.HiveTextRecognition.__table__.insert().values(data) ) def seed_asset_upload_types() -> None: with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute( text( """ INSERT INTO asset_upload_type (asset_upload_type_id, name) VALUES (1, "stereo"), (2, "static_artwork"), (3, "atmos"); """ ) ) def seed_hive_task_table(data: dict[str, Any]) -> None: """Seed hive_segment table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute(hive_task.HiveTask.__table__.insert().values(data)) def seed_hive_ai_image_task_table(data: dict[str, Any]) -> None: """Seed hive_ai_image_task table.""" with mysql.au_db_session(turn_off_foreign_key_checks=True) as session: session.execute( hive_ai_image_task.HiveAiImageTask.__table__.insert().values(data) )