This commit is contained in:
@@ -27,7 +27,11 @@ class ProviderConfigTests(unittest.TestCase):
|
||||
self.assertNotIn(b'nous-secret',raw); self.assertNotIn(b'fire-secret',raw)
|
||||
mode=stat.S_IMODE(os.stat(os.environ['PROVIDER_CONFIG_KEY_FILE']).st_mode); self.assertEqual(mode,0o600)
|
||||
status,out=self.req('GET','/api/v1/admin/ai-provider-config'); self.assertNotIn('credentials',out); self.assertEqual(out['status'],'ready')
|
||||
def test_patch_ui_contract_accepts_nous_and_internal_searxng_without_firecrawl(self):
|
||||
def test_stepfun_ui_contract_accepts_step_api_key(self):
|
||||
status,out=self.req('PATCH','/api/v1/ai/provider-config',{'provider':'stepfun','model':'step-3.7-flash','nous_base_url':'https://api.stepfun.ai/v1','searxng_base_url':'http://searxng:8080','enabled':True,'credentials':{'step_api_key':'step-only'}})
|
||||
self.assertEqual(status,200); self.assertTrue(out['configured']); self.assertEqual(out['provider'],'stepfun')
|
||||
|
||||
|
||||
status,out=self.req('PATCH','/api/v1/ai/provider-config',{'provider':'nous_portal','model':'Hermes-4-405B','nous_base_url':'https://inference-api.nousresearch.com/v1','searxng_base_url':'http://searxng:8080','enabled':True,'credentials':{'nous_api_key':'nous-only'}})
|
||||
self.assertEqual(status,200); self.assertTrue(out['configured']); self.assertEqual(out['provider'],'nous_portal')
|
||||
|
||||
@@ -38,7 +42,7 @@ class ProviderConfigTests(unittest.TestCase):
|
||||
self.assertEqual(self.req('POST','/api/v1/admin/ai-provider-config',{'provider':'nous_portal','enabled':True,'credentials':{'firecrawl_api_key':'y'}})[0],400)
|
||||
self.req('POST','/api/v1/admin/ai-provider-config',{'provider':'nous_portal','enabled':True,'credentials':{'nous_api_key':'x','firecrawl_api_key':'y'}})
|
||||
with patch('app.provider_config.urlopen') as opened:
|
||||
status,out=self.req('POST','/api/v1/admin/ai-provider-config/test',{}); self.assertEqual(status,200); self.assertFalse(out['outbound_calls']); self.assertEqual(out['network_calls'],2); self.assertEqual(opened.call_count,2)
|
||||
status,out=self.req('POST','/api/v1/admin/ai-provider-config/test',{}); self.assertEqual(status,200); self.assertFalse(out['outbound_calls']); self.assertEqual(out['network_calls'],1); self.assertEqual(opened.call_count,1)
|
||||
for call in opened.call_args_list: self.assertEqual(call.args[0].method,'GET')
|
||||
def test_persists_after_server_restart_and_db_config_beats_env(self):
|
||||
self.req('POST','/api/v1/admin/ai-provider-config',{'provider':'nous_portal','enabled':True,'credentials':{'nous_api_key':'x','firecrawl_api_key':'y'}}); self.server.shutdown(); self.server.server_close(); self.thread.join(2)
|
||||
|
||||
Reference in New Issue
Block a user