Separate stable API profile IDs from display names with legacy aliases
This commit is contained in:
1 parent
0cffcf4295
commit
a908313c8f
7 files changed
+88
-11
No files matched your search
@@ -0,0 +1,24 @@
|
||||
import unittest,json
|
||||
from test_profile_presets import PresetTests
|
||||
from profiles import api_slug,Profiles
|
||||
|
||||
class IdentityTests(PresetTests):
|
||||
def test_stable_id_and_legacy_alias_after_rename(self):
|
||||
r=self.row
|
||||
self.assertEqual(r['api_id'],'image-test')
|
||||
r=self.p.save(dict(id=r['id'],revision=r['revision'],name='Anderer Name',kind='image',model_id='model',parameters=r['parameters']))
|
||||
self.assertEqual(r['api_id'],'image-test');self.assertIn('Image Test',r['api_aliases'])
|
||||
self.assertEqual(Profiles(self.path,self.p.catalog).rows[0]['api_id'],'image-test')
|
||||
def test_collision_and_invalid_id_rejected(self):
|
||||
data=dict(id=None,revision=0,name='Andere',kind='image',model_id='model',parameters=self.row['parameters'])
|
||||
for key in ['image-test','not valid']:
|
||||
with self.assertRaises(ValueError):self.p.save(dict(data,api_id=key))
|
||||
def test_legacy_migration_collision_is_persistent(self):
|
||||
rows=[dict(self.row,id='a',name='A B'),dict(self.row,id='b',name='A-B')]
|
||||
for r in rows:r.pop('api_id');r.pop('api_aliases')
|
||||
self.path.write_text(json.dumps(rows));p=Profiles(self.path,self.p.catalog)
|
||||
self.assertEqual(len({r['api_id'] for r in p.rows}),2)
|
||||
self.assertEqual(p.rows,Profiles(self.path,self.p.catalog).rows)
|
||||
def test_slug(self):
|
||||
self.assertEqual(api_slug('Qwen3.8 27B - Medium'),'qwen3-8-27b-medium')
|
||||
self.assertEqual(api_slug('Größe'),'grosse')
|
||||
Reference in new issue
Block a user