Persist library profiles and download history with weight capacity checks
This commit is contained in:
@@ -39,6 +39,19 @@ class Tests(unittest.TestCase):
|
||||
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_profile_and_download_routes(self):
|
||||
from pathlib import Path
|
||||
target=Path(self.state.name)/'models'/('a'*64);target.mkdir(parents=True)
|
||||
(target/'model.gguf').write_bytes(b'GGUFtest')
|
||||
(target/'entry.json').write_text(json.dumps(dict(repo='test/image',file='model.gguf',size=8,kind='image',revision='b'*40)))
|
||||
payload=dict(id=None,revision=0,name='image-test',kind='image',model_id='a'*64,parameters=dict(width=512,height=512,steps=10,seed=-1,guidance=1))
|
||||
req=urllib.request.Request(self.url+'/api/v1/profiles/save',data=json.dumps(payload).encode(),headers={'Cookie':self.cookie,'X-Athena-Deck':'1','Content-Type':'application/json'})
|
||||
with urllib.request.urlopen(req) as r:self.assertEqual(r.status,200)
|
||||
self.assertEqual(self.request('profiles')['profiles'][0]['name'],'image-test')
|
||||
with self.assertRaises(urllib.error.HTTPError) as error:
|
||||
urllib.request.urlopen(urllib.request.Request(self.url+'/api/v1/profiles',headers={'Authorization':'Bearer '+self.api_token}))
|
||||
self.assertEqual(error.exception.code,401);error.exception.close()
|
||||
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user