"""Top-level test fixtures. Unit tests use these mocked fixtures (no external services).""" import uuid from datetime import datetime, timezone from unittest.mock import AsyncMock, MagicMock, patch import pytest from sqlalchemy.ext.asyncio import AsyncSession @pytest.fixture def mock_session(): """AsyncSession mock for unit tests.""" session = AsyncMock(spec=AsyncSession) session.flush = AsyncMock() session.commit = AsyncMock() session.rollback = AsyncMock() session.refresh = AsyncMock() session.get = AsyncMock(return_value=None) session.execute = AsyncMock() session.delete = AsyncMock() session.add = MagicMock() return session @pytest.fixture def sample_member_id(): return uuid.uuid4() @pytest.fixture def sample_band_id(): return uuid.uuid4() @pytest.fixture def sample_song_id(): return uuid.uuid4() @pytest.fixture def sample_version_id(): return uuid.uuid4() @pytest.fixture def sample_annotation_id(): return uuid.uuid4()