Add managed LadyPoly WebUI using Deck music API

This commit is contained in:
Mikei386
2026-09-30 22:32:17 +02:00
parent 3aa2301a53
commit cf3e354434
13 changed files with 218 additions and 10 deletions
+30
View File
@@ -0,0 +1,30 @@
"""Synthetic bridge contract; no real API token or GPU job."""
import io,json,tempfile,unittest,wave
from pathlib import Path
from types import SimpleNamespace
from unittest.mock import patch
import server
import deck_bridge as bridge
class BridgeTest(unittest.TestCase):
def test_forward_and_audio_library(self):
with tempfile.TemporaryDirectory() as temp:
root=Path(temp);connection=root/'connection.json';connection.write_text(json.dumps({'model':'Synthetic Music','token':'synthetic'}))
raw=io.BytesIO()
with wave.open(raw,'wb') as wav:wav.setnchannels(2);wav.setsampwidth(2);wav.setframerate(48000);wav.writeframes(b'\0'*192000)
job=SimpleNamespace(id='synthetic',cancel_flag=SimpleNamespace(is_set=lambda:False),push=lambda **k:None)
spec={'style':'synthetic piano','lyrics':'synthetic test','seed':123,'id':'synthetic','cot':'off'}
with patch.object(bridge,'CONNECTION',connection),patch.object(server,'OUTPUTS',root),patch.object(bridge,'request',return_value=raw.getvalue()) as request:
result=server.render_gguf(job,spec)
payload=request.call_args.args[1]
self.assertEqual(payload['model'],'Synthetic Music');self.assertEqual(payload['steps'],6)
self.assertEqual(payload['max_tokens'],9000);self.assertNotIn('abc',payload)
saved=result.save_artifacts(root/'take');self.assertEqual(saved['audio_seconds'],1)
self.assertTrue((root/'take/audio.flac').is_file())
def test_unsupported_score_does_not_start_deck(self):
with patch.object(bridge,'request') as request:
with self.assertRaisesRegex(RuntimeError,'Score'):
server.render_gguf(None,{'abc':'synthetic'})
request.assert_not_called()
if __name__=='__main__':unittest.main()