kavlab commited on
Commit
8b984d0
·
1 Parent(s): c8ab23d

Tests added

Browse files
kuznetsov_av/api.py CHANGED
@@ -1,7 +1,9 @@
 
 
 
1
  from fastapi import FastAPI
2
  from pydantic import BaseModel
3
- import kuznetsov_av.text_to_speech_converter as t2s
4
- import base64
5
 
6
  class Request(BaseModel):
7
  """
@@ -21,11 +23,11 @@ class Response(BaseModel):
21
  app = FastAPI()
22
 
23
  @app.get('/')
24
- async def root() -> str:
25
  """
26
  Root method of API.
27
  """
28
- return '{"message": "Converter method: /text-to-speech/convert/"}'
29
 
30
  @app.post('/text-to-speech/convert/')
31
  async def text_to_speech(entity: Request) -> Response:
 
1
+ import base64
2
+
3
+ import kuznetsov_av.text_to_speech_converter as t2s
4
  from fastapi import FastAPI
5
  from pydantic import BaseModel
6
+
 
7
 
8
  class Request(BaseModel):
9
  """
 
23
  app = FastAPI()
24
 
25
  @app.get('/')
26
+ async def root() -> dict:
27
  """
28
  Root method of API.
29
  """
30
+ return {"message": "Converter method: /text-to-speech/convert/"}
31
 
32
  @app.post('/text-to-speech/convert/')
33
  async def text_to_speech(entity: Request) -> Response:
kuznetsov_av/test_api.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi.testclient import TestClient
2
+ from kuznetsov_av.api import Request, Response, app
3
+
4
+ client = TestClient(app)
5
+
6
+ def test_root():
7
+ response = client.get('/')
8
+
9
+ assert response.status_code == 200
10
+ assert response.json().get('message') is not None
11
+ assert response.json().get('message') == "Converter method: /text-to-speech/convert/"
12
+
13
+ def test_text_to_speech():
14
+ response = client.post(
15
+ url='/text-to-speech/convert/',
16
+ json=Request(text='Test').model_dump()
17
+ )
18
+
19
+ assert response.status_code == 200
20
+ assert response.json().get('audio') is not None
21
+ assert type(response.json().get('audio')) == str
22
+ assert response.json().get('sampling_rate') is not None
23
+ assert type(response.json().get('sampling_rate')) == int
kuznetsov_av/text_to_speech_converter.py CHANGED
@@ -1,9 +1,9 @@
1
- from transformers import pipeline
2
- import transformers.pipelines.text_to_audio
3
- from datasets import load_dataset
4
  import datasets.arrow_dataset
5
- import torch
6
  import numpy as np
 
 
 
 
7
 
8
 
9
  def load_model() -> transformers.pipelines.text_to_audio.TextToAudioPipeline:
 
 
 
 
1
  import datasets.arrow_dataset
 
2
  import numpy as np
3
+ import torch
4
+ import transformers.pipelines.text_to_audio
5
+ from datasets import load_dataset
6
+ from transformers import pipeline
7
 
8
 
9
  def load_model() -> transformers.pipelines.text_to_audio.TextToAudioPipeline: