""" Pytest configuration and fixtures for stt-module tests. """ import asyncio import base64 import os import struct from unittest.mock import AsyncMock, MagicMock import pytest # Set test environment variables before importing os.environ.setdefault("NATS_URL", "nats://localhost:4222") os.environ.setdefault("WHISPER_URL", "http://localhost:8000") os.environ.setdefault("OTEL_ENABLED", "false") os.environ.setdefault("STT_ENABLE_VAD", "false") @pytest.fixture(scope="session") def event_loop(): """Create event loop for async tests.""" loop = asyncio.new_event_loop() yield loop loop.close() @pytest.fixture def silent_pcm_bytes(): """16-bit PCM silence (1000 samples at 16kHz = 62.5ms).""" return bytes([0x00] * 2000) @pytest.fixture def noisy_pcm_bytes(): """16-bit PCM with some signal (sine-like pattern).""" samples = [] for i in range(1000): val = int(16000 * ((i % 50) / 50.0 - 0.5)) samples.append(struct.pack("