25 lines
1.7 KiB
Python
25 lines
1.7 KiB
Python
import json,sqlite3,urllib.request
|
|
from pathlib import Path
|
|
root=Path(__file__).resolve().parent.parent
|
|
before=json.loads((root/'integration-work/before-switch-final.json').read_text())
|
|
after=json.loads((root/'integration-work/after-switch.json').read_text())
|
|
assert before==after,'Data changed across restart; inspect the audit'
|
|
with sqlite3.connect(root/'integration-work/backups/upgrade-20261106-172956/huobao-data/huobao.sqlite3') as old,sqlite3.connect(root/'huobao-data/huobao.sqlite3') as current:
|
|
old.row_factory=current.row_factory=sqlite3.Row
|
|
originals=[dict(r) for r in old.execute('SELECT * FROM ai_service_configs')]
|
|
now={r['id']:dict(r) for r in current.execute('SELECT * FROM ai_service_configs')}
|
|
assert all(now[r['id']]==r for r in originals)
|
|
assert len(now)==len(originals)+18
|
|
variants=[r for r in now.values() if json.loads(r['settings'] or '{}').get('gpu_variant_source')]
|
|
assert len(variants)==18
|
|
for sid in (4,6,7,8,9,10):
|
|
assert {json.loads(r['settings'])['gpu'] for r in variants if json.loads(r['settings']).get('gpu_variant_source')==sid}=={'gpu1','gpu2','gpu3'}
|
|
summary={'passed':True,'original_configs_unchanged':len(originals),'fixed_gpu_configs':len(variants),
|
|
'projects':after['tables']['dramas']['count'],'styles':after['tables']['style_presets']['count'],'media_files_preserved':len(after['media'])}
|
|
base=json.loads((root/'huobao-data/last-launch.json').read_text())['api']
|
|
with urllib.request.urlopen(base+'/ai-configs',timeout=10) as response:configs=json.load(response)['data']
|
|
assert len(configs)==28
|
|
summary['live_api_configs']=len(configs)
|
|
(root/'integration-work/gpu-release-verification.json').write_text(json.dumps(summary,indent=2))
|
|
print(json.dumps(summary))
|