Spaces:
Sleeping
Sleeping
File size: 1,739 Bytes
f3d078e 313814b bf48682 81fa68b f3d078e 7cc3853 b8804a6 dc4f25f f3d078e 313814b 23a3cae 313814b dc4f25f 313814b 81fa68b 04d664a 23a3cae 81fa68b bf48682 81fa68b 5aa421e f3d078e bf48682 f3d078e b8804a6 a5d2e48 23a3cae a5d2e48 7cc3853 |
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 |
from collections.abc import AsyncGenerator, Generator
import logging
import os
from fastapi.testclient import TestClient
from httpx import ASGITransport, AsyncClient
from huggingface_hub import snapshot_download
from openai import AsyncOpenAI
import pytest
import pytest_asyncio
from faster_whisper_server.main import create_app
disable_loggers = ["multipart.multipart", "faster_whisper"]
def pytest_configure() -> None:
for logger_name in disable_loggers:
logger = logging.getLogger(logger_name)
logger.disabled = True
# NOTE: not being used. Keeping just in case
@pytest.fixture
def client() -> Generator[TestClient, None, None]:
os.environ["WHISPER__MODEL"] = "Systran/faster-whisper-tiny.en"
with TestClient(create_app()) as client:
yield client
@pytest_asyncio.fixture()
async def aclient() -> AsyncGenerator[AsyncClient, None]:
os.environ["WHISPER__MODEL"] = "Systran/faster-whisper-tiny.en"
async with AsyncClient(transport=ASGITransport(app=create_app()), base_url="http://test") as aclient:
yield aclient
@pytest_asyncio.fixture()
def openai_client(aclient: AsyncClient) -> AsyncOpenAI:
return AsyncOpenAI(api_key="cant-be-empty", http_client=aclient)
@pytest.fixture
def actual_openai_client() -> AsyncOpenAI:
return AsyncOpenAI(
base_url="https://api.openai.com/v1"
) # `base_url` is provided in case `OPENAI_API_BASE_URL` is set to a different value
# TODO: remove the download after running the tests
@pytest.fixture(scope="session", autouse=True)
def download_piper_voices() -> None:
# Only download `voices.json` and the default voice
snapshot_download("rhasspy/piper-voices", allow_patterns=["voices.json", "en/en_US/amy/**"])
|