"""
Configuration pytest pour les tests ASR
"""

import pytest
import asyncio
import logging


@pytest.fixture(scope="session")
def event_loop():
    """Crée une boucle d'événements pour les tests async."""
    loop = asyncio.new_event_loop()
    yield loop
    loop.close()


@pytest.fixture(autouse=True)
def setup_test_logging():
    """Configure le logging pour les tests."""
    logging.basicConfig(
        level=logging.DEBUG, format="%(name)s - %(levelname)s - %(message)s"
    )

    # Réduire le bruit des logs externes
    logging.getLogger("paho").setLevel(logging.WARNING)


@pytest.fixture
def sample_audio_data():
    """Données audio d'exemple pour les tests."""
    # Génère 1024 échantillons 16-bit (parole simulée)
    import struct

    samples = []
    for i in range(1024):
        # Signal sinusoïdal simple pour simuler de la parole
        sample = int(1000 * (i % 100) / 100)
        samples.append(sample)

    return struct.pack(f"{len(samples)}h", *samples)


@pytest.fixture
def sample_silence():
    """Données audio de silence pour les tests."""
    return b"\x00\x00" * 1024  # 1024 échantillons de silence
