Separate modality model lists and forward chat reasoning effort

This commit is contained in:
Mikei386
2026-09-29 09:09:59 +02:00
parent 27012165eb
commit baad2b11a5
3 changed files with 32 additions and 6 deletions
+18 -1
View File
@@ -55,6 +55,23 @@ class EndpointTests(unittest.TestCase):
with self.assertRaises(ValueError):self.enable('audio')
self.assertEqual(self.request('/v1/audio/speech',{})[0],501)
self.record['api_token_hash']=hashlib.sha256(b'B'*32).hexdigest();self.assertEqual(self.request()[0],401);self.assertEqual(self.request(token='B'*32)[0],200)
def test_model_lists_separate_modalities(self):
self.rows[-1].update(runnable=True,blockers=[])
self.rows.append(dict(id='stt',name='stt',kind='stt',runnable=True,blockers=[],parameters={},updated_at=1))
for name in ('alpha','image','audio','stt'):self.enable(name)
for route,expected in [('/v1/models','alpha'),('/v1/images/models','image'),('/v1/audio/speech/models','audio'),('/v1/audio/transcriptions/models','stt')]:
self.assertEqual([p['id'] for p in self.request(route)[1]['data']],[expected])
self.assertEqual(self.request(route,token='bad')[0],401)
self.rows[-1]['runnable']=False
self.assertEqual(self.request('/v1/audio/transcriptions/models')[1]['data'],[])
def test_reasoning_effort_forwarded_and_validated(self):
self.enable('alpha')
for effort in ('none','minimal','low','medium','high','xhigh',None):
status,_=self.request('/v1/chat/completions',dict(model='alpha',messages=[dict(role='user',content='synthetic')],reasoning_effort=effort))
self.assertEqual(status,200)
self.assertEqual(self.worker.requests[-1].get('reasoning_effort'),effort)
for effort in ([],True,3,'invalid'):
self.assertEqual(self.request('/v1/chat/completions',dict(model='alpha',messages=[dict(role='user',content='synthetic')],reasoning_effort=effort))[0],400)
def test_stt_endpoint_multipart_and_publication(self):
from test_stt import audio
self.rows.append(dict(id='stt',name='stt',kind='stt',runnable=True,blockers=[],parameters={}))
@@ -78,7 +95,7 @@ class EndpointTests(unittest.TestCase):
self.rows.append(dict(self.rows[2],id='image2',name='image2'))
self.enable('alpha');self.enable('beta');self.enable('image');self.enable('image2')
self.assertEqual(set(self.ep.config['enabled_profiles']),{'alpha','beta','image2'})
self.assertEqual({r['id'] for r in self.request()[1]['data']},{'alpha','beta','image2'})
self.assertEqual({r['id'] for r in self.request()[1]['data']},{'alpha','beta'})
self.ep.enable(dict(id='image2',enabled=False));self.assertEqual(set(self.ep.config['enabled_profiles']),{'alpha','beta'})
def test_invalid_image_selection_keeps_previous(self):
self.rows.append(dict(self.rows[2],id='badimage',name='badimage',runnable=False,blockers=['missing']))