Files
jhonny-editor/code/engine/testes/test_extracao_de_audio.py
T
João Henrique b541f502ba feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto
2026-09-08 09:59:31 -04:00

28 lines
1.1 KiB
Python

import tempfile
import unittest
from pathlib import Path
from unittest.mock import patch
from engine.integracoes.midia import ExtracaoDeAudio
class TesteExtracaoDeAudio(unittest.TestCase):
def test_rejeita_arquivo_inexistente(self):
with self.assertRaises(FileNotFoundError):
ExtracaoDeAudio().extrair("/arquivo/inexistente.mp4", "/tmp/audio")
@patch("engine.integracoes.midia.extracao_de_audio.subprocess.run")
def test_prepara_audio_mono_16khz_e_divide_em_partes(self, executar):
executar.side_effect = [type("R", (), {"stdout": "12.0\n"})(), None, None]
with tempfile.TemporaryDirectory() as pasta:
video = Path(pasta) / "video.mp4"
video.write_bytes(b"video")
partes = ExtracaoDeAudio(duracao_da_parte=10).extrair(video, Path(pasta) / "audio")
self.assertEqual([(p.inicio, p.fim) for p in partes], [(0.0, 10.0), (10.0, 12.0)])
comando = executar.call_args_list[1].args[0]
self.assertIn("-ac", comando)
self.assertIn("1", comando)
self.assertIn("-ar", comando)
self.assertIn("16000", comando)