同步香港 LiteLLM 镜像与多提供商路由
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
from render_config import build_hk_config
|
||||
|
||||
|
||||
class RoutingTests(unittest.TestCase):
|
||||
def test_all_providers(self):
|
||||
catalog = yaml.safe_load(Path(__file__).with_name('models.yaml').read_text())
|
||||
env = {key: 'synthetic' for key in ['ZENMUX_SUBSCRIPTION_API_KEY',
|
||||
'ZENMUX_PAYG_API_KEY', 'OPENROUTER_API_KEY', 'GOOGLE_AI_STUDIO_API_KEY',
|
||||
'VERTEXAI_PROJECT']}
|
||||
env['VERTEXAI_ENABLED'] = 'true'
|
||||
result = build_hk_config(catalog, env)
|
||||
routes = {r['model_name']: r['litellm_params'] for r in result['model_list']}
|
||||
self.assertEqual(len(routes), len(result['model_list']))
|
||||
self.assertNotIn('gemini-transcribe-personal', routes)
|
||||
self.assertNotIn('grok-latest', routes)
|
||||
self.assertNotIn('gpt-sol-latest', routes)
|
||||
self.assertEqual(routes['gemini-transcribe']['model'], 'gemini/gemini-3.5-transcribe')
|
||||
self.assertEqual(routes['gemini-3.6-flash']['model'], 'vertex_ai/gemini-3.8-flash')
|
||||
self.assertEqual(len(result['router_settings']['fallbacks']), 6)
|
||||
self.assertEqual(result['general_settings'], {'master_key': 'os.environ/LITELLM_MASTER_KEY'})
|
||||
self.assertNotIn('synthetic', yaml.safe_dump(result))
|
||||
|
||||
def test_missing_credentials(self):
|
||||
catalog = yaml.safe_load(Path(__file__).with_name('models.yaml').read_text())
|
||||
result = build_hk_config(catalog, {})
|
||||
self.assertEqual(result['model_list'], [])
|
||||
self.assertEqual(result['router_settings']['fallbacks'], [])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user