forked from mirrors/LibreTranslate
61 lines
1.5 KiB
Python
61 lines
1.5 KiB
Python
import json
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
assert "zz is not supported" == response_json["error"]
|
|
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
|
|
assert "Invalid request: missing q parameter" == response_json["error"]
|
|
assert response.status_code == 400
|