from typing import Any import pytest from assets.connectors import mysql from assets.constants import field_const from assets.models import hive_task from tests.unit.models import au_operations @pytest.fixture def db_fixture( asset_upload_data_for_hive: list[dict[str, Any]], asset_final_data: list[dict[str, Any]], hive_task_data: dict[str, Any], ) -> None: """Set up the hive_task table.""" au_operations.truncate_tables() au_operations.seed_asset_upload_table(asset_upload_data_for_hive) au_operations.seed_asset_final_table(asset_final_data) au_operations.seed_hive_task_table(hive_task_data) @pytest.fixture def valid_hive_task_data() -> dict[str, Any]: """Fixture for valid data for create_hive_task.""" return { field_const.ASSET_FINAL_ID: 555, field_const.TASK: { field_const.TASK_ID: "a22414c0-0cba-11f1-bc98-c7fc13f309f3", field_const.MODEL: "ai_music_classifier_DORIAN_2025_04_02_v00", field_const.MODEL_VERSION: 1, }, } def test_create_hive_task( db_fixture: None, valid_hive_task_data: dict[str, Any] ) -> None: """Test creating a new hive_task.""" with mysql.au_db_session() as session: response = hive_task._create_hive_task( session, valid_hive_task_data[field_const.ASSET_FINAL_ID], valid_hive_task_data[field_const.TASK], ) assert response is not None