Separate stable API profile IDs from display names with legacy aliases

This commit is contained in:
Mikei386 committed 2026-10-03 23:35:30 +02:00
1 parent 0cffcf4295
commit a908313c8f
7 files changed
+88 -11

No files matched your search

+24
View File
@@ -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')