| from unittest.mock import Mock, patch |
|
|
| import pytest |
|
|
| from deep_translator.deepl import DeeplTranslator |
| from deep_translator.exceptions import AuthorizationException |
|
|
|
|
| @patch("deep_translator.deepl.requests") |
| def test_simple_translation(mock_requests): |
| translator = DeeplTranslator( |
| 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 = DeeplTranslator( |
| 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") |
|
|