MusicUtils / tests /test_separate.py
sathvik77's picture
feat(backend): demucs two-stem -> mp3 adapter
0abe23e
Raw
History Blame Contribute Delete
724 Bytes
from unittest.mock import patch, MagicMock
from pathlib import Path
from separate import separate_vocals_to_mp3
@patch("separate._run_demucs")
@patch("separate._encode_mp3")
def test_separate_returns_mp3_path(mock_encode, mock_demucs, tmp_path):
audio = tmp_path / "in.m4a"
audio.write_bytes(b"x")
no_vocals_wav = tmp_path / "no_vocals.wav"
no_vocals_wav.write_bytes(b"y")
mock_demucs.return_value = no_vocals_wav
out_mp3 = tmp_path / "no_vocals.mp3"
mock_encode.return_value = out_mp3
result = separate_vocals_to_mp3(audio)
assert result == out_mp3
mock_demucs.assert_called_once_with(audio)
mock_encode.assert_called_once_with(no_vocals_wav, audio.parent / "no_vocals.mp3")