mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-18 22:44:21 +01:00
62 lines
2.2 KiB
Python
62 lines
2.2 KiB
Python
# Date: 2023-5-13
|
|
# Author: Generated by GoCodeo.
|
|
import json
|
|
from io import BytesIO
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
import pytest
|
|
|
|
from autogpt.commands.audio_text import read_audio
|
|
|
|
patch_func1 = "autogpt.commands.audio_text.CFG"
|
|
|
|
|
|
class TestReadAudio:
|
|
@patch("requests.post")
|
|
def test_positive_read_audio(self, mock_post):
|
|
# Positive Test
|
|
audio_data = b"test_audio_data"
|
|
mock_response = MagicMock()
|
|
mock_response.content.decode.return_value = json.dumps(
|
|
{"text": "Hello, world!"}
|
|
)
|
|
mock_post.return_value = mock_response
|
|
with patch(patch_func1) as mock_cfg:
|
|
mock_cfg.huggingface_api_token = "testing-token"
|
|
result = read_audio(audio_data)
|
|
assert result == "The audio says: Hello, world!"
|
|
mock_post.assert_called_once_with(
|
|
f"https://api-inference.huggingface.co/models/{mock_cfg.huggingface_audio_to_text_model}",
|
|
headers={"Authorization": f"Bearer {mock_cfg.huggingface_api_token}"},
|
|
data=audio_data,
|
|
)
|
|
|
|
@patch("requests.post")
|
|
def test_negative_read_audio(self, mock_post):
|
|
# Negative Test
|
|
audio_data = b"test_audio_data"
|
|
mock_response = MagicMock()
|
|
mock_response.content.decode.return_value = json.dumps({"text": ""})
|
|
mock_post.return_value = mock_response
|
|
with patch(patch_func1) as mock_cfg:
|
|
mock_cfg.huggingface_api_token = "testing-token"
|
|
result = read_audio(audio_data)
|
|
assert result == "The audio says: "
|
|
mock_post.assert_called_once_with(
|
|
f"https://api-inference.huggingface.co/models/{mock_cfg.huggingface_audio_to_text_model}",
|
|
headers={"Authorization": f"Bearer {mock_cfg.huggingface_api_token}"},
|
|
data=audio_data,
|
|
)
|
|
|
|
def test_error_read_audio(self):
|
|
# Error Test
|
|
with patch(patch_func1) as mock_cfg:
|
|
mock_cfg.huggingface_api_token = None
|
|
with pytest.raises(ValueError):
|
|
read_audio(b"test_audio_data")
|
|
|
|
def test_edge_read_audio_empty_audio(self):
|
|
# Edge Test
|
|
with pytest.raises(ValueError):
|
|
read_audio(b"")
|