diff --git a/test/unit/test_audio_sender.py b/test/unit/test_audio_sender.py index 13cd4bf..4e337c2 100644 --- a/test/unit/test_audio_sender.py +++ b/test/unit/test_audio_sender.py @@ -1,6 +1,5 @@ # coding=utf-8 import os -import time import mock import pytest @@ -127,3 +126,22 @@ def test_break_microphone(mocker): sender.wait_until_done() send_socket.assert_not_called() + + +def test_pyaudio_init_failure(mocker, zmq_context): + """ + Tests the behavior when PyAudio initialization fails (raises an IOError). + """ + # Prevent binding the ZMQ socket + mocker.patch("robot_interface.endpoints.audio_sender.AudioSender.create_socket") + + # Simulate PyAudio() failing + mocker.patch( + "robot_interface.endpoints.audio_sender.pyaudio.PyAudio", + side_effect=IOError("boom") + ) + + sender = AudioSender(zmq_context) + + assert sender.audio is None + assert sender.microphone is None