mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
33 lines
1 KiB
Python
33 lines
1 KiB
Python
"""Voice-mode system playback must scrub credential env (sibling of #70342)."""
|
|
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
|
|
def test_play_audio_file_scrubbed_env(tmp_path, monkeypatch):
|
|
audio = tmp_path / "t.mp3"
|
|
audio.write_bytes(b"ID3fake")
|
|
|
|
monkeypatch.setenv("TELEGRAM_BOT_TOKEN", "secret-token")
|
|
monkeypatch.setenv("OPENAI_API_KEY", "sk-test")
|
|
|
|
captured = {}
|
|
|
|
def fake_popen(cmd, **kwargs):
|
|
captured["env"] = kwargs.get("env")
|
|
proc = MagicMock()
|
|
proc.wait.return_value = 0
|
|
proc.returncode = 0
|
|
return proc
|
|
|
|
import tools.voice_mode as vm
|
|
|
|
with patch.object(vm, "platform") as plat, patch.object(
|
|
vm.shutil, "which", return_value="/usr/bin/ffplay"
|
|
), patch.object(vm.subprocess, "Popen", side_effect=fake_popen):
|
|
plat.system.return_value = "Linux"
|
|
ok = vm.play_audio_file(str(audio))
|
|
|
|
assert ok is True
|
|
assert captured.get("env") is not None
|
|
assert "TELEGRAM_BOT_TOKEN" not in captured["env"]
|
|
assert "OPENAI_API_KEY" not in captured["env"]
|