openai/openai-python

Public

mirrored from https://github.com/openai/openai-pythonAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v1.13.3

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

tests/api_resources/beta/threads/test_runs.py

645lines · modeblame

baa9f07fRobert Craigie2 years ago1# File generated from our OpenAPI spec by Stainless.
2
3from __future__ import annotations
4
5import os
86379b44Stainless Bot2 years ago6from typing import Any, cast
baa9f07fRobert Craigie2 years ago7
8import pytest
9
10from openai import OpenAI, AsyncOpenAI
11from tests.utils import assert_matches_type
12from openai.pagination import SyncCursorPage, AsyncCursorPage
a47375b7Stainless Bot2 years ago13from openai.types.beta.threads import (
14Run,
15)
baa9f07fRobert Craigie2 years ago16
17base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
18
19
20class TestRuns:
98d779fbStainless Bot2 years ago21parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
baa9f07fRobert Craigie2 years ago22
23@parametrize
24def test_method_create(self, client: OpenAI) -> None:
25run = client.beta.threads.runs.create(
26"string",
27assistant_id="string",
28)
29assert_matches_type(Run, run, path=["response"])
30
31@parametrize
32def test_method_create_with_all_params(self, client: OpenAI) -> None:
33run = client.beta.threads.runs.create(
34"string",
35assistant_id="string",
53bca49eStainless Bot2 years ago36additional_instructions="string",
baa9f07fRobert Craigie2 years ago37instructions="string",
38metadata={},
39model="string",
40tools=[{"type": "code_interpreter"}, {"type": "code_interpreter"}, {"type": "code_interpreter"}],
41)
42assert_matches_type(Run, run, path=["response"])
43
44@parametrize
45def test_raw_response_create(self, client: OpenAI) -> None:
46response = client.beta.threads.runs.with_raw_response.create(
47"string",
48assistant_id="string",
49)
86379b44Stainless Bot2 years ago50
51assert response.is_closed is True
baa9f07fRobert Craigie2 years ago52assert response.http_request.headers.get("X-Stainless-Lang") == "python"
53run = response.parse()
54assert_matches_type(Run, run, path=["response"])
55
86379b44Stainless Bot2 years ago56@parametrize
57def test_streaming_response_create(self, client: OpenAI) -> None:
58with client.beta.threads.runs.with_streaming_response.create(
59"string",
60assistant_id="string",
61) as response:
62assert not response.is_closed
63assert response.http_request.headers.get("X-Stainless-Lang") == "python"
64
65run = response.parse()
66assert_matches_type(Run, run, path=["response"])
67
68assert cast(Any, response.is_closed) is True
69
023a4e66Stainless Bot2 years ago70@parametrize
71def test_path_params_create(self, client: OpenAI) -> None:
72with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
73client.beta.threads.runs.with_raw_response.create(
74"",
75assistant_id="string",
76)
77
baa9f07fRobert Craigie2 years ago78@parametrize
79def test_method_retrieve(self, client: OpenAI) -> None:
80run = client.beta.threads.runs.retrieve(
81"string",
82thread_id="string",
83)
84assert_matches_type(Run, run, path=["response"])
85
86@parametrize
87def test_raw_response_retrieve(self, client: OpenAI) -> None:
88response = client.beta.threads.runs.with_raw_response.retrieve(
89"string",
90thread_id="string",
91)
86379b44Stainless Bot2 years ago92
93assert response.is_closed is True
baa9f07fRobert Craigie2 years ago94assert response.http_request.headers.get("X-Stainless-Lang") == "python"
95run = response.parse()
96assert_matches_type(Run, run, path=["response"])
97
86379b44Stainless Bot2 years ago98@parametrize
99def test_streaming_response_retrieve(self, client: OpenAI) -> None:
100with client.beta.threads.runs.with_streaming_response.retrieve(
101"string",
102thread_id="string",
103) as response:
104assert not response.is_closed
105assert response.http_request.headers.get("X-Stainless-Lang") == "python"
106
107run = response.parse()
108assert_matches_type(Run, run, path=["response"])
109
110assert cast(Any, response.is_closed) is True
111
023a4e66Stainless Bot2 years ago112@parametrize
113def test_path_params_retrieve(self, client: OpenAI) -> None:
114with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
115client.beta.threads.runs.with_raw_response.retrieve(
116"string",
117thread_id="",
118)
119
120with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
121client.beta.threads.runs.with_raw_response.retrieve(
122"",
123thread_id="string",
124)
125
baa9f07fRobert Craigie2 years ago126@parametrize
127def test_method_update(self, client: OpenAI) -> None:
128run = client.beta.threads.runs.update(
129"string",
130thread_id="string",
131)
132assert_matches_type(Run, run, path=["response"])
133
134@parametrize
135def test_method_update_with_all_params(self, client: OpenAI) -> None:
136run = client.beta.threads.runs.update(
137"string",
138thread_id="string",
139metadata={},
140)
141assert_matches_type(Run, run, path=["response"])
142
143@parametrize
144def test_raw_response_update(self, client: OpenAI) -> None:
145response = client.beta.threads.runs.with_raw_response.update(
146"string",
147thread_id="string",
148)
86379b44Stainless Bot2 years ago149
150assert response.is_closed is True
baa9f07fRobert Craigie2 years ago151assert response.http_request.headers.get("X-Stainless-Lang") == "python"
152run = response.parse()
153assert_matches_type(Run, run, path=["response"])
154
86379b44Stainless Bot2 years ago155@parametrize
156def test_streaming_response_update(self, client: OpenAI) -> None:
157with client.beta.threads.runs.with_streaming_response.update(
158"string",
159thread_id="string",
160) as response:
161assert not response.is_closed
162assert response.http_request.headers.get("X-Stainless-Lang") == "python"
163
164run = response.parse()
165assert_matches_type(Run, run, path=["response"])
166
167assert cast(Any, response.is_closed) is True
168
023a4e66Stainless Bot2 years ago169@parametrize
170def test_path_params_update(self, client: OpenAI) -> None:
171with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
172client.beta.threads.runs.with_raw_response.update(
173"string",
174thread_id="",
175)
176
177with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
178client.beta.threads.runs.with_raw_response.update(
179"",
180thread_id="string",
181)
182
baa9f07fRobert Craigie2 years ago183@parametrize
184def test_method_list(self, client: OpenAI) -> None:
185run = client.beta.threads.runs.list(
186"string",
187)
188assert_matches_type(SyncCursorPage[Run], run, path=["response"])
189
190@parametrize
191def test_method_list_with_all_params(self, client: OpenAI) -> None:
192run = client.beta.threads.runs.list(
193"string",
194after="string",
195before="string",
196limit=0,
197order="asc",
198)
199assert_matches_type(SyncCursorPage[Run], run, path=["response"])
200
201@parametrize
202def test_raw_response_list(self, client: OpenAI) -> None:
203response = client.beta.threads.runs.with_raw_response.list(
204"string",
205)
86379b44Stainless Bot2 years ago206
207assert response.is_closed is True
baa9f07fRobert Craigie2 years ago208assert response.http_request.headers.get("X-Stainless-Lang") == "python"
209run = response.parse()
210assert_matches_type(SyncCursorPage[Run], run, path=["response"])
211
86379b44Stainless Bot2 years ago212@parametrize
213def test_streaming_response_list(self, client: OpenAI) -> None:
214with client.beta.threads.runs.with_streaming_response.list(
215"string",
216) as response:
217assert not response.is_closed
218assert response.http_request.headers.get("X-Stainless-Lang") == "python"
219
220run = response.parse()
221assert_matches_type(SyncCursorPage[Run], run, path=["response"])
222
223assert cast(Any, response.is_closed) is True
224
023a4e66Stainless Bot2 years ago225@parametrize
226def test_path_params_list(self, client: OpenAI) -> None:
227with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
228client.beta.threads.runs.with_raw_response.list(
229"",
230)
231
baa9f07fRobert Craigie2 years ago232@parametrize
233def test_method_cancel(self, client: OpenAI) -> None:
234run = client.beta.threads.runs.cancel(
235"string",
236thread_id="string",
237)
238assert_matches_type(Run, run, path=["response"])
239
240@parametrize
241def test_raw_response_cancel(self, client: OpenAI) -> None:
242response = client.beta.threads.runs.with_raw_response.cancel(
243"string",
244thread_id="string",
245)
86379b44Stainless Bot2 years ago246
247assert response.is_closed is True
baa9f07fRobert Craigie2 years ago248assert response.http_request.headers.get("X-Stainless-Lang") == "python"
249run = response.parse()
250assert_matches_type(Run, run, path=["response"])
251
86379b44Stainless Bot2 years ago252@parametrize
253def test_streaming_response_cancel(self, client: OpenAI) -> None:
254with client.beta.threads.runs.with_streaming_response.cancel(
255"string",
256thread_id="string",
257) as response:
258assert not response.is_closed
259assert response.http_request.headers.get("X-Stainless-Lang") == "python"
260
261run = response.parse()
262assert_matches_type(Run, run, path=["response"])
263
264assert cast(Any, response.is_closed) is True
265
023a4e66Stainless Bot2 years ago266@parametrize
267def test_path_params_cancel(self, client: OpenAI) -> None:
268with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
269client.beta.threads.runs.with_raw_response.cancel(
270"string",
271thread_id="",
272)
273
274with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
275client.beta.threads.runs.with_raw_response.cancel(
276"",
277thread_id="string",
278)
279
baa9f07fRobert Craigie2 years ago280@parametrize
281def test_method_submit_tool_outputs(self, client: OpenAI) -> None:
282run = client.beta.threads.runs.submit_tool_outputs(
283"string",
284thread_id="string",
285tool_outputs=[{}, {}, {}],
286)
287assert_matches_type(Run, run, path=["response"])
288
289@parametrize
290def test_raw_response_submit_tool_outputs(self, client: OpenAI) -> None:
291response = client.beta.threads.runs.with_raw_response.submit_tool_outputs(
292"string",
293thread_id="string",
294tool_outputs=[{}, {}, {}],
295)
86379b44Stainless Bot2 years ago296
297assert response.is_closed is True
baa9f07fRobert Craigie2 years ago298assert response.http_request.headers.get("X-Stainless-Lang") == "python"
299run = response.parse()
300assert_matches_type(Run, run, path=["response"])
301
86379b44Stainless Bot2 years ago302@parametrize
303def test_streaming_response_submit_tool_outputs(self, client: OpenAI) -> None:
304with client.beta.threads.runs.with_streaming_response.submit_tool_outputs(
305"string",
306thread_id="string",
307tool_outputs=[{}, {}, {}],
308) as response:
309assert not response.is_closed
310assert response.http_request.headers.get("X-Stainless-Lang") == "python"
311
312run = response.parse()
313assert_matches_type(Run, run, path=["response"])
314
315assert cast(Any, response.is_closed) is True
316
023a4e66Stainless Bot2 years ago317@parametrize
318def test_path_params_submit_tool_outputs(self, client: OpenAI) -> None:
319with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
320client.beta.threads.runs.with_raw_response.submit_tool_outputs(
321"string",
322thread_id="",
323tool_outputs=[{}, {}, {}],
324)
325
326with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
327client.beta.threads.runs.with_raw_response.submit_tool_outputs(
328"",
329thread_id="string",
330tool_outputs=[{}, {}, {}],
331)
332
baa9f07fRobert Craigie2 years ago333
334class TestAsyncRuns:
98d779fbStainless Bot2 years ago335parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
baa9f07fRobert Craigie2 years ago336
337@parametrize
98d779fbStainless Bot2 years ago338async def test_method_create(self, async_client: AsyncOpenAI) -> None:
339run = await async_client.beta.threads.runs.create(
baa9f07fRobert Craigie2 years ago340"string",
341assistant_id="string",
342)
343assert_matches_type(Run, run, path=["response"])
344
345@parametrize
98d779fbStainless Bot2 years ago346async def test_method_create_with_all_params(self, async_client: AsyncOpenAI) -> None:
347run = await async_client.beta.threads.runs.create(
baa9f07fRobert Craigie2 years ago348"string",
349assistant_id="string",
53bca49eStainless Bot2 years ago350additional_instructions="string",
baa9f07fRobert Craigie2 years ago351instructions="string",
352metadata={},
353model="string",
354tools=[{"type": "code_interpreter"}, {"type": "code_interpreter"}, {"type": "code_interpreter"}],
355)
356assert_matches_type(Run, run, path=["response"])
357
358@parametrize
98d779fbStainless Bot2 years ago359async def test_raw_response_create(self, async_client: AsyncOpenAI) -> None:
360response = await async_client.beta.threads.runs.with_raw_response.create(
baa9f07fRobert Craigie2 years ago361"string",
362assistant_id="string",
363)
86379b44Stainless Bot2 years ago364
365assert response.is_closed is True
baa9f07fRobert Craigie2 years ago366assert response.http_request.headers.get("X-Stainless-Lang") == "python"
367run = response.parse()
368assert_matches_type(Run, run, path=["response"])
369
86379b44Stainless Bot2 years ago370@parametrize
98d779fbStainless Bot2 years ago371async def test_streaming_response_create(self, async_client: AsyncOpenAI) -> None:
372async with async_client.beta.threads.runs.with_streaming_response.create(
86379b44Stainless Bot2 years ago373"string",
374assistant_id="string",
375) as response:
376assert not response.is_closed
377assert response.http_request.headers.get("X-Stainless-Lang") == "python"
378
379run = await response.parse()
380assert_matches_type(Run, run, path=["response"])
381
382assert cast(Any, response.is_closed) is True
383
023a4e66Stainless Bot2 years ago384@parametrize
98d779fbStainless Bot2 years ago385async def test_path_params_create(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago386with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago387await async_client.beta.threads.runs.with_raw_response.create(
023a4e66Stainless Bot2 years ago388"",
389assistant_id="string",
390)
391
baa9f07fRobert Craigie2 years ago392@parametrize
98d779fbStainless Bot2 years ago393async def test_method_retrieve(self, async_client: AsyncOpenAI) -> None:
394run = await async_client.beta.threads.runs.retrieve(
baa9f07fRobert Craigie2 years ago395"string",
396thread_id="string",
397)
398assert_matches_type(Run, run, path=["response"])
399
400@parametrize
98d779fbStainless Bot2 years ago401async def test_raw_response_retrieve(self, async_client: AsyncOpenAI) -> None:
402response = await async_client.beta.threads.runs.with_raw_response.retrieve(
baa9f07fRobert Craigie2 years ago403"string",
404thread_id="string",
405)
86379b44Stainless Bot2 years ago406
407assert response.is_closed is True
baa9f07fRobert Craigie2 years ago408assert response.http_request.headers.get("X-Stainless-Lang") == "python"
409run = response.parse()
410assert_matches_type(Run, run, path=["response"])
411
86379b44Stainless Bot2 years ago412@parametrize
98d779fbStainless Bot2 years ago413async def test_streaming_response_retrieve(self, async_client: AsyncOpenAI) -> None:
414async with async_client.beta.threads.runs.with_streaming_response.retrieve(
86379b44Stainless Bot2 years ago415"string",
416thread_id="string",
417) as response:
418assert not response.is_closed
419assert response.http_request.headers.get("X-Stainless-Lang") == "python"
420
421run = await response.parse()
422assert_matches_type(Run, run, path=["response"])
423
424assert cast(Any, response.is_closed) is True
425
023a4e66Stainless Bot2 years ago426@parametrize
98d779fbStainless Bot2 years ago427async def test_path_params_retrieve(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago428with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago429await async_client.beta.threads.runs.with_raw_response.retrieve(
023a4e66Stainless Bot2 years ago430"string",
431thread_id="",
432)
433
434with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
98d779fbStainless Bot2 years ago435await async_client.beta.threads.runs.with_raw_response.retrieve(
023a4e66Stainless Bot2 years ago436"",
437thread_id="string",
438)
439
baa9f07fRobert Craigie2 years ago440@parametrize
98d779fbStainless Bot2 years ago441async def test_method_update(self, async_client: AsyncOpenAI) -> None:
442run = await async_client.beta.threads.runs.update(
baa9f07fRobert Craigie2 years ago443"string",
444thread_id="string",
445)
446assert_matches_type(Run, run, path=["response"])
447
448@parametrize
98d779fbStainless Bot2 years ago449async def test_method_update_with_all_params(self, async_client: AsyncOpenAI) -> None:
450run = await async_client.beta.threads.runs.update(
baa9f07fRobert Craigie2 years ago451"string",
452thread_id="string",
453metadata={},
454)
455assert_matches_type(Run, run, path=["response"])
456
457@parametrize
98d779fbStainless Bot2 years ago458async def test_raw_response_update(self, async_client: AsyncOpenAI) -> None:
459response = await async_client.beta.threads.runs.with_raw_response.update(
baa9f07fRobert Craigie2 years ago460"string",
461thread_id="string",
462)
86379b44Stainless Bot2 years ago463
464assert response.is_closed is True
baa9f07fRobert Craigie2 years ago465assert response.http_request.headers.get("X-Stainless-Lang") == "python"
466run = response.parse()
467assert_matches_type(Run, run, path=["response"])
468
86379b44Stainless Bot2 years ago469@parametrize
98d779fbStainless Bot2 years ago470async def test_streaming_response_update(self, async_client: AsyncOpenAI) -> None:
471async with async_client.beta.threads.runs.with_streaming_response.update(
86379b44Stainless Bot2 years ago472"string",
473thread_id="string",
474) as response:
475assert not response.is_closed
476assert response.http_request.headers.get("X-Stainless-Lang") == "python"
477
478run = await response.parse()
479assert_matches_type(Run, run, path=["response"])
480
481assert cast(Any, response.is_closed) is True
482
023a4e66Stainless Bot2 years ago483@parametrize
98d779fbStainless Bot2 years ago484async def test_path_params_update(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago485with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago486await async_client.beta.threads.runs.with_raw_response.update(
023a4e66Stainless Bot2 years ago487"string",
488thread_id="",
489)
490
491with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
98d779fbStainless Bot2 years ago492await async_client.beta.threads.runs.with_raw_response.update(
023a4e66Stainless Bot2 years ago493"",
494thread_id="string",
495)
496
baa9f07fRobert Craigie2 years ago497@parametrize
98d779fbStainless Bot2 years ago498async def test_method_list(self, async_client: AsyncOpenAI) -> None:
499run = await async_client.beta.threads.runs.list(
baa9f07fRobert Craigie2 years ago500"string",
501)
502assert_matches_type(AsyncCursorPage[Run], run, path=["response"])
503
504@parametrize
98d779fbStainless Bot2 years ago505async def test_method_list_with_all_params(self, async_client: AsyncOpenAI) -> None:
506run = await async_client.beta.threads.runs.list(
baa9f07fRobert Craigie2 years ago507"string",
508after="string",
509before="string",
510limit=0,
511order="asc",
512)
513assert_matches_type(AsyncCursorPage[Run], run, path=["response"])
514
515@parametrize
98d779fbStainless Bot2 years ago516async def test_raw_response_list(self, async_client: AsyncOpenAI) -> None:
517response = await async_client.beta.threads.runs.with_raw_response.list(
baa9f07fRobert Craigie2 years ago518"string",
519)
86379b44Stainless Bot2 years ago520
521assert response.is_closed is True
baa9f07fRobert Craigie2 years ago522assert response.http_request.headers.get("X-Stainless-Lang") == "python"
523run = response.parse()
524assert_matches_type(AsyncCursorPage[Run], run, path=["response"])
525
86379b44Stainless Bot2 years ago526@parametrize
98d779fbStainless Bot2 years ago527async def test_streaming_response_list(self, async_client: AsyncOpenAI) -> None:
528async with async_client.beta.threads.runs.with_streaming_response.list(
86379b44Stainless Bot2 years ago529"string",
530) as response:
531assert not response.is_closed
532assert response.http_request.headers.get("X-Stainless-Lang") == "python"
533
534run = await response.parse()
535assert_matches_type(AsyncCursorPage[Run], run, path=["response"])
536
537assert cast(Any, response.is_closed) is True
538
023a4e66Stainless Bot2 years ago539@parametrize
98d779fbStainless Bot2 years ago540async def test_path_params_list(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago541with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago542await async_client.beta.threads.runs.with_raw_response.list(
023a4e66Stainless Bot2 years ago543"",
544)
545
baa9f07fRobert Craigie2 years ago546@parametrize
98d779fbStainless Bot2 years ago547async def test_method_cancel(self, async_client: AsyncOpenAI) -> None:
548run = await async_client.beta.threads.runs.cancel(
baa9f07fRobert Craigie2 years ago549"string",
550thread_id="string",
551)
552assert_matches_type(Run, run, path=["response"])
553
554@parametrize
98d779fbStainless Bot2 years ago555async def test_raw_response_cancel(self, async_client: AsyncOpenAI) -> None:
556response = await async_client.beta.threads.runs.with_raw_response.cancel(
baa9f07fRobert Craigie2 years ago557"string",
558thread_id="string",
559)
86379b44Stainless Bot2 years ago560
561assert response.is_closed is True
baa9f07fRobert Craigie2 years ago562assert response.http_request.headers.get("X-Stainless-Lang") == "python"
563run = response.parse()
564assert_matches_type(Run, run, path=["response"])
565
86379b44Stainless Bot2 years ago566@parametrize
98d779fbStainless Bot2 years ago567async def test_streaming_response_cancel(self, async_client: AsyncOpenAI) -> None:
568async with async_client.beta.threads.runs.with_streaming_response.cancel(
86379b44Stainless Bot2 years ago569"string",
570thread_id="string",
571) as response:
572assert not response.is_closed
573assert response.http_request.headers.get("X-Stainless-Lang") == "python"
574
575run = await response.parse()
576assert_matches_type(Run, run, path=["response"])
577
578assert cast(Any, response.is_closed) is True
579
023a4e66Stainless Bot2 years ago580@parametrize
98d779fbStainless Bot2 years ago581async def test_path_params_cancel(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago582with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago583await async_client.beta.threads.runs.with_raw_response.cancel(
023a4e66Stainless Bot2 years ago584"string",
585thread_id="",
586)
587
588with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
98d779fbStainless Bot2 years ago589await async_client.beta.threads.runs.with_raw_response.cancel(
023a4e66Stainless Bot2 years ago590"",
591thread_id="string",
592)
593
baa9f07fRobert Craigie2 years ago594@parametrize
98d779fbStainless Bot2 years ago595async def test_method_submit_tool_outputs(self, async_client: AsyncOpenAI) -> None:
596run = await async_client.beta.threads.runs.submit_tool_outputs(
baa9f07fRobert Craigie2 years ago597"string",
598thread_id="string",
599tool_outputs=[{}, {}, {}],
600)
601assert_matches_type(Run, run, path=["response"])
602
603@parametrize
98d779fbStainless Bot2 years ago604async def test_raw_response_submit_tool_outputs(self, async_client: AsyncOpenAI) -> None:
605response = await async_client.beta.threads.runs.with_raw_response.submit_tool_outputs(
baa9f07fRobert Craigie2 years ago606"string",
607thread_id="string",
608tool_outputs=[{}, {}, {}],
609)
86379b44Stainless Bot2 years ago610
611assert response.is_closed is True
baa9f07fRobert Craigie2 years ago612assert response.http_request.headers.get("X-Stainless-Lang") == "python"
613run = response.parse()
614assert_matches_type(Run, run, path=["response"])
86379b44Stainless Bot2 years ago615
616@parametrize
98d779fbStainless Bot2 years ago617async def test_streaming_response_submit_tool_outputs(self, async_client: AsyncOpenAI) -> None:
618async with async_client.beta.threads.runs.with_streaming_response.submit_tool_outputs(
86379b44Stainless Bot2 years ago619"string",
620thread_id="string",
621tool_outputs=[{}, {}, {}],
622) as response:
623assert not response.is_closed
624assert response.http_request.headers.get("X-Stainless-Lang") == "python"
625
626run = await response.parse()
627assert_matches_type(Run, run, path=["response"])
628
629assert cast(Any, response.is_closed) is True
023a4e66Stainless Bot2 years ago630
631@parametrize
98d779fbStainless Bot2 years ago632async def test_path_params_submit_tool_outputs(self, async_client: AsyncOpenAI) -> None:
023a4e66Stainless Bot2 years ago633with pytest.raises(ValueError, match=r"Expected a non-empty value for `thread_id` but received ''"):
98d779fbStainless Bot2 years ago634await async_client.beta.threads.runs.with_raw_response.submit_tool_outputs(
023a4e66Stainless Bot2 years ago635"string",
636thread_id="",
637tool_outputs=[{}, {}, {}],
638)
639
640with pytest.raises(ValueError, match=r"Expected a non-empty value for `run_id` but received ''"):
98d779fbStainless Bot2 years ago641await async_client.beta.threads.runs.with_raw_response.submit_tool_outputs(
023a4e66Stainless Bot2 years ago642"",
643thread_id="string",
644tool_outputs=[{}, {}, {}],
645)