1
0
mirror of https://github.com/LibreTranslate/LibreTranslate.git synced 2024-12-18 08:27:03 +02:00
LibreTranslate/libretranslate/tests/test_api/test_api_translate.py

62 lines
1.5 KiB
Python
Raw Normal View History

import json
2022-04-04 08:26:58 +02:00
def test_api_translate(client):
response = client.post("/translate", data={
"q": "Hello",
"source": "en",
"target": "es",
"format": "text"
})
response_json = json.loads(response.data)
assert "translatedText" in response_json
assert response.status_code == 200
2022-04-05 17:12:15 +02:00
def test_api_translate_batch(client):
response = client.post("/translate", json={
"q": ["Hello", "World"],
"source": "en",
"target": "es",
"format": "text"
})
response_json = json.loads(response.data)
assert "translatedText" in response_json
assert isinstance(response_json["translatedText"], list)
assert len(response_json["translatedText"]) == 2
assert response.status_code == 200
def test_api_translate_unsupported_language(client):
response = client.post("/translate", data={
"q": "Hello",
"source": "en",
"target": "zz",
"format": "text"
})
response_json = json.loads(response.data)
assert "error" in response_json
2023-07-09 12:29:11 +02:00
assert response_json["error"] == "zz is not supported"
2022-04-05 17:12:15 +02:00
assert response.status_code == 400
def test_api_translate_missing_parameter(client):
response = client.post("/translate", data={
"source": "en",
"target": "es",
"format": "text"
})
response_json = json.loads(response.data)
assert "error" in response_json
2023-07-09 12:29:11 +02:00
assert response_json["error"] == "Invalid request: missing q parameter"
2022-04-05 17:12:15 +02:00
assert response.status_code == 400