Install native audio separator with model packages WAV tests and restore recipe

This commit is contained in:
Mikei386
2026-10-01 12:00:36 +02:00
parent c3db35dada
commit 66b035c8d7
20 changed files with 368 additions and 23 deletions
+8
View File
@@ -51,6 +51,14 @@ class RestoreTests(unittest.TestCase):
doc=open_backup(self.server.backup.export('backup secure password'),'backup secure password')
self.assertNotIn('PRIVATE-CHAT-LOG',json.dumps(doc));self.assertNotIn('model-weights-not-in-backup',json.dumps(doc));self.assertIn('history',doc);validate(doc)
self.assertEqual(doc['models'][0]['id'],ident);self.assertEqual(len(doc['settings']['profiles.json']),1)
def test_separator_restore_installs_runtime_and_redownloads_package(self):
from separator_runtime import MODELS
doc=self.server.backup.snapshot();name=next(iter(MODELS));doc['runtimes']['separator']={'installed':True,'models':[name]}
runtime=Mock();runtime.job=None;runtime.status.return_value={'installed':False,'job':{'state':'complete'}};runtime.model_ready.return_value=False
self.server.separator_runtime=runtime
summary=self.server.backup.inspect(seal(doc,'backup secure password'),'backup secure password');self.assertFalse(summary['blockers'])
self.server.backup.start(dict(id=summary['id'],services=[],confirm=True,restore_credentials=False));job=self.wait()
self.assertEqual(job['state'],'complete',job);runtime.start.assert_called_once();runtime.download.assert_called_once_with(name)
def test_restore_reuses_verified_models_restores_profiles_and_keeps_login_when_selected(self):
ident=self.model();self.profile(ident);raw=self.server.backup.export('backup secure password');self.server.profiles.rows=[];(self.root/'profiles.json').write_text('[]')
current=self.server.credentials.read();summary=self.server.backup.inspect(raw,'backup secure password');self.assertFalse(summary['blockers'])