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})