Fedir Zadniprovskyi 2024-09-22
test: switch to async openai client
@e76455d55b48e33a6f5aa083dfeb8f893ed45edf
tests/api_model_test.py
--- tests/api_model_test.py
+++ tests/api_model_test.py
@@ -1,5 +1,5 @@
 import openai
-from openai import OpenAI
+from openai import AsyncOpenAI
 import pytest
 
 MODEL_THAT_EXISTS = "Systran/faster-whisper-tiny.en"
@@ -7,16 +7,19 @@
 MIN_EXPECTED_NUMBER_OF_MODELS = 70  # At the time of the test creation there are 89 models
 
 
-def test_list_models(openai_client: OpenAI) -> None:
-    models = openai_client.models.list().data
+@pytest.mark.asyncio()
+async def test_list_models(openai_client: AsyncOpenAI) -> None:
+    models = (await openai_client.models.list()).data
     assert len(models) > MIN_EXPECTED_NUMBER_OF_MODELS
 
 
-def test_model_exists(openai_client: OpenAI) -> None:
-    model = openai_client.models.retrieve(MODEL_THAT_EXISTS)
+@pytest.mark.asyncio()
+async def test_model_exists(openai_client: AsyncOpenAI) -> None:
+    model = await openai_client.models.retrieve(MODEL_THAT_EXISTS)
     assert model.id == MODEL_THAT_EXISTS
 
 
-def test_model_does_not_exist(openai_client: OpenAI) -> None:
+@pytest.mark.asyncio()
+async def test_model_does_not_exist(openai_client: AsyncOpenAI) -> None:
     with pytest.raises(openai.NotFoundError):
-        openai_client.models.retrieve(MODEL_THAT_DOES_NOT_EXIST)
+        await openai_client.models.retrieve(MODEL_THAT_DOES_NOT_EXIST)
tests/conftest.py
--- tests/conftest.py
+++ tests/conftest.py
@@ -5,7 +5,7 @@
 from fastapi.testclient import TestClient
 from faster_whisper_server.main import create_app
 from httpx import ASGITransport, AsyncClient
-from openai import AsyncOpenAI, OpenAI
+from openai import AsyncOpenAI
 import pytest
 import pytest_asyncio
 
@@ -32,9 +32,9 @@
         yield aclient
 
 
-@pytest.fixture()
-def openai_client(client: TestClient) -> OpenAI:
-    return OpenAI(api_key="cant-be-empty", http_client=client)
+@pytest_asyncio.fixture()
+def openai_client(aclient: AsyncClient) -> AsyncOpenAI:
+    return AsyncOpenAI(api_key="cant-be-empty", http_client=aclient)
 
 
 @pytest.fixture()
Add a comment
List