Isolate client reasoning normalization in API compatibility adapter
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import unittest
|
||||
from api_compat import normalize_chat,CompatibilityError
|
||||
class CompatibilityTests(unittest.TestCase):
|
||||
def test_levels_and_alias_without_mutation(self):
|
||||
for value in ['none','minimal','low','medium','high','xhigh','max','ultra']:
|
||||
request={'model':'any','reasoning_effort':value};body,info=normalize_chat(request)
|
||||
self.assertEqual(request['reasoning_effort'],value)
|
||||
self.assertEqual(body['reasoning_effort'],'max' if value=='ultra' else value)
|
||||
self.assertEqual(info['requested'],value)
|
||||
def test_unset_and_null_do_not_invent_defaults(self):
|
||||
for request in [{},{'reasoning_effort':None}]:
|
||||
self.assertEqual(normalize_chat(request),({},{}))
|
||||
def test_invalid_inputs(self):
|
||||
for value in [True,1,{},[], '', 'MAX', 'x\r\ny']:
|
||||
with self.assertRaises(CompatibilityError):normalize_chat({'reasoning_effort':value})
|
||||
with self.assertRaises(CompatibilityError):normalize_chat({'unknown':1})
|
||||
Reference in New Issue
Block a user