1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
from __future__ import annotations
import os
from typing import Any, cast
import pytest
from openai import OpenAI, AsyncOpenAI
from tests.utils import assert_matches_type
from openai.types.beta.realtime import TranscriptionSession
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
class TestTranscriptionSessions:
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
@parametrize
def test_method_create(self, client: OpenAI) -> None:
transcription_session = client.beta.realtime.transcription_sessions.create()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
def test_method_create_with_all_params(self, client: OpenAI) -> None:
transcription_session = client.beta.realtime.transcription_sessions.create(
client_secret={
"expires_at": {
"anchor": "created_at",
"seconds": 0,
}
},
include=["string"],
input_audio_format="pcm16",
input_audio_noise_reduction={"type": "near_field"},
input_audio_transcription={
"language": "language",
"model": "gpt-4o-transcribe",
"prompt": "prompt",
},
modalities=["text"],
turn_detection={
"create_response": True,
"eagerness": "low",
"interrupt_response": True,
"prefix_padding_ms": 0,
"silence_duration_ms": 0,
"threshold": 0,
"type": "server_vad",
},
)
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
def test_raw_response_create(self, client: OpenAI) -> None:
response = client.beta.realtime.transcription_sessions.with_raw_response.create()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
transcription_session = response.parse()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
def test_streaming_response_create(self, client: OpenAI) -> None:
with client.beta.realtime.transcription_sessions.with_streaming_response.create() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
transcription_session = response.parse()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
assert cast(Any, response.is_closed) is True
class TestAsyncTranscriptionSessions:
parametrize = pytest.mark.parametrize(
"async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
)
@parametrize
async def test_method_create(self, async_client: AsyncOpenAI) -> None:
transcription_session = await async_client.beta.realtime.transcription_sessions.create()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
async def test_method_create_with_all_params(self, async_client: AsyncOpenAI) -> None:
transcription_session = await async_client.beta.realtime.transcription_sessions.create(
client_secret={
"expires_at": {
"anchor": "created_at",
"seconds": 0,
}
},
include=["string"],
input_audio_format="pcm16",
input_audio_noise_reduction={"type": "near_field"},
input_audio_transcription={
"language": "language",
"model": "gpt-4o-transcribe",
"prompt": "prompt",
},
modalities=["text"],
turn_detection={
"create_response": True,
"eagerness": "low",
"interrupt_response": True,
"prefix_padding_ms": 0,
"silence_duration_ms": 0,
"threshold": 0,
"type": "server_vad",
},
)
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
async def test_raw_response_create(self, async_client: AsyncOpenAI) -> None:
response = await async_client.beta.realtime.transcription_sessions.with_raw_response.create()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
transcription_session = response.parse()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
@parametrize
async def test_streaming_response_create(self, async_client: AsyncOpenAI) -> None:
async with async_client.beta.realtime.transcription_sessions.with_streaming_response.create() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
transcription_session = await response.parse()
assert_matches_type(TranscriptionSession, transcription_session, path=["response"])
assert cast(Any, response.is_closed) is True
|