feat: add responses api, websocket support, and fast mode
This commit is contained in:
49
tests/test_fast_mode.py
Normal file
49
tests/test_fast_mode.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from chatmock.fast_mode import parse_optional_bool, resolve_service_tier, supports_priority_service_tier
|
||||
|
||||
|
||||
class FastModeTests(unittest.TestCase):
|
||||
def test_parse_optional_bool(self) -> None:
|
||||
self.assertTrue(parse_optional_bool(True))
|
||||
self.assertTrue(parse_optional_bool("true"))
|
||||
self.assertFalse(parse_optional_bool(False))
|
||||
self.assertFalse(parse_optional_bool("off"))
|
||||
self.assertIsNone(parse_optional_bool("maybe"))
|
||||
|
||||
def test_priority_allowlist_uses_normalized_model_ids(self) -> None:
|
||||
self.assertTrue(supports_priority_service_tier("gpt5.4"))
|
||||
self.assertFalse(supports_priority_service_tier("gpt-5.3-codex"))
|
||||
|
||||
def test_explicit_fast_mode_true_errors_for_unsupported_model(self) -> None:
|
||||
resolution = resolve_service_tier(
|
||||
"gpt-5.3-codex",
|
||||
request_fast_mode=True,
|
||||
server_fast_mode=False,
|
||||
)
|
||||
self.assertIsNone(resolution.service_tier)
|
||||
self.assertIsNotNone(resolution.error_message)
|
||||
|
||||
def test_server_default_fast_mode_falls_back_on_unsupported_model(self) -> None:
|
||||
resolution = resolve_service_tier(
|
||||
"gpt-5.3-codex",
|
||||
server_fast_mode=True,
|
||||
)
|
||||
self.assertIsNone(resolution.service_tier)
|
||||
self.assertIsNone(resolution.error_message)
|
||||
self.assertIsNotNone(resolution.warning_message)
|
||||
|
||||
def test_request_fast_mode_false_overrides_server_default(self) -> None:
|
||||
resolution = resolve_service_tier(
|
||||
"gpt-5.4",
|
||||
request_fast_mode=False,
|
||||
server_fast_mode=True,
|
||||
)
|
||||
self.assertIsNone(resolution.service_tier)
|
||||
self.assertIsNone(resolution.error_message)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user