import io import json import wave from dataclasses import replace import numpy as np from fastapi.testclient import TestClient from sentence_api.config import Settings from sentence_api.main import create_app from sentence_api.models import SentenceBoundaryDocument from sentence_api.repository import VideoRepository from sentence_api.store import BoundaryStore from sentence_api.transcription import Transcript VIDEO_HASH = "c" * 64 class FakeTranscriber: available = True def transcribe(self, audio_path, language=None): return Transcript(text="The meeting starts at nine.", segments=[]) def make_wav() -> bytes: sample_rate = 16_000 time = np.arange(sample_rate * 2, dtype=np.float64) / sample_rate samples = (np.sin(2 * np.pi * 220 * time) * 8000).astype("