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')