# Date: 2023-5-13 # Author: Generated by GoCodeo. from unittest.mock import mock_open, patch import pytest from autogpt.commands.audio_text import read_audio_from_file from autogpt.config import Config @pytest.fixture def mock_read_audio(mocker): return mocker.patch("autogpt.commands.audio_text.read_audio") class TestReadAudioFromFile: def test_positive_read_audio_from_file(self, mock_read_audio): # Positive test mock_read_audio.return_value = "This is a sample text." mock_file_data = b"Audio data" m = mock_open(read_data=mock_file_data) with patch("builtins.open", m): result = read_audio_from_file("test_audio.wav", Config()) assert result == "This is a sample text." m.assert_called_once_with("test_audio.wav", "rb") def test_negative_read_audio_from_file(self, mock_read_audio): # Negative test mock_read_audio.return_value = "This is a sample text." mock_file_data = b"Audio data" m = mock_open(read_data=mock_file_data) with patch("builtins.open", m): result = read_audio_from_file("test_audio.wav", Config()) assert result != "Incorrect text." m.assert_called_once_with("test_audio.wav", "rb") def test_error_read_audio_from_file(self): # Error test with pytest.raises(FileNotFoundError): read_audio_from_file("non_existent_file.wav", Config()) def test_edge_empty_audio_file(self, mock_read_audio): # Edge test mock_read_audio.return_value = "" mock_file_data = b"" m = mock_open(read_data=mock_file_data) with patch("builtins.open", m): result = read_audio_from_file("empty_audio.wav", Config()) assert result == "" m.assert_called_once_with("empty_audio.wav", "rb")