from __future__ import annotations import unittest from unittest.mock import patch from moss_transcribe_diarize.app.ffmpeg import detect_ffmpeg, probe_video_size class FFmpegTest(unittest.TestCase): def test_detect_ffmpeg_reports_missing_tools(self): with patch("shutil.which", return_value=None): availability = detect_ffmpeg() self.assertFalse(availability.available) self.assertEqual(availability.to_dict()["available"], False) def test_probe_video_size_returns_default_without_ffprobe(self): with patch("moss_transcribe_diarize.app.ffmpeg.detect_ffmpeg") as mocked: mocked.return_value.ffprobe = None self.assertEqual(probe_video_size("missing.mp4"), (1920, 1080)) if __name__ == "__main__": unittest.main()