File size: 4,793 Bytes
1e7f40c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
import kuznetsov_av
from fastapi.testclient import TestClient
from run_api import app
client = TestClient(app)
def test_get_description_image_predict() -> None:
"""
Тест API Описание загруженного изображения
"""
from zvereva_ev.develop_api_app import Url
response = client.post(
url="/get_description_image/predict/",
json=Url(url="https://fikiwiki.com/uploads/posts/2022-02/1645000127_53-"
"fikiwiki-com-p-kartinki-krasivie-babochki"
"-narisovannie-55.png"
).model_dump())
assert response.status_code == 200
assert response.text == '"Фото бабочки с оранжевыми крыльями и белыми точками"'
def test_langdetector_api_ru() -> None:
"""
Тест API определения языка текста RU (mulyavin_aa)
"""
import mulyavin_aa.model.langdetector
api_resp = client.post(
url="/langdetector/detect",
json=mulyavin_aa.model.langdetector.Request(
text='Доброго дня всем котам!').model_dump())
response = mulyavin_aa.model.langdetector.Response.model_validate_json(api_resp.text)
assert api_resp.status_code == 200
assert len(response.langs) > 0
assert response.langs[0].label == 'ru'
def test_langdetector_api_en() -> None:
"""
Тест API определения языка текста EN (mulyavin_aa)
"""
import mulyavin_aa.model.langdetector
api_resp = client.post(
url="/langdetector/detect",
json=mulyavin_aa.model.langdetector.Request(
text='So I checked functions in the class model').model_dump())
response = mulyavin_aa.model.langdetector.Response.model_validate_json(api_resp.text)
assert api_resp.status_code == 200
assert len(response.langs) > 0
assert response.langs[0].label == 'en'
def test_langdetector_api_err() -> None:
"""
Тест API определения языка текста не Ru и En (mulyavin_aa)
Модель не ограничена только Ru и En
"""
import mulyavin_aa.model.langdetector
api_resp = client.post(
url="/langdetector/detect",
json=mulyavin_aa.model.langdetector.Request(
text='').model_dump())
response = mulyavin_aa.model.langdetector.Response.model_validate_json(api_resp.text)
assert api_resp.status_code == 200
assert len(response.langs) > 0
assert response.langs[0].label != 'en'
assert response.langs[0].label != 'ru'
def test_translator_ru_to_en() -> None:
"""
Тест API Перевод текста с языка Ru на En (mulyavin_aa)
"""
import mulyavin_aa.model.translator
api_resp = client.post(
url="/translator/translate",
json=mulyavin_aa.model.translator.Request(
text='Доброго деня всем котам!').model_dump())
response = mulyavin_aa.model.translator.Response.model_validate_json(api_resp.text)
assert api_resp.status_code == 200
assert len(response.text) > 0
assert response.text == 'Good day to all cats!'
def test_translator_en_to_en() -> None:
"""
Тест API Перевод текста с языка En на En (mulyavin_aa)
"""
import mulyavin_aa.model.translator
api_resp = client.post(
url="/translator/translate",
json=mulyavin_aa.model.translator.Request(
text='Good day to all cats!').model_dump())
response = mulyavin_aa.model.translator.Response.model_validate_json(api_resp.text)
assert api_resp.status_code == 200
assert len(response.text) > 0
assert response.text == 'Good day to all cats!'
def test_text_to_speech_ok():
"""
Тест API преобразования текста в речь
"""
response = client.post(
url='/text-to-speech/convert/',
json=kuznetsov_av.api.Request(text='Test').model_dump()
)
assert response.status_code == 200
assert response.json().get('audio') is not None
assert type(response.json().get('audio')) == str
assert len(response.json().get('audio')) > 0
assert response.json().get('sampling_rate') is not None
assert type(response.json().get('sampling_rate')) == int
def test_text_to_speech_error422():
"""
Тест API преобразования текста в речь
"""
response = client.post(
url='/text-to-speech/convert/',
json=''
)
assert response.status_code == 422
def test_root():
response = client.get('/')
assert response.status_code == 200
assert response.json().get('message') is not None
assert len(response.json().get('message')) > 0
|