|
import pytest |
|
from unittest.mock import Mock, PropertyMock, patch |
|
from deep_translator.deepl import DeepL |
|
from deep_translator.exceptions import AuthorizationException |
|
|
|
|
|
@patch('deep_translator.deepl.requests') |
|
def test_simple_translation(mock_requests): |
|
translator = DeepL(api_key='imagine-this-is-an-valid-api-key', source='en', target='es') |
|
|
|
mock_response = Mock() |
|
mock_response.status_code = 200 |
|
mock_response.json.return_value = { |
|
"translations": [{ |
|
"text": "hola" |
|
}] |
|
} |
|
mock_requests.get.return_value = mock_response |
|
translation = translator.translate('hello') |
|
assert translation == 'hola' |
|
|
|
|
|
@patch('deep_translator.deepl.requests.get') |
|
def test_wrong_api_key(mock_requests): |
|
translator = DeepL(api_key='this-is-a-wrong-api-key!', source="en", target="es") |
|
|
|
mock_requests.return_value = Mock(status_code=403) |
|
with pytest.raises(AuthorizationException): |
|
translator.translate('Hello') |
|
|