Add owned OpenAI endpoint and coordinated native model switching

This commit is contained in:
Mikei386
2026-09-28 20:24:12 +02:00
parent 8d03a9a979
commit ff5d36252a
25 changed files with 952 additions and 177 deletions
+19 -10
View File
@@ -23,22 +23,19 @@ class Tests(unittest.TestCase):
self.url=f'http://127.0.0.1:{self.server.server_port}'
def tearDown(self):
self.server.shutdown()
self.server.demo.stop()
self.server.endpoint.close()
self.server.server_close()
self.thread.join()
self.state.cleanup()
def request(self,path,method='GET',headers=None):
req=urllib.request.Request(self.url+'/api/v1/'+path,method=method,headers={"Cookie":self.cookie,**(headers or {})})
with urllib.request.urlopen(req) as r:return json.load(r)
def test_lifecycle(self):
self.assertEqual(self.request('status')['demo']['state'],'stopped')
a=self.request('demo/start','POST',{'X-Athena-Deck':'1'})
self.assertTrue(a['reachable'])
self.assertEqual(a['pid'],self.request('demo/start','POST',{'X-Athena-Deck':'1'})['pid'])
child=self.server.demo.process
self.assertEqual(self.request('demo/stop','POST',{'X-Athena-Deck':'1'})['state'],'stopped')
self.assertIsNotNone(child.poll())
self.assertFalse(self.request('demo/stop','POST',{'X-Athena-Deck':'1'})['reachable'])
def test_demo_removed_from_status(self):
state=self.request('status')
self.assertNotIn('demo',state)
self.assertEqual(state['endpoint']['state'],'stopped')
with self.assertRaises(urllib.error.HTTPError) as exc:self.request('demo')
self.assertEqual(exc.exception.code,404);exc.exception.close()
def test_profile_and_download_routes(self):
from pathlib import Path
target=Path(self.state.name)/'models'/('a'*64);target.mkdir(parents=True)
@@ -83,6 +80,18 @@ class Tests(unittest.TestCase):
with urllib.request.urlopen(req) as result:self.assertEqual(result.status,expected)
except urllib.error.HTTPError as error:self.assertEqual(error.code,expected);error.close()
install.assert_called_once()
def test_endpoint_admin_only_configuration(self):
self.assertEqual(self.request('endpoint')['state'],'stopped')
url=self.url+'/api/v1/endpoint/config'
for headers,expected in [({'Authorization':'Bearer '+self.api_token,'X-Athena-Deck':'1'},401),({'Cookie':self.cookie},403)]:
req=urllib.request.Request(url,data=b'{"port":8120}',headers={'Content-Type':'application/json',**headers})
with self.assertRaises(urllib.error.HTTPError) as exc:urllib.request.urlopen(req)
self.assertEqual(exc.exception.code,expected);exc.exception.close()
with patch.object(self.server.endpoint,'configure',return_value={'port':8120}) as configure:
req=urllib.request.Request(url,data=b'{"port":8120}',headers={'Cookie':self.cookie,'X-Athena-Deck':'1','Content-Type':'application/json'})
with urllib.request.urlopen(req) as r:self.assertEqual(json.load(r)['port'],8120)
configure.assert_called_once_with({'port':8120})
def test_control_guard(self):
for headers in ({},{'X-Athena-Deck':'1','Origin':'http://evil.invalid'}):
with self.assertRaises(urllib.error.HTTPError) as e:self.request('demo/start','POST',headers)