Commit 023a4e66
Changed files (23)
src
openai
resources
beta
assistants
threads
fine_tuning
tests
api_resources
beta
assistants
threads
fine_tuning
src/openai/resources/audio/transcriptions.py
@@ -98,7 +98,6 @@ class Transcriptions(SyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return self._post(
"/audio/transcriptions",
body=maybe_transform(body, transcription_create_params.TranscriptionCreateParams),
@@ -187,7 +186,6 @@ class AsyncTranscriptions(AsyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return await self._post(
"/audio/transcriptions",
body=maybe_transform(body, transcription_create_params.TranscriptionCreateParams),
src/openai/resources/audio/translations.py
@@ -91,7 +91,6 @@ class Translations(SyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return self._post(
"/audio/translations",
body=maybe_transform(body, translation_create_params.TranslationCreateParams),
@@ -173,7 +172,6 @@ class AsyncTranslations(AsyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return await self._post(
"/audio/translations",
body=maybe_transform(body, translation_create_params.TranslationCreateParams),
src/openai/resources/beta/assistants/assistants.py
@@ -148,6 +148,8 @@ class Assistants(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/assistants/{assistant_id}",
@@ -215,6 +217,8 @@ class Assistants(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/assistants/{assistant_id}",
@@ -324,6 +328,8 @@ class Assistants(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._delete(
f"/assistants/{assistant_id}",
@@ -445,6 +451,8 @@ class AsyncAssistants(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/assistants/{assistant_id}",
@@ -512,6 +520,8 @@ class AsyncAssistants(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/assistants/{assistant_id}",
@@ -621,6 +631,8 @@ class AsyncAssistants(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._delete(
f"/assistants/{assistant_id}",
src/openai/resources/beta/assistants/files.py
@@ -61,6 +61,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/assistants/{assistant_id}/files",
@@ -95,6 +97,10 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/assistants/{assistant_id}/files/{file_id}",
@@ -147,6 +153,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/assistants/{assistant_id}/files",
@@ -193,6 +201,10 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._delete(
f"/assistants/{assistant_id}/files/{file_id}",
@@ -242,6 +254,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/assistants/{assistant_id}/files",
@@ -276,6 +290,10 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/assistants/{assistant_id}/files/{file_id}",
@@ -328,6 +346,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/assistants/{assistant_id}/files",
@@ -374,6 +394,10 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not assistant_id:
+ raise ValueError(f"Expected a non-empty value for `assistant_id` but received {assistant_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._delete(
f"/assistants/{assistant_id}/files/{file_id}",
src/openai/resources/beta/threads/messages/files.py
@@ -56,6 +56,12 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/threads/{thread_id}/messages/{message_id}/files/{file_id}",
@@ -110,6 +116,10 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/messages/{message_id}/files",
@@ -167,6 +177,12 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/threads/{thread_id}/messages/{message_id}/files/{file_id}",
@@ -221,6 +237,10 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/messages/{message_id}/files",
src/openai/resources/beta/threads/messages/messages.py
@@ -86,6 +86,8 @@ class Messages(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/messages",
@@ -128,6 +130,10 @@ class Messages(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/threads/{thread_id}/messages/{message_id}",
@@ -167,6 +173,10 @@ class Messages(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/messages/{message_id}",
@@ -220,6 +230,8 @@ class Messages(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/messages",
@@ -298,6 +310,8 @@ class AsyncMessages(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/messages",
@@ -340,6 +354,10 @@ class AsyncMessages(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/threads/{thread_id}/messages/{message_id}",
@@ -379,6 +397,10 @@ class AsyncMessages(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not message_id:
+ raise ValueError(f"Expected a non-empty value for `message_id` but received {message_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/messages/{message_id}",
@@ -432,6 +454,8 @@ class AsyncMessages(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/messages",
src/openai/resources/beta/threads/runs/runs.py
@@ -104,6 +104,8 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/runs",
@@ -148,6 +150,10 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/threads/{thread_id}/runs/{run_id}",
@@ -187,6 +193,10 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/runs/{run_id}",
@@ -240,6 +250,8 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/runs",
@@ -286,6 +298,10 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/runs/{run_id}/cancel",
@@ -325,6 +341,10 @@ class Runs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}/runs/{run_id}/submit_tool_outputs",
@@ -405,6 +425,8 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/runs",
@@ -449,6 +471,10 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/threads/{thread_id}/runs/{run_id}",
@@ -488,6 +514,10 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/runs/{run_id}",
@@ -541,6 +571,8 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/runs",
@@ -587,6 +619,10 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/runs/{run_id}/cancel",
@@ -626,6 +662,10 @@ class AsyncRuns(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}/runs/{run_id}/submit_tool_outputs",
src/openai/resources/beta/threads/runs/steps.py
@@ -56,6 +56,12 @@ class Steps(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
+ if not step_id:
+ raise ValueError(f"Expected a non-empty value for `step_id` but received {step_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/threads/{thread_id}/runs/{run_id}/steps/{step_id}",
@@ -109,6 +115,10 @@ class Steps(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/runs/{run_id}/steps",
@@ -166,6 +176,12 @@ class AsyncSteps(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
+ if not step_id:
+ raise ValueError(f"Expected a non-empty value for `step_id` but received {step_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/threads/{thread_id}/runs/{run_id}/steps/{step_id}",
@@ -219,6 +235,10 @@ class AsyncSteps(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
+ if not run_id:
+ raise ValueError(f"Expected a non-empty value for `run_id` but received {run_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get_api_list(
f"/threads/{thread_id}/runs/{run_id}/steps",
src/openai/resources/beta/threads/threads.py
@@ -133,6 +133,8 @@ class Threads(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._get(
f"/threads/{thread_id}",
@@ -171,6 +173,8 @@ class Threads(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._post(
f"/threads/{thread_id}",
@@ -204,6 +208,8 @@ class Threads(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return self._delete(
f"/threads/{thread_id}",
@@ -372,6 +378,8 @@ class AsyncThreads(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._get(
f"/threads/{thread_id}",
@@ -410,6 +418,8 @@ class AsyncThreads(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._post(
f"/threads/{thread_id}",
@@ -443,6 +453,8 @@ class AsyncThreads(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not thread_id:
+ raise ValueError(f"Expected a non-empty value for `thread_id` but received {thread_id!r}")
extra_headers = {"OpenAI-Beta": "assistants=v1", **(extra_headers or {})}
return await self._delete(
f"/threads/{thread_id}",
src/openai/resources/fine_tuning/jobs.py
@@ -149,6 +149,8 @@ class Jobs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return self._get(
f"/fine_tuning/jobs/{fine_tuning_job_id}",
options=make_request_options(
@@ -227,6 +229,8 @@ class Jobs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return self._post(
f"/fine_tuning/jobs/{fine_tuning_job_id}/cancel",
options=make_request_options(
@@ -264,6 +268,8 @@ class Jobs(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return self._get_api_list(
f"/fine_tuning/jobs/{fine_tuning_job_id}/events",
page=SyncCursorPage[FineTuningJobEvent],
@@ -404,6 +410,8 @@ class AsyncJobs(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return await self._get(
f"/fine_tuning/jobs/{fine_tuning_job_id}",
options=make_request_options(
@@ -482,6 +490,8 @@ class AsyncJobs(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return await self._post(
f"/fine_tuning/jobs/{fine_tuning_job_id}/cancel",
options=make_request_options(
@@ -519,6 +529,8 @@ class AsyncJobs(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not fine_tuning_job_id:
+ raise ValueError(f"Expected a non-empty value for `fine_tuning_job_id` but received {fine_tuning_job_id!r}")
return self._get_api_list(
f"/fine_tuning/jobs/{fine_tuning_job_id}/events",
page=AsyncCursorPage[FineTuningJobEvent],
src/openai/resources/files.py
@@ -99,7 +99,6 @@ class Files(SyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return self._post(
"/files",
body=maybe_transform(body, file_create_params.FileCreateParams),
@@ -133,6 +132,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return self._get(
f"/files/{file_id}",
options=make_request_options(
@@ -202,6 +203,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return self._delete(
f"/files/{file_id}",
options=make_request_options(
@@ -233,6 +236,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return self._get(
f"/files/{file_id}/content",
options=make_request_options(
@@ -265,6 +270,8 @@ class Files(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"Accept": "application/json", **(extra_headers or {})}
return self._get(
f"/files/{file_id}/content",
@@ -365,7 +372,6 @@ class AsyncFiles(AsyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return await self._post(
"/files",
body=maybe_transform(body, file_create_params.FileCreateParams),
@@ -399,6 +405,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return await self._get(
f"/files/{file_id}",
options=make_request_options(
@@ -468,6 +476,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return await self._delete(
f"/files/{file_id}",
options=make_request_options(
@@ -499,6 +509,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
return await self._get(
f"/files/{file_id}/content",
options=make_request_options(
@@ -531,6 +543,8 @@ class AsyncFiles(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not file_id:
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
extra_headers = {"Accept": "application/json", **(extra_headers or {})}
return await self._get(
f"/files/{file_id}/content",
src/openai/resources/images.py
@@ -98,7 +98,6 @@ class Images(SyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return self._post(
"/images/variations",
body=maybe_transform(body, image_create_variation_params.ImageCreateVariationParams),
@@ -182,7 +181,6 @@ class Images(SyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return self._post(
"/images/edits",
body=maybe_transform(body, image_edit_params.ImageEditParams),
@@ -345,7 +343,6 @@ class AsyncImages(AsyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return await self._post(
"/images/variations",
body=maybe_transform(body, image_create_variation_params.ImageCreateVariationParams),
@@ -429,7 +426,6 @@ class AsyncImages(AsyncAPIResource):
# sent to the server will contain a `boundary` parameter, e.g.
# multipart/form-data; boundary=---abc--
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
-
return await self._post(
"/images/edits",
body=maybe_transform(body, image_edit_params.ImageEditParams),
src/openai/resources/models.py
@@ -52,6 +52,8 @@ class Models(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not model:
+ raise ValueError(f"Expected a non-empty value for `model` but received {model!r}")
return self._get(
f"/models/{model}",
options=make_request_options(
@@ -108,6 +110,8 @@ class Models(SyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not model:
+ raise ValueError(f"Expected a non-empty value for `model` but received {model!r}")
return self._delete(
f"/models/{model}",
options=make_request_options(
@@ -150,6 +154,8 @@ class AsyncModels(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not model:
+ raise ValueError(f"Expected a non-empty value for `model` but received {model!r}")
return await self._get(
f"/models/{model}",
options=make_request_options(
@@ -206,6 +212,8 @@ class AsyncModels(AsyncAPIResource):
timeout: Override the client-level default timeout for this request, in seconds
"""
+ if not model:
+ raise ValueError(f"Expected a non-empty value for `model` but received {model!r}")
return await self._delete(
f"/models/{model}",
options=make_request_options(
tests/api_resources/beta/assistants/test_files.py
@@ -56,6 +56,14 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_create(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.create(
+ "",
+ file_id="string",
+ )
+
@parametrize
def test_method_retrieve(self, client: OpenAI) -> None:
file = client.beta.assistants.files.retrieve(
@@ -90,6 +98,20 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.retrieve(
+ "string",
+ assistant_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.retrieve(
+ "",
+ assistant_id="string",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
file = client.beta.assistants.files.list(
@@ -132,6 +154,13 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.list(
+ "",
+ )
+
@parametrize
def test_method_delete(self, client: OpenAI) -> None:
file = client.beta.assistants.files.delete(
@@ -166,6 +195,20 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_delete(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.delete(
+ "string",
+ assistant_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.beta.assistants.files.with_raw_response.delete(
+ "",
+ assistant_id="string",
+ )
+
class TestAsyncFiles:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -206,6 +249,14 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_create(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.create(
+ "",
+ file_id="string",
+ )
+
@parametrize
async def test_method_retrieve(self, client: AsyncOpenAI) -> None:
file = await client.beta.assistants.files.retrieve(
@@ -240,6 +291,20 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.retrieve(
+ "string",
+ assistant_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.retrieve(
+ "",
+ assistant_id="string",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
file = await client.beta.assistants.files.list(
@@ -282,6 +347,13 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_list(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.list(
+ "",
+ )
+
@parametrize
async def test_method_delete(self, client: AsyncOpenAI) -> None:
file = await client.beta.assistants.files.delete(
@@ -315,3 +387,17 @@ class TestAsyncFiles:
assert_matches_type(FileDeleteResponse, file, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_delete(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.delete(
+ "string",
+ assistant_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.beta.assistants.files.with_raw_response.delete(
+ "",
+ assistant_id="string",
+ )
tests/api_resources/beta/threads/messages/test_files.py
@@ -59,6 +59,29 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.files.with_raw_response.retrieve(
+ "file-abc123",
+ thread_id="",
+ message_id="msg_abc123",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ client.beta.threads.messages.files.with_raw_response.retrieve(
+ "file-abc123",
+ thread_id="thread_abc123",
+ message_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.beta.threads.messages.files.with_raw_response.retrieve(
+ "",
+ thread_id="thread_abc123",
+ message_id="msg_abc123",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
file = client.beta.threads.messages.files.list(
@@ -105,6 +128,20 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.files.with_raw_response.list(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ client.beta.threads.messages.files.with_raw_response.list(
+ "",
+ thread_id="string",
+ )
+
class TestAsyncFiles:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -148,6 +185,29 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.files.with_raw_response.retrieve(
+ "file-abc123",
+ thread_id="",
+ message_id="msg_abc123",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ await client.beta.threads.messages.files.with_raw_response.retrieve(
+ "file-abc123",
+ thread_id="thread_abc123",
+ message_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.beta.threads.messages.files.with_raw_response.retrieve(
+ "",
+ thread_id="thread_abc123",
+ message_id="msg_abc123",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
file = await client.beta.threads.messages.files.list(
@@ -193,3 +253,17 @@ class TestAsyncFiles:
assert_matches_type(AsyncCursorPage[MessageFile], file, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_list(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.files.with_raw_response.list(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ await client.beta.threads.messages.files.with_raw_response.list(
+ "",
+ thread_id="string",
+ )
tests/api_resources/beta/threads/runs/test_steps.py
@@ -59,6 +59,29 @@ class TestSteps:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ run_id="string",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "string",
+ thread_id="string",
+ run_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `step_id` but received ''"):
+ client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ run_id="string",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
step = client.beta.threads.runs.steps.list(
@@ -105,6 +128,20 @@ class TestSteps:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.steps.with_raw_response.list(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.steps.with_raw_response.list(
+ "",
+ thread_id="string",
+ )
+
class TestAsyncSteps:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -148,6 +185,29 @@ class TestAsyncSteps:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ run_id="string",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "string",
+ thread_id="string",
+ run_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `step_id` but received ''"):
+ await client.beta.threads.runs.steps.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ run_id="string",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
step = await client.beta.threads.runs.steps.list(
@@ -193,3 +253,17 @@ class TestAsyncSteps:
assert_matches_type(AsyncCursorPage[RunStep], step, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_list(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.steps.with_raw_response.list(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.steps.with_raw_response.list(
+ "",
+ thread_id="string",
+ )
tests/api_resources/beta/threads/test_messages.py
@@ -70,6 +70,15 @@ class TestMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_create(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.create(
+ "",
+ content="x",
+ role="user",
+ )
+
@parametrize
def test_method_retrieve(self, client: OpenAI) -> None:
message = client.beta.threads.messages.retrieve(
@@ -104,6 +113,20 @@ class TestMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ )
+
@parametrize
def test_method_update(self, client: OpenAI) -> None:
message = client.beta.threads.messages.update(
@@ -147,6 +170,20 @@ class TestMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_update(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.update(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.update(
+ "",
+ thread_id="string",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
message = client.beta.threads.messages.list(
@@ -189,6 +226,13 @@ class TestMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.messages.with_raw_response.list(
+ "",
+ )
+
class TestAsyncMessages:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -243,6 +287,15 @@ class TestAsyncMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_create(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.create(
+ "",
+ content="x",
+ role="user",
+ )
+
@parametrize
async def test_method_retrieve(self, client: AsyncOpenAI) -> None:
message = await client.beta.threads.messages.retrieve(
@@ -277,6 +330,20 @@ class TestAsyncMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ )
+
@parametrize
async def test_method_update(self, client: AsyncOpenAI) -> None:
message = await client.beta.threads.messages.update(
@@ -320,6 +387,20 @@ class TestAsyncMessages:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_update(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.update(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `message_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.update(
+ "",
+ thread_id="string",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
message = await client.beta.threads.messages.list(
@@ -361,3 +442,10 @@ class TestAsyncMessages:
assert_matches_type(AsyncCursorPage[ThreadMessage], message, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_list(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.messages.with_raw_response.list(
+ "",
+ )
tests/api_resources/beta/threads/test_runs.py
@@ -71,6 +71,14 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_create(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.create(
+ "",
+ assistant_id="string",
+ )
+
@parametrize
def test_method_retrieve(self, client: OpenAI) -> None:
run = client.beta.threads.runs.retrieve(
@@ -105,6 +113,20 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ )
+
@parametrize
def test_method_update(self, client: OpenAI) -> None:
run = client.beta.threads.runs.update(
@@ -148,6 +170,20 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_update(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.update(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.update(
+ "",
+ thread_id="string",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
run = client.beta.threads.runs.list(
@@ -190,6 +226,13 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.list(
+ "",
+ )
+
@parametrize
def test_method_cancel(self, client: OpenAI) -> None:
run = client.beta.threads.runs.cancel(
@@ -224,6 +267,20 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_cancel(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.cancel(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.cancel(
+ "",
+ thread_id="string",
+ )
+
@parametrize
def test_method_submit_tool_outputs(self, client: OpenAI) -> None:
run = client.beta.threads.runs.submit_tool_outputs(
@@ -261,6 +318,22 @@ class TestRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_submit_tool_outputs(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.submit_tool_outputs(
+ "string",
+ thread_id="",
+ tool_outputs=[{}, {}, {}],
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ client.beta.threads.runs.with_raw_response.submit_tool_outputs(
+ "",
+ thread_id="string",
+ tool_outputs=[{}, {}, {}],
+ )
+
class TestAsyncRuns:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -314,6 +387,14 @@ class TestAsyncRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_create(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.create(
+ "",
+ assistant_id="string",
+ )
+
@parametrize
async def test_method_retrieve(self, client: AsyncOpenAI) -> None:
run = await client.beta.threads.runs.retrieve(
@@ -348,6 +429,20 @@ class TestAsyncRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.retrieve(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.retrieve(
+ "",
+ thread_id="string",
+ )
+
@parametrize
async def test_method_update(self, client: AsyncOpenAI) -> None:
run = await client.beta.threads.runs.update(
@@ -391,6 +486,20 @@ class TestAsyncRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_update(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.update(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.update(
+ "",
+ thread_id="string",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
run = await client.beta.threads.runs.list(
@@ -433,6 +542,13 @@ class TestAsyncRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_list(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.list(
+ "",
+ )
+
@parametrize
async def test_method_cancel(self, client: AsyncOpenAI) -> None:
run = await client.beta.threads.runs.cancel(
@@ -467,6 +583,20 @@ class TestAsyncRuns:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_cancel(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.cancel(
+ "string",
+ thread_id="",
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.cancel(
+ "",
+ thread_id="string",
+ )
+
@parametrize
async def test_method_submit_tool_outputs(self, client: AsyncOpenAI) -> None:
run = await client.beta.threads.runs.submit_tool_outputs(
@@ -503,3 +633,19 @@ class TestAsyncRuns:
assert_matches_type(Run, run, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_submit_tool_outputs(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.submit_tool_outputs(
+ "string",
+ thread_id="",
+ tool_outputs=[{}, {}, {}],
+ )
+
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
+ await client.beta.threads.runs.with_raw_response.submit_tool_outputs(
+ "",
+ thread_id="string",
+ tool_outputs=[{}, {}, {}],
+ )
tests/api_resources/beta/test_assistants.py
@@ -100,6 +100,13 @@ class TestAssistants:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
def test_method_update(self, client: OpenAI) -> None:
assistant = client.beta.assistants.update(
@@ -145,6 +152,13 @@ class TestAssistants:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_update(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.with_raw_response.update(
+ "",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
assistant = client.beta.assistants.list()
@@ -211,6 +225,13 @@ class TestAssistants:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_delete(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ client.beta.assistants.with_raw_response.delete(
+ "",
+ )
+
class TestAsyncAssistants:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -292,6 +313,13 @@ class TestAsyncAssistants:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
async def test_method_update(self, client: AsyncOpenAI) -> None:
assistant = await client.beta.assistants.update(
@@ -337,6 +365,13 @@ class TestAsyncAssistants:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_update(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.with_raw_response.update(
+ "",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
assistant = await client.beta.assistants.list()
@@ -402,3 +437,10 @@ class TestAsyncAssistants:
assert_matches_type(AssistantDeleted, assistant, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_delete(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `assistant_id` but received ''"):
+ await client.beta.assistants.with_raw_response.delete(
+ "",
+ )
tests/api_resources/beta/test_threads.py
@@ -108,6 +108,13 @@ class TestThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
def test_method_update(self, client: OpenAI) -> None:
thread = client.beta.threads.update(
@@ -147,6 +154,13 @@ class TestThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_update(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.with_raw_response.update(
+ "",
+ )
+
@parametrize
def test_method_delete(self, client: OpenAI) -> None:
thread = client.beta.threads.delete(
@@ -178,6 +192,13 @@ class TestThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_delete(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ client.beta.threads.with_raw_response.delete(
+ "",
+ )
+
@parametrize
def test_method_create_and_run(self, client: OpenAI) -> None:
thread = client.beta.threads.create_and_run(
@@ -332,6 +353,13 @@ class TestAsyncThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
async def test_method_update(self, client: AsyncOpenAI) -> None:
thread = await client.beta.threads.update(
@@ -371,6 +399,13 @@ class TestAsyncThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_update(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.with_raw_response.update(
+ "",
+ )
+
@parametrize
async def test_method_delete(self, client: AsyncOpenAI) -> None:
thread = await client.beta.threads.delete(
@@ -402,6 +437,13 @@ class TestAsyncThreads:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_delete(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
+ await client.beta.threads.with_raw_response.delete(
+ "",
+ )
+
@parametrize
async def test_method_create_and_run(self, client: AsyncOpenAI) -> None:
thread = await client.beta.threads.create_and_run(
tests/api_resources/fine_tuning/test_jobs.py
@@ -105,6 +105,13 @@ class TestJobs:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ client.fine_tuning.jobs.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
job = client.fine_tuning.jobs.list()
@@ -169,6 +176,13 @@ class TestJobs:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_cancel(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ client.fine_tuning.jobs.with_raw_response.cancel(
+ "",
+ )
+
@parametrize
def test_method_list_events(self, client: OpenAI) -> None:
job = client.fine_tuning.jobs.list_events(
@@ -209,6 +223,13 @@ class TestJobs:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_list_events(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ client.fine_tuning.jobs.with_raw_response.list_events(
+ "",
+ )
+
class TestAsyncJobs:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -295,6 +316,13 @@ class TestAsyncJobs:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ await client.fine_tuning.jobs.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
job = await client.fine_tuning.jobs.list()
@@ -359,6 +387,13 @@ class TestAsyncJobs:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_cancel(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ await client.fine_tuning.jobs.with_raw_response.cancel(
+ "",
+ )
+
@parametrize
async def test_method_list_events(self, client: AsyncOpenAI) -> None:
job = await client.fine_tuning.jobs.list_events(
@@ -398,3 +433,10 @@ class TestAsyncJobs:
assert_matches_type(AsyncCursorPage[FineTuningJobEvent], job, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_list_events(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `fine_tuning_job_id` but received ''"):
+ await client.fine_tuning.jobs.with_raw_response.list_events(
+ "",
+ )
tests/api_resources/test_files.py
@@ -92,6 +92,13 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.files.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
file = client.files.list()
@@ -155,6 +162,13 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_delete(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.files.with_raw_response.delete(
+ "",
+ )
+
@parametrize
@pytest.mark.respx(base_url=base_url)
def test_method_content(self, client: OpenAI, respx_mock: MockRouter) -> None:
@@ -194,6 +208,14 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ def test_path_params_content(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.files.with_raw_response.content(
+ "",
+ )
+
@parametrize
def test_method_retrieve_content(self, client: OpenAI) -> None:
with pytest.warns(DeprecationWarning):
@@ -229,6 +251,14 @@ class TestFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve_content(self, client: OpenAI) -> None:
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ client.files.with_raw_response.retrieve_content(
+ "",
+ )
+
class TestAsyncFiles:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -300,6 +330,13 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.files.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
file = await client.files.list()
@@ -363,6 +400,13 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_delete(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.files.with_raw_response.delete(
+ "",
+ )
+
@parametrize
@pytest.mark.respx(base_url=base_url)
async def test_method_content(self, client: AsyncOpenAI, respx_mock: MockRouter) -> None:
@@ -402,6 +446,14 @@ class TestAsyncFiles:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ async def test_path_params_content(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.files.with_raw_response.content(
+ "",
+ )
+
@parametrize
async def test_method_retrieve_content(self, client: AsyncOpenAI) -> None:
with pytest.warns(DeprecationWarning):
@@ -436,3 +488,11 @@ class TestAsyncFiles:
assert_matches_type(str, file, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_retrieve_content(self, client: AsyncOpenAI) -> None:
+ with pytest.warns(DeprecationWarning):
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `file_id` but received ''"):
+ await client.files.with_raw_response.retrieve_content(
+ "",
+ )
tests/api_resources/test_models.py
@@ -53,6 +53,13 @@ class TestModels:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_retrieve(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `model` but received ''"):
+ client.models.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
def test_method_list(self, client: OpenAI) -> None:
model = client.models.list()
@@ -109,6 +116,13 @@ class TestModels:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ def test_path_params_delete(self, client: OpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `model` but received ''"):
+ client.models.with_raw_response.delete(
+ "",
+ )
+
class TestAsyncModels:
strict_client = AsyncOpenAI(base_url=base_url, api_key=api_key, _strict_response_validation=True)
@@ -146,6 +160,13 @@ class TestAsyncModels:
assert cast(Any, response.is_closed) is True
+ @parametrize
+ async def test_path_params_retrieve(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `model` but received ''"):
+ await client.models.with_raw_response.retrieve(
+ "",
+ )
+
@parametrize
async def test_method_list(self, client: AsyncOpenAI) -> None:
model = await client.models.list()
@@ -201,3 +222,10 @@ class TestAsyncModels:
assert_matches_type(ModelDeleted, model, path=["response"])
assert cast(Any, response.is_closed) is True
+
+ @parametrize
+ async def test_path_params_delete(self, client: AsyncOpenAI) -> None:
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `model` but received ''"):
+ await client.models.with_raw_response.delete(
+ "",
+ )